[*] Binary protection state of actionengined

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


[*] Function sprintf tear down of actionengined

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0xd820 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000d820 ()                  | void fcn_0000d820 () {
    0x0000d820 lui gp, 3                     |     
    0x0000d824 addiu gp, gp, 0x6920          |     
    0x0000d828 addu gp, gp, t9               |     gp += t9;
    0x0000d82c lw v0, -0x7b1c(gp)            |     v0 = *((gp - 7879));
    0x0000d830 addiu sp, sp, -0x480          |     
    0x0000d834 lw t9, -0x7cd4(gp)            |     t9 = sym.imp.g_dir_open;
    0x0000d838 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0000d83c lw v1, 0x490(sp)              |     v1 = *(arg_490h);
    0x0000d840 lw v0, (v0)                   |     v0 = *(v0);
    0x0000d844 sw s7, 0x474(sp)              |     *(var_474h) = s7;
    0x0000d848 sw s0, 0x458(sp)              |     *(var_458h) = s0;
    0x0000d84c addiu s7, sp, 0x44            |     s7 = sp + 0x44;
    0x0000d850 move s0, a2                   |     s0 = a2;
    0x0000d854 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0000d858 sw a0, 0x28(sp)               |     *(var_28h) = a0;
    0x0000d85c sw a1, 0x38(sp)               |     *(var_38h) = a1;
    0x0000d860 sw ra, 0x47c(sp)              |     *(var_47ch) = ra;
    0x0000d864 sw fp, 0x478(sp)              |     *(var_478h) = fp;
    0x0000d868 sw s6, 0x470(sp)              |     *(var_470h) = s6;
    0x0000d86c sw s5, 0x46c(sp)              |     *(var_46ch) = s5;
    0x0000d870 sw s4, 0x468(sp)              |     *(var_468h) = s4;
    0x0000d874 sw s3, 0x464(sp)              |     *(var_464h) = s3;
    0x0000d878 sw s2, 0x460(sp)              |     *(var_460h) = s2;
    0x0000d87c sw s1, 0x45c(sp)              |     *(var_45ch) = s1;
    0x0000d880 move a2, s7                   |     a2 = s7;
    0x0000d884 move a1, zero                 |     a1 = 0;
    0x0000d888 move a0, s0                   |     a0 = s0;
    0x0000d88c sw a3, 0x48c(sp)              |     *(arg_48ch) = a3;
    0x0000d890 sw v1, 0x3c(sp)               |     *(var_3ch) = v1;
    0x0000d894 sw v0, 0x454(sp)              |     *(var_454h) = v0;
    0x0000d898 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x0000d89c jalr t9                       |     t9 ();
    0x0000d8a0 nop                           |     
    0x0000d8a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0000d8a8 beqz v0, 0xdba4               |         goto label_3;
                                             |     }
    0x0000d8ac move s4, v0                   |     s4 = v0;
    0x0000d8b0 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000d8b4 lw s5, -0x7fd8(gp)            |     s5 = *(gp);
    0x0000d8b8 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x0000d8bc lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000d8c0 lw s1, -0x7fd0(gp)            |     s1 = *((gp - 8180));
                                             |     /* str.action_template.c:409___s__Inserting_action_template:__s */
    0x0000d8c4 addiu v0, v0, 0x6558          |     v0 += 0x6558;
    0x0000d8c8 lw s6, -0x7fd8(gp)            |     s6 = *(gp);
                                             |     /* str._s__s */
    0x0000d8cc addiu s5, s5, 0x64d0          |     s5 += 0x64d0;
                                             |     /* esilref: 'xml' */
    0x0000d8d0 addiu s1, s1, -0x6560         |     s1 += -0x6560;
    0x0000d8d4 sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
                                             | label_0:
    0x0000d8d8 lw t9, -0x78e0(gp)            |     t9 = sym.imp.g_dir_read_name;
    0x0000d8dc move a0, s4                   |     a0 = s4;
    0x0000d8e0 jalr t9                       |     t9 ();
    0x0000d8e4 move s2, v0                   |     s2 = v0;
    0x0000d8e8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0000d8ec beqz v0, 0xdad8               |         goto label_4;
                                             |     }
                                             |     do {
    0x0000d8f0 lw t9, -0x7c78(gp)            |         t9 = sym.imp.g_sprintf
    0x0000d8f4 addiu s3, sp, 0x54            |         s3 = sp + 0x54;
    0x0000d8f8 move a3, s2                   |         a3 = s2;
    0x0000d8fc move a2, s0                   |         a2 = s0;
    0x0000d900 move a1, s5                   |         a1 = s5;
    0x0000d904 move a0, s3                   |         a0 = s3;
    0x0000d908 jalr t9                       |         t9 ();
    0x0000d90c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d910 move a1, s1                   |         a1 = s1;
    0x0000d914 lw t9, -0x7c64(gp)            |         t9 = sym.imp.g_str_has_suffix;
    0x0000d918 move a0, s2                   |         a0 = s2;
    0x0000d91c jalr t9                       |         t9 ();
    0x0000d920 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0000d924 beqz v0, 0xdb30               |             goto label_5;
                                             |         }
    0x0000d928 lw t9, -0x7cd8(gp)            |         t9 = sym.imp.g_file_test;
    0x0000d92c addiu a1, zero, 1             |         a1 = 1;
    0x0000d930 move a0, s3                   |         a0 = s3;
    0x0000d934 jalr t9                       |         t9 ();
    0x0000d938 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0000d93c beqz v0, 0xdb30               |             goto label_5;
                                             |         }
    0x0000d940 lw t9, -0x7ac0(gp)            |         t9 = sym.imp.strlen;
    0x0000d944 move a0, s2                   |         a0 = s2;
    0x0000d948 jalr t9                       |         t9 ();
    0x0000d94c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d950 move a0, s2                   |         a0 = s2;
    0x0000d954 lw t9, -0x79f0(gp)            |         t9 = sym.imp.g_strndup;
    0x0000d958 addiu a1, v0, -4              |         a1 = v0 + -4;
    0x0000d95c jalr t9                       |         t9 ();
    0x0000d960 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d964 lw a0, 0x48c(sp)              |         a0 = *(arg_48ch);
    0x0000d968 lw t9, -0x7e98(gp)            |         t9 = sym.action_template_new;
    0x0000d96c move s3, v0                   |         s3 = v0;
    0x0000d970 bal 0xd670                    |         sym_action_template_new ();
    0x0000d974 lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x0000d978 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d97c move s2, v0                   |         s2 = v0;
    0x0000d980 sw zero, 0x48(sp)             |         *(var_48h) = 0;
    0x0000d984 sw zero, 0x4c(sp)             |         *(var_4ch) = 0;
                                             |         if (a0 != 0) {
    0x0000d988 beqz a0, 0xd99c               |             
    0x0000d98c lw t9, -0x7864(gp)            |             t9 = *((gp - 7705));
    0x0000d990 jalr t9                       |             t9 ();
    0x0000d994 nop                           |             
    0x0000d998 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0000d99c lw t9, -0x792c(gp)            |         t9 = sym.imp.g_strdup;
    0x0000d9a0 move a0, s3                   |         a0 = s3;
    0x0000d9a4 jalr t9                       |         t9 ();
    0x0000d9a8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000d9ac addiu v1, sp, 0x48            |         v1 = sp + 0x48;
    0x0000d9b0 sw v0, 0x10(s2)               |         *((s2 + 4)) = v0;
    0x0000d9b4 lw t9, -0x7e9c(gp)            |         t9 = sym.create_file_path;
    0x0000d9b8 move a3, zero                 |         a3 = 0;
    0x0000d9bc sw s7, 0x14(sp)               |         *(var_14h) = s7;
    0x0000d9c0 sw v1, 0x10(sp)               |         *(var_50h) = v1;
    0x0000d9c4 move a2, s1                   |         a2 = s1;
    0x0000d9c8 move a1, s0                   |         a1 = s0;
    0x0000d9cc move a0, v0                   |         a0 = v0;
    0x0000d9d0 bal 0x11b54                   |         sym_create_file_path ();
    0x0000d9d4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x0000d9d8 beqz v0, 0xda28               |             
    0x0000d9dc lw t9, -0x7c04(gp)            |             t9 = sym.imp.g_file_get_contents;
    0x0000d9e0 lw a0, 0x48(sp)               |             a0 = *(var_48h);
    0x0000d9e4 move a3, s7                   |             a3 = s7;
    0x0000d9e8 addiu a2, sp, 0x50            |             a2 = sp + 0x50;
    0x0000d9ec addiu a1, sp, 0x4c            |             a1 = sp + 0x4c;
    0x0000d9f0 jalr t9                       |             t9 ();
    0x0000d9f4 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x0000d9f8 beqz v0, 0xda28               |                 goto label_6;
                                             |             }
    0x0000d9fc lw v0, 0x38(sp)               |             v0 = *(var_38h);
    0x0000da00 lw t9, -0x7e90(gp)            |             t9 = sym.action_template_deserialize_from_data;
    0x0000da04 lw a3, 0x50(sp)               |             a3 = *(var_50h_2);
    0x0000da08 lw a2, 0x4c(sp)               |             a2 = *(var_4ch);
    0x0000da0c sw s7, 0x14(sp)               |             *(var_14h) = s7;
    0x0000da10 sw v0, 0x10(sp)               |             *(var_50h) = v0;
    0x0000da14 move a1, s0                   |             a1 = s0;
    0x0000da18 move a0, s2                   |             a0 = s2;
    0x0000da1c bal 0xd36c                    |             sym_action_template_deserialize_from_data ();
    0x0000da20 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 != 0) {
    0x0000da24 bnez v0, 0xdb58               |                 goto label_7;
                                             |             }
                                             |         }
                                             | label_6:
    0x0000da28 move fp, zero                 |         fp = 0;
                                             | label_1:
    0x0000da2c lw a0, 0x48(sp)               |         a0 = *(var_48h);
    0x0000da30 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
                                             |         if (a0 != 0) {
    0x0000da34 beqz a0, 0xda44               |             
    0x0000da38 jalr t9                       |             t9 ();
    0x0000da3c nop                           |             
    0x0000da40 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0000da44 lw v0, 0x44(sp)               |         v0 = *(var_44h);
    0x0000da48 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
                                             |         if (v0 != 0) {
    0x0000da4c beqz v0, 0xda74               |             
    0x0000da50 lw v0, 8(v0)                  |             v0 = *((v0 + 2));
    0x0000da54 lw t9, -0x7cbc(gp)            |             t9 = sym.imp.g_log;
    0x0000da58 sw v0, 0x10(sp)               |             *(var_50h) = v0;
    0x0000da5c addiu a3, s6, 0x6dd0          |             a3 = s6 + 0x6dd0;
                                             |             /* str._s_s */
    0x0000da60 addiu a2, a2, 0x5594          |             a2 += 0x5594;
    0x0000da64 addiu a1, zero, 0x10          |             a1 = 0x10;
    0x0000da68 move a0, zero                 |             a0 = 0;
    0x0000da6c jalr t9                       |             t9 ();
    0x0000da70 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x0000da74 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
    0x0000da78 lw a0, 0x4c(sp)               |         a0 = *(var_4ch);
    0x0000da7c jalr t9                       |         t9 ();
    0x0000da80 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (fp == 0) {
    0x0000da84 beqz fp, 0xdb78               |             goto label_8;
                                             |         }
    0x0000da88 lw v0, 0x2c(sp)               |         v0 = *(var_2ch_2);
    0x0000da8c lw a0, 0x30(sp)               |         a0 = *(var_30h_2);
    0x0000da90 addiu a1, v0, 0x65a0          |         a1 = v0 + 0x65a0;
    0x0000da94 lw v0, -0x7fb8(gp)            |         v0 = *(gp);
    0x0000da98 lw t9, (v0)                   |         t9 = *(v0);
    0x0000da9c move a2, s3                   |         a2 = s3;
    0x0000daa0 jalr t9                       |         t9 ();
    0x0000daa4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000daa8 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x0000daac move a2, s2                   |         a2 = s2;
    0x0000dab0 lw t9, -0x795c(gp)            |         t9 = sym.imp.g_hash_table_insert;
    0x0000dab4 move a1, s3                   |         a1 = s3;
    0x0000dab8 jalr t9                       |         t9 ();
    0x0000dabc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000dac0 lw t9, -0x78e0(gp)            |         t9 = sym.imp.g_dir_read_name;
    0x0000dac4 move a0, s4                   |         a0 = s4;
    0x0000dac8 jalr t9                       |         t9 ();
    0x0000dacc move s2, v0                   |         s2 = v0;
    0x0000dad0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000dad4 bnez v0, 0xd8f0               |         
                                             |     } while (v0 != 0);
                                             | label_4:
    0x0000dad8 addiu s0, zero, 1             |     s0 = 1;
                                             |     do {
    0x0000dadc lw t9, -0x78b8(gp)            |         t9 = sym.imp.g_dir_close;
    0x0000dae0 move a0, s4                   |         a0 = s4;
    0x0000dae4 jalr t9                       |         t9 ();
    0x0000dae8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_2:
    0x0000daec lw v0, 0x34(sp)               |         v0 = *(var_34h);
    0x0000daf0 lw a0, 0x454(sp)              |         a0 = *(var_454h);
    0x0000daf4 lw v1, (v0)                   |         v1 = *(v0);
    0x0000daf8 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0000dafc bne a0, v1, 0xdc08            |             goto label_9;
                                             |         }
    0x0000db00 lw ra, 0x47c(sp)              |         ra = *(var_47ch);
    0x0000db04 lw fp, 0x478(sp)              |         fp = *(var_478h);
    0x0000db08 lw s7, 0x474(sp)              |         s7 = *(var_474h);
    0x0000db0c lw s6, 0x470(sp)              |         s6 = *(var_470h);
    0x0000db10 lw s5, 0x46c(sp)              |         s5 = *(var_46ch);
    0x0000db14 lw s4, 0x468(sp)              |         s4 = *(var_468h);
    0x0000db18 lw s3, 0x464(sp)              |         s3 = *(var_464h);
    0x0000db1c lw s2, 0x460(sp)              |         s2 = *(var_460h);
    0x0000db20 lw s1, 0x45c(sp)              |         s1 = *(var_45ch);
    0x0000db24 lw s0, 0x458(sp)              |         s0 = *(var_458h);
    0x0000db28 addiu sp, sp, 0x480           |         
    0x0000db2c jr ra                         |         return v1;
                                             | label_5:
    0x0000db30 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000db34 lw t9, -0x7cbc(gp)            |         t9 = sym.imp.g_log;
    0x0000db38 sw s2, 0x10(sp)               |         *(var_50h) = s2;
    0x0000db3c addiu a3, s6, 0x6dd0          |         a3 = s6 + 0x6dd0;
                                             |         /* str._sNot_a_template_file:__s */
    0x0000db40 addiu a2, a2, 0x64d8          |         a2 += 0x64d8;
    0x0000db44 addiu a1, zero, 0x10          |         a1 = 0x10;
    0x0000db48 move a0, zero                 |         a0 = 0;
    0x0000db4c jalr t9                       |         t9 ();
    0x0000db50 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000db54 b 0xd8d8                      |         goto label_0;
                                             | label_7:
    0x0000db58 lw t9, -0x791c(gp)            |         t9 = sym.imp.g_strcmp0;
    0x0000db5c lw a1, 0x10(s2)               |         a1 = *((s2 + 4));
    0x0000db60 move a0, s3                   |         a0 = s3;
    0x0000db64 jalr t9                       |         t9 ();
    0x0000db68 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x0000db6c bnez v0, 0xdbc0               |             goto label_10;
                                             |         }
    0x0000db70 addiu fp, zero, 1             |         fp = 1;
    0x0000db74 b 0xda2c                      |         goto label_1;
                                             | label_8:
    0x0000db78 lw t9, -0x7ab0(gp)            |         t9 = sym.imp.g_propagate_error;
    0x0000db7c lw a1, 0x44(sp)               |         a1 = *(var_44h);
    0x0000db80 lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x0000db84 move s0, zero                 |         s0 = 0;
    0x0000db88 jalr t9                       |         t9 ();
    0x0000db8c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000db90 lw t9, -0x7918(gp)            |         t9 = *((gp - 7750));
    0x0000db94 move a0, s2                   |         a0 = s2;
    0x0000db98 jalr t9                       |         t9 ();
    0x0000db9c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000dba0 b 0xdadc                      |         
                                             |     } while (1);
                                             | label_3:
    0x0000dba4 lw t9, -0x7ab0(gp)            |     t9 = sym.imp.g_propagate_error;
    0x0000dba8 lw a1, 0x44(sp)               |     a1 = *(var_44h);
    0x0000dbac lw a0, 0x3c(sp)               |     a0 = *(var_3ch);
    0x0000dbb0 move s0, zero                 |     s0 = 0;
    0x0000dbb4 jalr t9                       |     t9 ();
    0x0000dbb8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000dbbc b 0xdaec                      |     goto label_2;
                                             | label_10:
    0x0000dbc0 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0000dbc4 move fp, zero                 |     fp = 0;
    0x0000dbc8 jalr t9                       |     t9 ();
    0x0000dbcc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000dbd0 lw v1, 0x10(s2)               |     v1 = *((s2 + 4));
    0x0000dbd4 sw s3, 0x14(sp)               |     *(var_14h) = s3;
    0x0000dbd8 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
    0x0000dbdc sw v1, 0x18(sp)               |     *(var_18h_2) = v1;
    0x0000dbe0 lw v1, 0x48(sp)               |     v1 = *(var_48h);
    0x0000dbe4 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x0000dbe8 sw v1, 0x10(sp)               |     *(var_50h) = v1;
                                             |     /* str._s:_template_id_missmatch__filename_id__s_does_not_match_the_id__s_specified_with__id__element */
    0x0000dbec addiu a3, a3, 0x64f4          |     a3 += 0x64f4;
    0x0000dbf0 addiu a2, zero, 4             |     a2 = 4;
    0x0000dbf4 move a1, v0                   |     a1 = v0;
    0x0000dbf8 move a0, s7                   |     a0 = s7;
    0x0000dbfc jalr t9                       |     t9 ();
    0x0000dc00 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000dc04 b 0xda2c                      |     goto label_1;
                                             | label_9:
    0x0000dc08 lw t9, -0x7ba8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000dc0c jalr t9                       |     t9 ();
    0x0000dc10 nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x1152c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.action_configuration_load_all ()     | void action_configuration_load_all () {
    0x0001152c lui gp, 3                             |     
    0x00011530 addiu gp, gp, 0x2c14                  |     
    0x00011534 addu gp, gp, t9                       |     gp += t9;
    0x00011538 lw v0, -0x7b1c(gp)                    |     v0 = *((gp - 7879));
    0x0001153c addiu sp, sp, -0x470                  |     
    0x00011540 lw t9, -0x7cd4(gp)                    |     t9 = sym.imp.g_dir_open;
    0x00011544 sw v0, 0x30(sp)                       |     *(var_30h) = v0;
    0x00011548 lw v0, (v0)                           |     v0 = *(v0);
    0x0001154c addiu v1, sp, 0x40                    |     v1 = sp + 0x40;
    0x00011550 sw s2, 0x450(sp)                      |     *(var_450h) = s2;
    0x00011554 move s2, a2                           |     s2 = a2;
    0x00011558 sw gp, 0x18(sp)                       |     *(var_18h_2) = gp;
    0x0001155c sw s7, 0x464(sp)                      |     *(var_464h) = s7;
    0x00011560 sw s0, 0x448(sp)                      |     *(var_448h) = s0;
    0x00011564 sw a0, 0x2c(sp)                       |     *(var_2ch_2) = a0;
    0x00011568 sw ra, 0x46c(sp)                      |     *(var_46ch) = ra;
    0x0001156c sw fp, 0x468(sp)                      |     *(var_468h) = fp;
    0x00011570 sw s6, 0x460(sp)                      |     *(var_460h) = s6;
    0x00011574 sw s5, 0x45c(sp)                      |     *(var_45ch) = s5;
    0x00011578 sw s4, 0x458(sp)                      |     *(var_458h) = s4;
    0x0001157c sw s3, 0x454(sp)                      |     *(var_454h) = s3;
    0x00011580 sw s1, 0x44c(sp)                      |     *(var_44ch) = s1;
    0x00011584 sw v1, 0x28(sp)                       |     *(var_28h_2) = v1;
    0x00011588 move s7, a1                           |     s7 = a1;
    0x0001158c move a2, v1                           |     a2 = v1;
    0x00011590 move a1, zero                         |     a1 = 0;
    0x00011594 move a0, s2                           |     a0 = s2;
    0x00011598 sw v0, 0x444(sp)                      |     *(var_444h) = v0;
    0x0001159c sw zero, 0x40(sp)                     |     *(var_40h_2) = 0;
    0x000115a0 move s0, a3                           |     s0 = a3;
    0x000115a4 jalr t9                               |     t9 ();
    0x000115a8 lw gp, 0x18(sp)                       |     gp = *(var_18h_2);
                                                     |     if (v0 == 0) {
    0x000115ac beqz v0, 0x11820                      |         goto label_2;
                                                     |     }
    0x000115b0 lw t9, -0x7a80(gp)                    |     t9 = sym.imp.g_hash_table_new_full;
    0x000115b4 lw a3, -0x7918(gp)                    |     a3 = *((gp - 7750));
    0x000115b8 lw a2, -0x7864(gp)                    |     a2 = *((gp - 7705));
    0x000115bc lw a1, -0x7cc4(gp)                    |     a1 = *((gp - 7985));
    0x000115c0 lw a0, -0x78cc(gp)                    |     a0 = *((gp - 7731));
    0x000115c4 move s3, v0                           |     s3 = v0;
    0x000115c8 jalr t9                               |     t9 ();
    0x000115cc lw gp, 0x18(sp)                       |     gp = *(var_18h_2);
    0x000115d0 sw v0, (s7)                           |     *(s7) = v0;
    0x000115d4 move s6, zero                         |     s6 = 0;
    0x000115d8 lw v0, -0x7fd8(gp)                    |     v0 = *(gp);
    0x000115dc lw s5, -0x7fd8(gp)                    |     s5 = *(gp);
    0x000115e0 sw v0, 0x3c(sp)                       |     *(var_3ch_3) = v0;
    0x000115e4 lw v0, -0x7fd0(gp)                    |     v0 = *((gp - 8180));
    0x000115e8 lw s4, -0x7fd8(gp)                    |     s4 = *(gp);
                                                     |     /* esilref: '&d' */
    0x000115ec addiu v0, v0, -0x60b0                 |     v0 += -0x60b0;
    0x000115f0 sw v0, 0x34(sp)                       |     *(var_34h_3) = v0;
    0x000115f4 lw v0, -0x7fd8(gp)                    |     v0 = *(gp);
                                                     |     /* str._s__s */
    0x000115f8 addiu s5, s5, 0x64d0                  |     s5 += 0x64d0;
                                                     |     /* str.conf */
    0x000115fc addiu s4, s4, 0x6ec4                  |     s4 += 0x6ec4;
    0x00011600 sw v0, 0x38(sp)                       |     *(var_38h_3) = v0;
                                                     | label_0:
    0x00011604 lw t9, -0x78e0(gp)                    |     t9 = sym.imp.g_dir_read_name;
    0x00011608 move a0, s3                           |     a0 = s3;
    0x0001160c jalr t9                               |     t9 ();
    0x00011610 move s0, v0                           |     s0 = v0;
    0x00011614 lw gp, 0x18(sp)                       |     gp = *(var_18h_2);
                                                     |     if (v0 == 0) {
    0x00011618 beqz v0, 0x11700                      |         goto label_3;
                                                     |     }
                                                     |     do {
    0x0001161c lw t9, -0x7c78(gp)                    |         t9 = sym.imp.g_sprintf
    0x00011620 addiu s1, sp, 0x44                    |         s1 = sp + 0x44;
    0x00011624 move a3, s0                           |         a3 = s0;
    0x00011628 move a2, s2                           |         a2 = s2;
    0x0001162c move a1, s5                           |         a1 = s5;
    0x00011630 move a0, s1                           |         a0 = s1;
    0x00011634 jalr t9                               |         t9 ();
    0x00011638 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x0001163c move a1, s4                           |         a1 = s4;
    0x00011640 lw t9, -0x7c64(gp)                    |         t9 = sym.imp.g_str_has_suffix;
    0x00011644 move a0, s0                           |         a0 = s0;
    0x00011648 jalr t9                               |         t9 ();
    0x0001164c lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
                                                     |         if (v0 == 0) {
    0x00011650 beqz v0, 0x11760                      |             goto label_4;
                                                     |         }
    0x00011654 lw t9, -0x7cd8(gp)                    |         t9 = sym.imp.g_file_test;
    0x00011658 addiu a1, zero, 1                     |         a1 = 1;
    0x0001165c move a0, s1                           |         a0 = s1;
    0x00011660 jalr t9                               |         t9 ();
    0x00011664 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
                                                     |         if (v0 == 0) {
    0x00011668 beqz v0, 0x11760                      |             goto label_4;
                                                     |         }
    0x0001166c lw t9, -0x7e3c(gp)                    |         t9 = sym.action_configuration_deserialize;
    0x00011670 lw a3, 0x28(sp)                       |         a3 = *(var_28h_2);
    0x00011674 lw a2, 0x2c(sp)                       |         a2 = *(var_2ch_2);
    0x00011678 move a1, s0                           |         a1 = s0;
    0x0001167c move a0, s2                           |         a0 = s2;
    0x00011680 bal 0x1136c                           |         sym_action_configuration_deserialize ();
    0x00011684 move fp, v0                           |         fp = v0;
    0x00011688 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
                                                     |         if (v0 == 0) {
    0x0001168c beqz v0, 0x117bc                      |             goto label_5;
                                                     |         }
    0x00011690 lw t0, 0x10(v0)                       |         t0 = *((v0 + 4));
    0x00011694 lw t9, -0x7ae8(gp)                    |         t9 = sym.imp.g_ascii_strtoull;
    0x00011698 move a0, s0                           |         a0 = s0;
    0x0001169c sw t0, 0x24(sp)                       |         *(var_24h_3) = t0;
    0x000116a0 addiu a2, zero, 0xa                   |         a2 = 0xa;
    0x000116a4 move a1, zero                         |         a1 = 0;
    0x000116a8 jalr t9                               |         t9 ();
    0x000116ac move s0, v0                           |         s0 = v0;
    0x000116b0 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x000116b4 lw t0, 0x24(sp)                       |         t0 = *(var_24h_3);
                                                     |         if (v0 != 0) {
    0x000116b8 bnez v0, 0x11784                      |             goto label_6;
                                                     |         }
    0x000116bc lw t9, -0x792c(gp)                    |         t9 = sym.imp.g_strdup;
                                                     |         if (t0 == 0) {
    0x000116c0 beqz t0, 0x117fc                      |             goto label_7;
                                                     |         }
    0x000116c4 move a0, t0                           |         a0 = t0;
    0x000116c8 jalr t9                               |         t9 ();
    0x000116cc lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x000116d0 lw a0, (s7)                           |         a0 = *(s7);
    0x000116d4 move a2, fp                           |         a2 = fp;
    0x000116d8 lw t9, -0x795c(gp)                    |         t9 = sym.imp.g_hash_table_insert;
    0x000116dc move a1, v0                           |         a1 = v0;
    0x000116e0 jalr t9                               |         t9 ();
    0x000116e4 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x000116e8 lw t9, -0x78e0(gp)                    |         t9 = sym.imp.g_dir_read_name;
    0x000116ec move a0, s3                           |         a0 = s3;
    0x000116f0 jalr t9                               |         t9 ();
    0x000116f4 move s0, v0                           |         s0 = v0;
    0x000116f8 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x000116fc bnez v0, 0x1161c                      |         
                                                     |     } while (v0 != 0);
                                                     | label_3:
    0x00011700 lw v0, -0x7fc0(gp)                    |     v0 = *((gp - 8176));
    0x00011704 lw t9, -0x78b8(gp)                    |     t9 = sym.imp.g_dir_close;
    0x00011708 addiu s6, s6, 1                       |     s6++;
    0x0001170c sw s6, -0x3f00(v0)                    |     *((v0 - 4032)) = s6;
    0x00011710 move a0, s3                           |     a0 = s3;
    0x00011714 jalr t9                               |     t9 ();
    0x00011718 lw gp, 0x18(sp)                       |     gp = *(var_18h_2);
    0x0001171c addiu v0, zero, 1                     |     v0 = 1;
                                                     |     do {
                                                     | label_1:
    0x00011720 lw v1, 0x30(sp)                       |         v1 = *(var_30h);
    0x00011724 lw a0, 0x444(sp)                      |         a0 = *(var_444h);
    0x00011728 lw v1, (v1)                           |         v1 = *(v1);
    0x0001172c lw ra, 0x46c(sp)                      |         ra = *(var_46ch);
                                                     |         if (a0 != v1) {
    0x00011730 bne a0, v1, 0x11860                   |             goto label_8;
                                                     |         }
    0x00011734 lw fp, 0x468(sp)                      |         fp = *(var_468h);
    0x00011738 lw s7, 0x464(sp)                      |         s7 = *(var_464h);
    0x0001173c lw s6, 0x460(sp)                      |         s6 = *(var_460h);
    0x00011740 lw s5, 0x45c(sp)                      |         s5 = *(var_45ch);
    0x00011744 lw s4, 0x458(sp)                      |         s4 = *(var_458h);
    0x00011748 lw s3, 0x454(sp)                      |         s3 = *(var_454h);
    0x0001174c lw s2, 0x450(sp)                      |         s2 = *(var_450h);
    0x00011750 lw s1, 0x44c(sp)                      |         s1 = *(var_44ch);
    0x00011754 lw s0, 0x448(sp)                      |         s0 = *(var_448h);
    0x00011758 addiu sp, sp, 0x470                   |         
    0x0001175c jr ra                                 |         return v0;
                                                     | label_4:
    0x00011760 lw a2, -0x7fd8(gp)                    |         a2 = *(gp);
    0x00011764 lw t9, -0x7cbc(gp)                    |         t9 = sym.imp.g_log;
    0x00011768 move a3, s0                           |         a3 = s0;
                                                     |         /* str.Not_an_action_configuration_file:__s */
    0x0001176c addiu a2, a2, 0x6f1c                  |         a2 += 0x6f1c;
    0x00011770 addiu a1, zero, 0x10                  |         a1 = 0x10;
    0x00011774 move a0, zero                         |         a0 = 0;
    0x00011778 jalr t9                               |         t9 ();
    0x0001177c lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x00011780 b 0x11604                             |         goto label_0;
                                                     | label_6:
    0x00011784 lw t9, -0x7a38(gp)                    |         t9 = sym.imp.g_strdup_printf;
    0x00011788 lw a0, 0x34(sp)                       |         a0 = *(var_34h_3);
    0x0001178c move a1, v0                           |         a1 = v0;
    0x00011790 jalr t9                               |         t9 ();
    0x00011794 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x00011798 lw a0, (s7)                           |         a0 = *(s7);
    0x0001179c move a2, fp                           |         a2 = fp;
    0x000117a0 lw t9, -0x795c(gp)                    |         t9 = sym.imp.g_hash_table_insert;
    0x000117a4 move a1, v0                           |         a1 = v0;
    0x000117a8 jalr t9                               |         t9 ();
    0x000117ac sltu v0, s6, s0                       |         v0 = (s6 < s0) ? 1 : 0;
    0x000117b0 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
                                                     |         if (v0 == 0) {
    0x000117b4 movn s6, s0, v0                       |             s6 = s0;
                                                     |         }
    0x000117b8 b 0x11604                             |         goto label_0;
                                                     | label_5:
    0x000117bc lw v0, 0x40(sp)                       |         v0 = *(var_40h_2);
    0x000117c0 lw v1, 0x38(sp)                       |         v1 = *(var_38h_3);
    0x000117c4 lw t9, -0x7cbc(gp)                    |         t9 = sym.imp.g_log;
    0x000117c8 lw v0, 8(v0)                          |         v0 = *((v0 + 2));
    0x000117cc move a3, s1                           |         a3 = s1;
    0x000117d0 addiu a2, v1, 0x6f44                  |         a2 = v1 + 0x6f44;
    0x000117d4 addiu a1, zero, 0x10                  |         a1 = 0x10;
    0x000117d8 move a0, zero                         |         a0 = 0;
    0x000117dc sw v0, 0x10(sp)                       |         *(var_10h_2) = v0;
    0x000117e0 jalr t9                               |         t9 ();
    0x000117e4 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x000117e8 lw t9, -0x7930(gp)                    |         t9 = sym.imp.g_clear_error;
    0x000117ec lw a0, 0x28(sp)                       |         a0 = *(var_28h_2);
    0x000117f0 jalr t9                               |         t9 ();
    0x000117f4 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x000117f8 b 0x11604                             |         goto label_0;
                                                     | label_7:
    0x000117fc lw v0, 0x3c(sp)                       |         v0 = *(var_3ch_3);
    0x00011800 lw t9, -0x7cbc(gp)                    |         t9 = sym.imp.g_log;
    0x00011804 move a3, s1                           |         a3 = s1;
    0x00011808 addiu a2, v0, 0x6f5c                  |         a2 = v0 + 0x6f5c;
    0x0001180c addiu a1, zero, 0x10                  |         a1 = 0x10;
    0x00011810 move a0, zero                         |         a0 = 0;
    0x00011814 jalr t9                               |         t9 ();
    0x00011818 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x0001181c b 0x11604                             |         goto label_0;
                                                     | label_2:
    0x00011820 lw t9, -0x7ab0(gp)                    |         t9 = sym.imp.g_propagate_error;
    0x00011824 lw a1, 0x40(sp)                       |         a1 = *(var_40h_2);
    0x00011828 move a0, s0                           |         a0 = s0;
    0x0001182c jalr t9                               |         t9 ();
    0x00011830 lw a0, (s7)                           |         a0 = *(s7);
    0x00011834 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
                                                     |         if (a0 == 0) {
    0x00011838 beqz a0, 0x11858                      |             goto label_9;
                                                     |         }
    0x0001183c lw t9, -0x7c48(gp)                    |         t9 = sym.imp.g_hash_table_unref;
    0x00011840 jalr t9                               |         t9 ();
    0x00011844 nop                                   |         
    0x00011848 lw gp, 0x18(sp)                       |         gp = *(var_18h_2);
    0x0001184c move v0, zero                         |         v0 = 0;
    0x00011850 sw zero, (s7)                         |         *(s7) = 0;
    0x00011854 b 0x11720                             |         
                                                     |     } while (1);
                                                     | label_9:
    0x00011858 move v0, zero                         |     v0 = 0;
    0x0001185c b 0x11720                             |     goto label_1;
                                                     | label_8:
    0x00011860 lw t9, -0x7ba8(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x00011864 jalr t9                               |     t9 ();
    0x00011868 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x199f0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.action_rule_load_all ()      | void action_rule_load_all () {
    0x000199f0 lui gp, 3                     |     
    0x000199f4 addiu gp, gp, -0x58b0         |     
    0x000199f8 addu gp, gp, t9               |     gp += t9;
    0x000199fc lw v0, -0x7b1c(gp)            |     v0 = *((gp - 7879));
    0x00019a00 addiu sp, sp, -0x8b8          |     
    0x00019a04 lw t9, -0x7cd4(gp)            |     t9 = sym.imp.g_dir_open;
    0x00019a08 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00019a0c lw v0, (v0)                   |     v0 = *(v0);
    0x00019a10 addiu v1, sp, 0x70            |     v1 = sp + 0x70;
    0x00019a14 sw s5, 0x8a4(sp)              |     *(var_8a4h) = s5;
    0x00019a18 move s5, a2                   |     s5 = a2;
    0x00019a1c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00019a20 sw s0, 0x890(sp)              |     *(var_890h) = s0;
    0x00019a24 sw a0, 0x3c(sp)               |     *(var_3ch) = a0;
    0x00019a28 sw a1, 0x30(sp)               |     *(var_30h) = a1;
    0x00019a2c sw ra, 0x8b4(sp)              |     *(var_8b4h) = ra;
    0x00019a30 sw fp, 0x8b0(sp)              |     *(var_8b0h) = fp;
    0x00019a34 sw s7, 0x8ac(sp)              |     *(var_8ach) = s7;
    0x00019a38 sw s6, 0x8a8(sp)              |     *(var_8a8h) = s6;
    0x00019a3c sw s4, 0x8a0(sp)              |     *(var_8a0h) = s4;
    0x00019a40 sw s3, 0x89c(sp)              |     *(var_89ch) = s3;
    0x00019a44 sw s2, 0x898(sp)              |     *(var_898h) = s2;
    0x00019a48 sw s1, 0x894(sp)              |     *(var_894h) = s1;
    0x00019a4c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00019a50 move a2, v1                   |     a2 = v1;
    0x00019a54 move a1, zero                 |     a1 = 0;
    0x00019a58 move a0, s5                   |     a0 = s5;
    0x00019a5c sw a3, 0x34(sp)               |     *(var_34h) = a3;
    0x00019a60 sw v0, 0x88c(sp)              |     *(var_88ch) = v0;
    0x00019a64 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x00019a68 lw s0, 0x8c8(sp)              |     s0 = *(arg_8c8h);
    0x00019a6c jalr t9                       |     t9 ();
    0x00019a70 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00019a74 beqz v0, 0x1a288              |         goto label_11;
                                             |     }
    0x00019a78 lw t9, -0x7a80(gp)            |     t9 = sym.imp.g_hash_table_new_full;
    0x00019a7c lw a3, -0x7918(gp)            |     a3 = *((gp - 7750));
    0x00019a80 lw a2, -0x7864(gp)            |     a2 = *((gp - 7705));
    0x00019a84 lw a1, -0x7cc4(gp)            |     a1 = *((gp - 7985));
    0x00019a88 lw a0, -0x78cc(gp)            |     a0 = *((gp - 7731));
    0x00019a8c sw zero, 0x2c(sp)             |     *(var_2ch_2) = 0;
    0x00019a90 move s7, v0                   |     s7 = v0;
    0x00019a94 jalr t9                       |     t9 ();
    0x00019a98 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019a9c lw v1, 0x30(sp)               |     v1 = *(var_30h);
    0x00019aa0 lw fp, -0x7fd8(gp)            |     fp = *(gp);
    0x00019aa4 sw v0, (v1)                   |     *(v1) = v0;
    0x00019aa8 lw v0, -0x7eb0(gp)            |     v0 = *(gp);
                                             |     /* fcn.00015b38 */
    0x00019aac addiu v0, v0, 0x5b38          |     v0 += 0x5b38;
    0x00019ab0 sw v0, 0x48(sp)               |     *(var_48h_2) = v0;
    0x00019ab4 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
                                             |     /* str.Failed_to_deserialize_file:__s */
    0x00019ab8 addiu v0, v0, -0x61d0         |     v0 += -0x61d0;
    0x00019abc sw v0, 0x4c(sp)               |     *(var_4ch_2) = v0;
    0x00019ac0 lw v0, -0x7eb0(gp)            |     v0 = *(gp);
                                             |     /* fcn.00015eec */
    0x00019ac4 addiu v0, v0, 0x5eec          |     v0 += 0x5eec;
    0x00019ac8 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
                                             |     do {
                                             | label_0:
    0x00019acc lw t9, -0x78e0(gp)            |         t9 = sym.imp.g_dir_read_name;
    0x00019ad0 move a0, s7                   |         a0 = s7;
    0x00019ad4 jalr t9                       |         t9 ();
    0x00019ad8 move s0, v0                   |         s0 = v0;
    0x00019adc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00019ae0 beqz v0, 0x19ca0              |             goto label_12;
                                             |         }
                                             | label_1:
    0x00019ae4 lw t9, -0x7c78(gp)            |         t9 = sym.imp.g_sprintf
    0x00019ae8 addiu s4, sp, 0x8c            |         s4 = sp + 0x8c;
    0x00019aec move a3, s0                   |         a3 = s0;
    0x00019af0 move a2, s5                   |         a2 = s5;
                                             |         /* str._s__s */
    0x00019af4 addiu a1, fp, 0x64d0          |         a1 = fp + 0x64d0;
    0x00019af8 move a0, s4                   |         a0 = s4;
    0x00019afc jalr t9                       |         t9 ();
    0x00019b00 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00019b04 move a0, s0                   |         a0 = s0;
    0x00019b08 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
    0x00019b0c lw t9, -0x7c64(gp)            |         t9 = sym.imp.g_str_has_suffix;
                                             |         /* str.conf */
    0x00019b10 addiu a1, a1, 0x6ec4          |         a1 += 0x6ec4;
    0x00019b14 jalr t9                       |         t9 ();
    0x00019b18 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00019b1c beqz v0, 0x19acc              |         
                                             |     } while (v0 == 0);
    0x00019b20 lw t9, -0x7cd8(gp)            |     t9 = sym.imp.g_file_test;
    0x00019b24 addiu a1, zero, 1             |     a1 = 1;
    0x00019b28 move a0, s4                   |     a0 = s4;
    0x00019b2c jalr t9                       |     t9 ();
    0x00019b30 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00019b34 beqz v0, 0x19acc              |         goto label_0;
                                             |     }
    0x00019b38 lw t9, -0x7de8(gp)            |     t9 = sym.action_rule_get_type;
    0x00019b3c bal 0x16610                   |     sym_action_rule_get_type ();
    0x00019b40 nop                           |     
    0x00019b44 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019b48 move a1, zero                 |     a1 = 0;
    0x00019b4c lw t9, -0x7a0c(gp)            |     t9 = sym.imp.g_object_new;
    0x00019b50 move a0, v0                   |     a0 = v0;
    0x00019b54 jalr t9                       |     t9 ();
    0x00019b58 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019b5c move s6, v0                   |     s6 = v0;
    0x00019b60 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00019b64 lw t9, -0x7924(gp)            |     t9 = sym.imp.g_key_file_new;
    0x00019b68 sw v0, 0x44(s6)               |     *((s6 + 17)) = v0;
    0x00019b6c sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x00019b70 jalr t9                       |     t9 ();
    0x00019b74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019b78 move a2, s0                   |     a2 = s0;
    0x00019b7c move a1, s5                   |     a1 = s5;
    0x00019b80 lw t9, -0x7a38(gp)            |     t9 = sym.imp.g_strdup_printf;
                                             |     /* str._s__s */
    0x00019b84 addiu a0, fp, 0x64d0          |     a0 = fp + 0x64d0;
    0x00019b88 sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
    0x00019b8c sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00019b90 jalr t9                       |     t9 ();
    0x00019b94 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019b98 lw a3, 0x24(sp)               |     a3 = *(var_24h);
    0x00019b9c addiu a2, sp, 0x7c            |     a2 = sp + 0x7c;
    0x00019ba0 lw t9, -0x7c04(gp)            |     t9 = sym.imp.g_file_get_contents;
    0x00019ba4 addiu a1, sp, 0x78            |     a1 = sp + 0x78;
    0x00019ba8 move a0, v0                   |     a0 = v0;
    0x00019bac move s3, v0                   |     s3 = v0;
    0x00019bb0 jalr t9                       |     t9 ();
    0x00019bb4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00019bb8 beqz v0, 0x19bec              |         
    0x00019bbc lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00019bc0 lw v0, 0x3c(sp)               |         v0 = *(var_3ch);
    0x00019bc4 lw t9, -0x7dc4(gp)            |         t9 = sym.action_rule_deserialize_from_data;
    0x00019bc8 lw a3, 0x7c(sp)               |         a3 = *(var_7ch);
    0x00019bcc lw a2, 0x78(sp)               |         a2 = *(var_78h);
    0x00019bd0 sw s0, 0x14(sp)               |         *(var_14h_2) = s0;
    0x00019bd4 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00019bd8 move a1, s5                   |         a1 = s5;
    0x00019bdc move a0, s6                   |         a0 = s6;
    0x00019be0 bal 0x19194                   |         sym_action_rule_deserialize_from_data ();
    0x00019be4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x00019be8 bnez v0, 0x19d5c              |             goto label_13;
                                             |         }
                                             |     }
                                             | label_2:
    0x00019bec move s0, zero                 |     s0 = 0;
                                             | label_5:
    0x00019bf0 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
                                             |     if (s3 != 0) {
    0x00019bf4 beqz s3, 0x19c04              |         
    0x00019bf8 move a0, s3                   |         a0 = s3;
    0x00019bfc jalr t9                       |         t9 ();
    0x00019c00 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00019c04 lw a0, 0x28(sp)               |     a0 = *(var_28h_2);
    0x00019c08 lw t9, -0x7c4c(gp)            |     t9 = sym.imp.g_key_file_free;
                                             |     if (a0 != 0) {
    0x00019c0c beqz a0, 0x19c1c              |         
    0x00019c10 jalr t9                       |         t9 ();
    0x00019c14 nop                           |         
    0x00019c18 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00019c1c lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x00019c20 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00019c24 jalr t9                       |     t9 ();
    0x00019c28 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s0 == 0) {
    0x00019c2c beqz s0, 0x19d04              |         goto label_14;
                                             |     }
    0x00019c30 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00019c34 lw t9, -0x792c(gp)            |     t9 = sym.imp.g_strdup;
    0x00019c38 lw a0, 0x10(s6)               |     a0 = *((s6 + 4));
    0x00019c3c lw s0, (v0)                   |     s0 = *(v0);
    0x00019c40 jalr t9                       |     t9 ();
    0x00019c44 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019c48 move a0, s0                   |     a0 = s0;
    0x00019c4c move a2, s6                   |     a2 = s6;
    0x00019c50 lw t9, -0x795c(gp)            |     t9 = sym.imp.g_hash_table_insert;
    0x00019c54 move a1, v0                   |     a1 = v0;
    0x00019c58 jalr t9                       |     t9 ();
    0x00019c5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019c60 lw a0, 0x10(s6)               |     a0 = *((s6 + 4));
    0x00019c64 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x00019c68 lw t9, -0x78d0(gp)            |     t9 = sym.imp.g_ascii_strtoll;
    0x00019c6c move a1, zero                 |     a1 = 0;
    0x00019c70 jalr t9                       |     t9 ();
    0x00019c74 lw a0, 0x2c(sp)               |     a0 = *(var_2ch_2);
    0x00019c78 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019c7c sltu v1, a0, v0               |     v1 = (a0 < v0) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x00019c80 movn a0, v0, v1               |         a0 = v0;
                                             |     }
    0x00019c84 lw t9, -0x78e0(gp)            |     t9 = sym.imp.g_dir_read_name;
    0x00019c88 sw a0, 0x2c(sp)               |     *(var_2ch_2) = a0;
    0x00019c8c move a0, s7                   |     a0 = s7;
    0x00019c90 jalr t9                       |     t9 ();
    0x00019c94 move s0, v0                   |     s0 = v0;
    0x00019c98 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00019c9c bnez v0, 0x19ae4              |         goto label_1;
                                             |     }
                                             | label_12:
    0x00019ca0 lw v1, -0x7fc0(gp)            |     v1 = *((gp - 8176));
    0x00019ca4 lw v0, 0x2c(sp)               |     v0 = *(var_2ch_2);
    0x00019ca8 lw t9, -0x78b8(gp)            |     t9 = sym.imp.g_dir_close;
    0x00019cac addiu v0, v0, 1               |     v0++;
    0x00019cb0 sw v0, -0x3ee0(v1)            |     *((v1 - 4024)) = v0;
    0x00019cb4 move a0, s7                   |     a0 = s7;
    0x00019cb8 jalr t9                       |     t9 ();
    0x00019cbc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019cc0 addiu v0, zero, 1             |     v0 = 1;
                                             | label_6:
    0x00019cc4 lw v1, 0x38(sp)               |     v1 = *(var_38h);
    0x00019cc8 lw a0, 0x88c(sp)              |     a0 = *(var_88ch);
    0x00019ccc lw v1, (v1)                   |     v1 = *(v1);
    0x00019cd0 lw ra, 0x8b4(sp)              |     ra = *(var_8b4h);
                                             |     if (a0 != v1) {
    0x00019cd4 bne a0, v1, 0x1a534           |         goto label_15;
                                             |     }
    0x00019cd8 lw fp, 0x8b0(sp)              |     fp = *(var_8b0h);
    0x00019cdc lw s7, 0x8ac(sp)              |     s7 = *(var_8ach);
    0x00019ce0 lw s6, 0x8a8(sp)              |     s6 = *(var_8a8h);
    0x00019ce4 lw s5, 0x8a4(sp)              |     s5 = *(var_8a4h);
    0x00019ce8 lw s4, 0x8a0(sp)              |     s4 = *(var_8a0h);
    0x00019cec lw s3, 0x89c(sp)              |     s3 = *(var_89ch);
    0x00019cf0 lw s2, 0x898(sp)              |     s2 = *(var_898h);
    0x00019cf4 lw s1, 0x894(sp)              |     s1 = *(var_894h);
    0x00019cf8 lw s0, 0x890(sp)              |     s0 = *(var_890h);
    0x00019cfc addiu sp, sp, 0x8b8           |     
    0x00019d00 jr ra                         |     return v0;
                                             | label_14:
    0x00019d04 lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x00019d08 lw a3, -0x7fd8(gp)            |     a3 = *(gp);
    0x00019d0c lw a2, -0x7fd0(gp)            |     a2 = *((gp - 8180));
    0x00019d10 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00019d14 lw t9, -0x7cbc(gp)            |     t9 = sym.imp.g_log;
    0x00019d18 addiu a3, a3, 0x6dd0          |     a3 += 0x6dd0;
                                             |     /* str._sError_parsing__s:___s_. */
    0x00019d1c addiu a2, a2, -0x6170         |     a2 += -0x6170;
    0x00019d20 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00019d24 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x00019d28 move a0, zero                 |     a0 = 0;
    0x00019d2c sw s4, 0x10(sp)               |     *(var_10h_2) = s4;
    0x00019d30 jalr t9                       |     t9 ();
    0x00019d34 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019d38 lw t9, -0x7930(gp)            |     t9 = sym.imp.g_clear_error;
    0x00019d3c lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x00019d40 jalr t9                       |     t9 ();
    0x00019d44 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019d48 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
    0x00019d4c move a0, s6                   |     a0 = s6;
    0x00019d50 jalr t9                       |     t9 ();
    0x00019d54 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019d58 b 0x19acc                     |     goto label_0;
                                             | label_13:
    0x00019d5c lw t9, -0x7cf4(gp)            |     t9 = sym.imp.g_key_file_load_from_data;
    0x00019d60 lw a2, 0x7c(sp)               |     a2 = *(var_7ch);
    0x00019d64 lw a1, 0x78(sp)               |     a1 = *(var_78h);
    0x00019d68 lw a0, 0x28(sp)               |     a0 = *(var_28h_2);
    0x00019d6c sw s0, 0x10(sp)               |     *(var_10h_2) = s0;
    0x00019d70 move a3, zero                 |     a3 = 0;
    0x00019d74 jalr t9                       |     t9 ();
    0x00019d78 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00019d7c beqz v0, 0x19bec              |         goto label_2;
                                             |     }
    0x00019d80 lw a0, 0x3c(s6)               |     a0 = *((s6 + 15));
    0x00019d84 lw t9, -0x7a84(gp)            |     t9 = sym.imp.subscribe_expression_free;
                                             |     if (a0 != 0) {
    0x00019d88 beqz a0, 0x19d9c              |         
    0x00019d8c jalr t9                       |         t9 ();
    0x00019d90 nop                           |         
    0x00019d94 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00019d98 sw zero, 0x3c(s6)             |         *((s6 + 15)) = 0;
                                             |     }
    0x00019d9c lw s0, -0x7fd0(gp)            |     s0 = *((gp - 8180));
    0x00019da0 lw a2, -0x7fd0(gp)            |     a2 = *((gp - 8180));
    0x00019da4 lw t9, -0x7898(gp)            |     t9 = sym.imp.g_key_file_has_key;
    0x00019da8 lw a0, 0x28(sp)               |     a0 = *(var_28h_2);
    0x00019dac move a3, zero                 |     a3 = 0;
                                             |     /* str.event */
    0x00019db0 addiu a2, a2, -0x6580         |     a2 += -0x6580;
                                             |     /* str.action_rule */
    0x00019db4 addiu a1, s0, -0x65bc         |     a1 = s0 + -0x65bc;
    0x00019db8 jalr t9                       |     t9 ();
    0x00019dbc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00019dc0 bnez v0, 0x1a090              |         goto label_16;
                                             |     }
                                             | label_4:
    0x00019dc4 lw t9, 0x48(sp)               |     t9 = *(var_48h_2);
    0x00019dc8 lw s1, -0x7fd0(gp)            |     s1 = *((gp - 8180));
    0x00019dcc move a0, s6                   |     a0 = s6;
    0x00019dd0 jalr t9                       |     t9 ();
    0x00019dd4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019dd8 lw s2, 0x28(sp)               |     s2 = *(var_28h_2);
    0x00019ddc move a3, zero                 |     a3 = 0;
    0x00019de0 lw t9, -0x7898(gp)            |     t9 = sym.imp.g_key_file_has_key;
                                             |     /* str.properties */
    0x00019de4 addiu a2, s1, -0x6578         |     a2 = s1 + -0x6578;
                                             |     /* str.action_rule */
    0x00019de8 addiu a1, s0, -0x65bc         |     a1 = s0 + -0x65bc;
    0x00019dec move a0, s2                   |     a0 = s2;
    0x00019df0 jalr t9                       |     t9 ();
    0x00019df4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00019df8 beqz v0, 0x1a2e8              |         goto label_17;
                                             |     }
    0x00019dfc lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x00019e00 lw t9, -0x78a8(gp)            |     t9 = sym.imp.g_key_file_get_string_list;
                                             |     /* str.action_rule */
    0x00019e04 addiu a1, s0, -0x65bc         |     a1 = s0 + -0x65bc;
    0x00019e08 move a0, s2                   |     a0 = s2;
    0x00019e0c sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00019e10 addiu a3, sp, 0x80            |     a3 = sp + 0x80;
                                             |     /* str.properties */
    0x00019e14 addiu a2, s1, -0x6578         |     a2 = s1 + -0x6578;
    0x00019e18 jalr t9                       |     t9 ();
    0x00019e1c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00019e20 move v1, v0                   |     v1 = v0;
    0x00019e24 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00019e28 lw a0, (v0)                   |     a0 = *(v0);
    0x00019e2c lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00019e30 move a1, zero                 |     a1 = 0;
    0x00019e34 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x00019e38 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00019e3c sw s3, 0x60(sp)               |     *(var_60h) = s3;
    0x00019e40 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x00019e44 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00019e48 sw s5, 0x64(sp)               |     *(var_64h) = s5;
    0x00019e4c sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x00019e50 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x00019e54 sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
                                             |     /* str.Failed_to_open_file_for_reading:__s */
    0x00019e58 addiu v0, v0, -0x620c         |     v0 += -0x620c;
    0x00019e5c sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00019e60 move s3, v1                   |     s3 = v1;
    0x00019e64 move s5, a1                   |     s5 = a1;
    0x00019e68 sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x00019e6c b 0x19f18                     |     
                                             |     while (v0 != 0) {
    0x00019e70 lw v1, 0x88(sp)               |         v1 = *(var_88h);
    0x00019e74 addiu v0, sp, 0x890           |         v0 = sp + 0x890;
    0x00019e78 addu v0, v0, v1               |         v0 += v1;
    0x00019e7c lw t9, -0x79a0(gp)            |         t9 = sym.imp.property_state_deserialize_xml;
    0x00019e80 move a0, s7                   |         a0 = s7;
    0x00019e84 sb zero, -0x404(v0)           |         *(v0) = 0;
    0x00019e88 jalr t9                       |         t9 ();
    0x00019e8c move s4, v0                   |         s4 = v0;
    0x00019e90 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00019e94 addiu s7, zero, 1             |         s7 = 1;
                                             |         if (v0 == 0) {
    0x00019e98 beqz v0, 0x1a42c              |             goto label_18;
                                             |         }
                                             | label_3:
    0x00019e9c lw a0, 0x84(sp)               |         a0 = *(var_84h);
    0x00019ea0 lw t9, -0x7c58(gp)            |         t9 = sym.imp.g_error_free;
                                             |         if (a0 != 0) {
    0x00019ea4 beqz a0, 0x19eb4              |             
    0x00019ea8 jalr t9                       |             t9 ();
    0x00019eac nop                           |             
    0x00019eb0 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00019eb4 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
                                             |         if (s1 != 0) {
    0x00019eb8 beqz s1, 0x19ec8              |             
    0x00019ebc move a0, s1                   |             a0 = s1;
    0x00019ec0 jalr t9                       |             t9 ();
    0x00019ec4 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00019ec8 lw t9, -0x7918(gp)            |         t9 = *((gp - 7750));
                                             |         if (s2 != 0) {
    0x00019ecc beqz s2, 0x19edc              |             
    0x00019ed0 move a0, s2                   |             a0 = s2;
    0x00019ed4 jalr t9                       |             t9 ();
    0x00019ed8 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00019edc lw t9, -0x7918(gp)            |         t9 = *((gp - 7750));
                                             |         if (s0 != 0) {
    0x00019ee0 beqz s0, 0x19ef0              |             
    0x00019ee4 move a0, s0                   |             a0 = s0;
    0x00019ee8 jalr t9                       |             t9 ();
    0x00019eec lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00019ef0 lw t9, -0x7b58(gp)            |         t9 = sym.imp.g_list_append;
                                             |         if (s7 == 0) {
    0x00019ef4 beqz s7, 0x1a39c              |             goto label_19;
                                             |         }
    0x00019ef8 addiu s3, s3, 4               |         s3 += 4;
    0x00019efc move a0, s5                   |         a0 = s5;
    0x00019f00 move a1, s4                   |         a1 = s4;
    0x00019f04 jalr t9                       |         t9 ();
    0x00019f08 lw a0, (s3)                   |         a0 = *(s3);
    0x00019f0c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00019f10 move s5, v0                   |         s5 = v0;
                                             |         if (a0 == 0) {
    0x00019f14 beqz a0, 0x1a374              |             goto label_20;
                                             |         }
    0x00019f18 lw t9, -0x78d0(gp)            |         t9 = sym.imp.g_ascii_strtoll;
    0x00019f1c addiu a2, zero, 0xa           |         a2 = 0xa;
    0x00019f20 move a1, zero                 |         a1 = 0;
    0x00019f24 jalr t9                       |         t9 ();
    0x00019f28 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00019f2c move a3, v0                   |         a3 = v0;
    0x00019f30 move s2, v0                   |         s2 = v0;
    0x00019f34 lw v0, 0x44(sp)               |         v0 = *(var_44h_2);
    0x00019f38 lw a2, 0x10(s6)               |         a2 = *((s6 + 4));
    0x00019f3c lw a1, 0xc(s6)                |         a1 = *((s6 + 3));
    0x00019f40 lw t9, -0x7a38(gp)            |         t9 = sym.imp.g_strdup_printf;
    0x00019f44 addiu a0, v0, -0x644c         |         a0 = v0 + -0x644c;
    0x00019f48 sw zero, 0x84(sp)             |         *(var_84h) = 0;
    0x00019f4c jalr t9                       |         t9 ();
    0x00019f50 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00019f54 move a0, v0                   |         a0 = v0;
    0x00019f58 lw t9, -0x7c68(gp)            |         t9 = sym.imp.g_file_new_for_path;
    0x00019f5c move s1, v0                   |         s1 = v0;
    0x00019f60 jalr t9                       |         t9 ();
    0x00019f64 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00019f68 move a1, zero                 |         a1 = 0;
    0x00019f6c move a0, v0                   |         a0 = v0;
    0x00019f70 lw t9, -0x7b34(gp)            |         t9 = sym.imp.g_file_query_exists;
    0x00019f74 move s0, v0                   |         s0 = v0;
    0x00019f78 jalr t9                       |         t9 ();
    0x00019f7c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00019f80 bnez v0, 0x19fe4              |             
    0x00019f84 lw t9, -0x7918(gp)            |             t9 = *((gp - 7750));
    0x00019f88 move a0, s0                   |             a0 = s0;
    0x00019f8c jalr t9                       |             t9 ();
    0x00019f90 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00019f94 lw t9, -0x7864(gp)            |             t9 = *((gp - 7705));
    0x00019f98 move a0, s1                   |             a0 = s1;
    0x00019f9c jalr t9                       |             t9 ();
    0x00019fa0 lw t9, 0x40(sp)               |             t9 = *(var_40h_2);
    0x00019fa4 move a1, s2                   |             a1 = s2;
    0x00019fa8 move a0, s6                   |             a0 = s6;
    0x00019fac jalr t9                       |             t9 ();
    0x00019fb0 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00019fb4 move a0, v0                   |             a0 = v0;
    0x00019fb8 lw t9, -0x7c68(gp)            |             t9 = sym.imp.g_file_new_for_path;
    0x00019fbc move s1, v0                   |             s1 = v0;
    0x00019fc0 jalr t9                       |             t9 ();
    0x00019fc4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00019fc8 move a1, zero                 |             a1 = 0;
    0x00019fcc move a0, v0                   |             a0 = v0;
    0x00019fd0 lw t9, -0x7b34(gp)            |             t9 = sym.imp.g_file_query_exists;
    0x00019fd4 move s0, v0                   |             s0 = v0;
    0x00019fd8 jalr t9                       |             t9 ();
    0x00019fdc lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == 0) {
    0x00019fe0 beqz v0, 0x1a32c              |                 goto label_21;
                                             |             }
                                             |         }
    0x00019fe4 lw t9, -0x787c(gp)            |         t9 = sym.imp.g_file_read;
    0x00019fe8 addiu s4, sp, 0x84            |         s4 = sp + 0x84;
    0x00019fec move a2, s4                   |         a2 = s4;
    0x00019ff0 move a1, zero                 |         a1 = 0;
    0x00019ff4 move a0, s0                   |         a0 = s0;
    0x00019ff8 jalr t9                       |         t9 ();
    0x00019ffc move s2, v0                   |         s2 = v0;
    0x0001a000 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0001a004 beqz v0, 0x1a2c8              |             goto label_22;
                                             |         }
    0x0001a008 lw t9, -0x7904(gp)            |         t9 = sym.imp.g_input_stream_get_type;
    0x0001a00c addiu s7, sp, 0x48c           |         s7 = sp + aav.0x0000048c;
    0x0001a010 jalr t9                       |         t9 ();
    0x0001a014 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a018 move a1, v0                   |         a1 = v0;
    0x0001a01c lw t9, -0x7ba0(gp)            |         t9 = sym.imp.g_type_check_instance_cast;
    0x0001a020 move a0, s2                   |         a0 = s2;
    0x0001a024 jalr t9                       |         t9 ();
    0x0001a028 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a02c sw s4, 0x14(sp)               |         *(var_14h_2) = s4;
    0x0001a030 sw zero, 0x10(sp)             |         *(var_10h_2) = 0;
    0x0001a034 lw t9, -0x799c(gp)            |         t9 = sym.imp.g_input_stream_read_all;
    0x0001a038 addiu a3, sp, 0x88            |         a3 = sp + 0x88;
    0x0001a03c addiu a2, zero, 0x3ff         |         a2 = 0x3ff;
    0x0001a040 move a1, s7                   |         a1 = s7;
    0x0001a044 move a0, v0                   |         a0 = v0;
    0x0001a048 jalr t9                       |         t9 ();
    0x0001a04c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a050 bnez v0, 0x19e70              |         
                                             |     }
    0x0001a054 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001a058 move s4, zero                 |     s4 = 0;
    0x0001a05c jalr t9                       |     t9 ();
    0x0001a060 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a064 lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x0001a068 sw s1, 0x10(sp)               |     *(var_10h_2) = s1;
    0x0001a06c lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x0001a070 addiu a3, v1, -0x61e8         |     a3 = v1 + -0x61e8;
                                             | label_7:
    0x0001a074 addiu a2, zero, 1             |     a2 = 1;
    0x0001a078 move a1, v0                   |     a1 = v0;
    0x0001a07c addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x0001a080 jalr t9                       |     t9 ();
    0x0001a084 move s7, zero                 |     s7 = 0;
    0x0001a088 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a08c b 0x19e9c                     |     goto label_3;
                                             | label_16:
    0x0001a090 lw a0, -0x7fd0(gp)            |     a0 = *((gp - 8180));
    0x0001a094 lw a2, 0x10(s6)               |     a2 = *((s6 + 4));
    0x0001a098 lw a1, 0xc(s6)                |     a1 = *((s6 + 3));
    0x0001a09c lw t9, -0x7a38(gp)            |     t9 = sym.imp.g_strdup_printf;
                                             |     /* str._s__s_event.xml */
    0x0001a0a0 addiu a0, a0, -0x656c         |     a0 += -aav.0x0000656c;
    0x0001a0a4 sw zero, 0x84(sp)             |     *(var_84h) = 0;
    0x0001a0a8 jalr t9                       |     t9 ();
    0x0001a0ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a0b0 move a0, v0                   |     a0 = v0;
    0x0001a0b4 lw t9, -0x7c68(gp)            |     t9 = sym.imp.g_file_new_for_path;
    0x0001a0b8 move s2, v0                   |     s2 = v0;
    0x0001a0bc jalr t9                       |     t9 ();
    0x0001a0c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a0c4 move a1, zero                 |     a1 = 0;
    0x0001a0c8 move a0, v0                   |     a0 = v0;
    0x0001a0cc lw t9, -0x7b34(gp)            |     t9 = sym.imp.g_file_query_exists;
    0x0001a0d0 move s1, v0                   |     s1 = v0;
    0x0001a0d4 jalr t9                       |     t9 ();
    0x0001a0d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0001a0dc bnez v0, 0x1a144              |         
    0x0001a0e0 lw t9, -0x7918(gp)            |         t9 = *((gp - 7750));
    0x0001a0e4 move a0, s1                   |         a0 = s1;
    0x0001a0e8 jalr t9                       |         t9 ();
    0x0001a0ec lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a0f0 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
    0x0001a0f4 move a0, s2                   |         a0 = s2;
    0x0001a0f8 jalr t9                       |         t9 ();
    0x0001a0fc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a100 lw t9, -0x7eb0(gp)            |         t9 = *(gp);
                                             |         /* fcn.00015e7c */
    0x0001a104 addiu t9, t9, 0x5e7c          |         t9 += 0x5e7c;
    0x0001a108 move a0, s6                   |         a0 = s6;
    0x0001a10c bal 0x15e7c                   |         fcn_00015e7c ();
    0x0001a110 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a114 move a0, v0                   |         a0 = v0;
    0x0001a118 lw t9, -0x7c68(gp)            |         t9 = sym.imp.g_file_new_for_path;
    0x0001a11c move s2, v0                   |         s2 = v0;
    0x0001a120 jalr t9                       |         t9 ();
    0x0001a124 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a128 move a1, zero                 |         a1 = 0;
    0x0001a12c move a0, v0                   |         a0 = v0;
    0x0001a130 lw t9, -0x7b34(gp)            |         t9 = sym.imp.g_file_query_exists;
    0x0001a134 move s1, v0                   |         s1 = v0;
    0x0001a138 jalr t9                       |         t9 ();
    0x0001a13c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0001a140 beqz v0, 0x1a4c0              |             goto label_23;
                                             |         }
                                             |     }
    0x0001a144 lw t9, -0x787c(gp)            |     t9 = sym.imp.g_file_read;
    0x0001a148 addiu v0, sp, 0x84            |     v0 = sp + 0x84;
    0x0001a14c sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0001a150 move a2, v0                   |     a2 = v0;
    0x0001a154 move a1, zero                 |     a1 = 0;
    0x0001a158 move a0, s1                   |     a0 = s1;
    0x0001a15c jalr t9                       |     t9 ();
    0x0001a160 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x0001a164 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0001a168 beqz v0, 0x1a49c              |         goto label_24;
                                             |     }
    0x0001a16c lw t9, -0x7904(gp)            |     t9 = sym.imp.g_input_stream_get_type;
    0x0001a170 addiu v0, sp, 0x48c           |     v0 = sp + aav.0x0000048c;
    0x0001a174 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x0001a178 jalr t9                       |     t9 ();
    0x0001a17c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a180 lw a0, 0x44(sp)               |     a0 = *(var_44h_2);
    0x0001a184 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.g_type_check_instance_cast;
    0x0001a188 move a1, v0                   |     a1 = v0;
    0x0001a18c jalr t9                       |     t9 ();
    0x0001a190 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a194 lw v1, 0x54(sp)               |     v1 = *(var_54h);
    0x0001a198 lw a1, 0x50(sp)               |     a1 = *(var_50h);
    0x0001a19c lw t9, -0x799c(gp)            |     t9 = sym.imp.g_input_stream_read_all;
    0x0001a1a0 sw v1, 0x14(sp)               |     *(var_14h_2) = v1;
    0x0001a1a4 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x0001a1a8 addiu a3, sp, 0x88            |     a3 = sp + 0x88;
    0x0001a1ac addiu a2, zero, 0x3ff         |     a2 = 0x3ff;
    0x0001a1b0 move a0, v0                   |     a0 = v0;
    0x0001a1b4 jalr t9                       |     t9 ();
    0x0001a1b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0001a1bc beqz v0, 0x1a460              |         goto label_25;
                                             |     }
    0x0001a1c0 lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0001a1c4 addiu v1, sp, 0x890           |     v1 = sp + 0x890;
    0x0001a1c8 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0001a1cc lw t9, -0x7b4c(gp)            |     t9 = sym.imp.subscribe_expression_deserialize_xml;
    0x0001a1d0 lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x0001a1d4 sb zero, -0x404(v0)           |     *(v0) = 0;
    0x0001a1d8 jalr t9                       |     t9 ();
    0x0001a1dc addiu v1, zero, 1             |     v1 = 1;
    0x0001a1e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a1e4 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0001a1e8 sw v1, 0x50(sp)               |     *(var_50h) = v1;
                                             |     if (v0 == 0) {
    0x0001a1ec beqz v0, 0x1a500              |         goto label_26;
                                             |     }
                                             | label_10:
    0x0001a1f0 lw a0, 0x84(sp)               |     a0 = *(var_84h);
    0x0001a1f4 lw t9, -0x7c58(gp)            |     t9 = sym.imp.g_error_free;
                                             |     if (a0 != 0) {
    0x0001a1f8 beqz a0, 0x1a208              |         
    0x0001a1fc jalr t9                       |         t9 ();
    0x0001a200 nop                           |         
    0x0001a204 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0001a208 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
                                             |     if (s2 != 0) {
    0x0001a20c beqz s2, 0x1a21c              |         
    0x0001a210 move a0, s2                   |         a0 = s2;
    0x0001a214 jalr t9                       |         t9 ();
    0x0001a218 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0001a21c lw a0, 0x44(sp)               |     a0 = *(var_44h_2);
    0x0001a220 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
                                             |     if (a0 != 0) {
    0x0001a224 beqz a0, 0x1a234              |         
    0x0001a228 jalr t9                       |         t9 ();
    0x0001a22c nop                           |         
    0x0001a230 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0001a234 lw t9, -0x7918(gp)            |     t9 = *((gp - 7750));
                                             |     if (s1 != 0) {
    0x0001a238 beqz s1, 0x1a248              |         
    0x0001a23c move a0, s1                   |         a0 = s1;
    0x0001a240 jalr t9                       |         t9 ();
    0x0001a244 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0001a248 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0001a24c lw t9, -0x7dd0(gp)            |     t9 = sym.action_rule_setup_event;
                                             |     if (v0 == 0) {
    0x0001a250 beqz v0, 0x1a26c              |         goto label_8;
                                             |     }
    0x0001a254 lw a1, 0x54(sp)               |     a1 = *(var_54h);
    0x0001a258 addiu a2, sp, 0x74            |     a2 = sp + 0x74;
    0x0001a25c move a0, s6                   |     a0 = s6;
    0x0001a260 bal 0x17f10                   |     sym_action_rule_setup_event ();
    0x0001a264 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0001a268 bnez v0, 0x19dc4              |         goto label_4;
                                             |     }
                                             |     do {
                                             | label_8:
    0x0001a26c lw t9, -0x7ab0(gp)            |         t9 = sym.imp.g_propagate_error;
    0x0001a270 lw a1, 0x74(sp)               |         a1 = *(var_74h);
    0x0001a274 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0001a278 move s0, zero                 |         s0 = 0;
    0x0001a27c jalr t9                       |         t9 ();
    0x0001a280 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a284 b 0x19bf0                     |         goto label_5;
                                             | label_11:
    0x0001a288 lw t9, -0x7ab0(gp)            |         t9 = sym.imp.g_propagate_error;
    0x0001a28c lw a1, 0x70(sp)               |         a1 = *(var_70h);
    0x0001a290 move a0, s0                   |         a0 = s0;
    0x0001a294 jalr t9                       |         t9 ();
    0x0001a298 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x0001a29c lw a0, (v0)                   |         a0 = *(v0);
    0x0001a2a0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (a0 == 0) {
    0x0001a2a4 beqz a0, 0x1a36c              |             goto label_27;
                                             |         }
    0x0001a2a8 lw t9, -0x7c48(gp)            |         t9 = sym.imp.g_hash_table_unref;
    0x0001a2ac jalr t9                       |         t9 ();
    0x0001a2b0 nop                           |         
    0x0001a2b4 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x0001a2b8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a2bc sw zero, (v0)                 |         *(v0) = 0;
    0x0001a2c0 move v0, zero                 |         v0 = 0;
    0x0001a2c4 b 0x19cc4                     |         goto label_6;
                                             | label_22:
    0x0001a2c8 lw t9, -0x7c14(gp)            |         t9 = sym.imp.ae_error_quark;
    0x0001a2cc move s4, zero                 |         s4 = 0;
    0x0001a2d0 jalr t9                       |         t9 ();
    0x0001a2d4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a2d8 sw s1, 0x10(sp)               |         *(var_10h_2) = s1;
    0x0001a2dc lw a3, 0x54(sp)               |         a3 = *(var_54h);
    0x0001a2e0 lw t9, -0x7b10(gp)            |         t9 = sym.imp.g_set_error;
    0x0001a2e4 b 0x1a074                     |         goto label_7;
                                             | label_17:
    0x0001a2e8 move s1, zero                 |         s1 = 0;
                                             | label_9:
    0x0001a2ec lw t9, -0x7dd4(gp)            |         t9 = sym.action_rule_setup_property_events;
    0x0001a2f0 addiu s0, sp, 0x74            |         s0 = sp + 0x74;
    0x0001a2f4 move a2, s0                   |         a2 = s0;
    0x0001a2f8 move a1, s1                   |         a1 = s1;
    0x0001a2fc move a0, s6                   |         a0 = s6;
    0x0001a300 bal 0x17dd0                   |         sym_action_rule_setup_property_events ();
    0x0001a304 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a308 beqz v0, 0x1a26c              |         
                                             |     } while (v0 == 0);
    0x0001a30c lw t9, -0x7dcc(gp)            |     t9 = sym.action_rule_setup_action_instances;
    0x0001a310 move a1, s0                   |     a1 = s0;
    0x0001a314 move a0, s6                   |     a0 = s6;
    0x0001a318 bal 0x18060                   |     sym_action_rule_setup_action_instances ();
    0x0001a31c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0001a320 beqz v0, 0x1a26c              |         goto label_8;
                                             |     }
    0x0001a324 addiu s0, zero, 1             |     s0 = 1;
    0x0001a328 b 0x19bf0                     |     goto label_5;
                                             | label_21:
    0x0001a32c lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001a330 move s4, zero                 |     s4 = 0;
    0x0001a334 jalr t9                       |     t9 ();
    0x0001a338 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a33c lw v1, 0x6c(sp)               |     v1 = *(var_6ch);
    0x0001a340 sw s1, 0x10(sp)               |     *(var_10h_2) = s1;
    0x0001a344 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x0001a348 addiu a3, v1, -0x6224         |     a3 = v1 + -0x6224;
    0x0001a34c addiu a2, zero, 1             |     a2 = 1;
    0x0001a350 move a1, v0                   |     a1 = v0;
    0x0001a354 addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x0001a358 jalr t9                       |     t9 ();
    0x0001a35c move s7, zero                 |     s7 = 0;
    0x0001a360 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a364 move s2, zero                 |     s2 = 0;
    0x0001a368 b 0x19e9c                     |     goto label_3;
                                             | label_27:
    0x0001a36c move v0, zero                 |     v0 = 0;
    0x0001a370 b 0x19cc4                     |     goto label_6;
                                             | label_20:
    0x0001a374 lw t9, -0x7c5c(gp)            |     t9 = sym.imp.g_strfreev;
    0x0001a378 lw a0, 0x58(sp)               |     a0 = *(var_58h);
    0x0001a37c lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x0001a380 lw s3, 0x60(sp)               |     s3 = *(var_60h);
    0x0001a384 move s1, v0                   |     s1 = v0;
    0x0001a388 lw s5, 0x64(sp)               |     s5 = *(var_64h);
    0x0001a38c lw s4, 0x68(sp)               |     s4 = *(var_68h);
    0x0001a390 jalr t9                       |     t9 ();
    0x0001a394 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a398 b 0x1a2ec                     |     goto label_9;
                                             | label_19:
    0x0001a39c lw v0, -0x7fb8(gp)            |     v0 = *(gp);
    0x0001a3a0 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0001a3a4 lw a0, -0x7fd0(gp)            |     a0 = *((gp - 8180));
    0x0001a3a8 lw t9, (v0)                   |     t9 = *(v0);
                                             |     /* str.action_rule_deserialize */
    0x0001a3ac addiu a1, a1, -0x5f6c         |     a1 += -0x5f6c;
                                             |     /* str.action_rule.c:1901___s__Failed_to_deserialize_property_event */
    0x0001a3b0 addiu a0, a0, -0x61b0         |     a0 += -0x61b0;
    0x0001a3b4 lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x0001a3b8 lw s3, 0x60(sp)               |     s3 = *(var_60h);
    0x0001a3bc move s0, s5                   |     s0 = s5;
    0x0001a3c0 move s1, s5                   |     s1 = s5;
    0x0001a3c4 lw s4, 0x68(sp)               |     s4 = *(var_68h);
    0x0001a3c8 lw s5, 0x64(sp)               |     s5 = *(var_64h);
    0x0001a3cc jalr t9                       |     t9 ();
    0x0001a3d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a3d4 lw a1, 0x74(sp)               |     a1 = *(var_74h);
    0x0001a3d8 lw t9, -0x7ab0(gp)            |     t9 = sym.imp.g_propagate_error;
    0x0001a3dc lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x0001a3e0 jalr t9                       |     t9 ();
    0x0001a3e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a3e8 lw t9, -0x7c5c(gp)            |     t9 = sym.imp.g_strfreev;
    0x0001a3ec lw a0, 0x58(sp)               |     a0 = *(var_58h);
    0x0001a3f0 jalr t9                       |     t9 ();
    0x0001a3f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s0 == 0) {
    0x0001a3f8 beqz s0, 0x1a414              |         goto label_28;
                                             |     }
                                             |     do {
    0x0001a3fc lw t9, -0x7880(gp)            |         t9 = sym.imp.property_state_free;
    0x0001a400 lw a0, (s0)                   |         a0 = *(s0);
    0x0001a404 jalr t9                       |         t9 ();
    0x0001a408 lw s0, 4(s0)                  |         s0 = *((s0 + 1));
    0x0001a40c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a410 bnez s0, 0x1a3fc              |         
                                             |     } while (s0 != 0);
                                             | label_28:
    0x0001a414 lw t9, -0x7960(gp)            |     t9 = sym.imp.g_list_free;
    0x0001a418 move a0, s1                   |     a0 = s1;
    0x0001a41c jalr t9                       |     t9 ();
    0x0001a420 move s0, zero                 |     s0 = 0;
    0x0001a424 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a428 b 0x19bf0                     |     goto label_5;
                                             | label_18:
    0x0001a42c lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001a430 move s7, zero                 |     s7 = 0;
    0x0001a434 jalr t9                       |     t9 ();
    0x0001a438 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a43c lw a3, 0x4c(sp)               |     a3 = *(var_4ch_2);
    0x0001a440 sw s1, 0x10(sp)               |     *(var_10h_2) = s1;
    0x0001a444 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x0001a448 addiu a2, zero, 4             |     a2 = 4;
    0x0001a44c move a1, v0                   |     a1 = v0;
    0x0001a450 addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x0001a454 jalr t9                       |     t9 ();
    0x0001a458 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a45c b 0x19e9c                     |     goto label_3;
                                             | label_25:
    0x0001a460 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001a464 sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x0001a468 jalr t9                       |     t9 ();
    0x0001a46c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a470 sw s2, 0x10(sp)               |     *(var_10h_2) = s2;
    0x0001a474 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x0001a478 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.Failed_to_read_file:__s */
    0x0001a47c addiu a3, a3, -0x61e8         |     a3 += -0x61e8;
                                             |     do {
    0x0001a480 addiu a2, zero, 1             |         a2 = 1;
    0x0001a484 move a1, v0                   |         a1 = v0;
    0x0001a488 addiu a0, sp, 0x74            |         a0 = sp + 0x74;
    0x0001a48c jalr t9                       |         t9 ();
    0x0001a490 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a494 sw zero, 0x50(sp)             |         *(var_50h) = 0;
    0x0001a498 b 0x1a1f0                     |         goto label_10;
                                             | label_24:
    0x0001a49c lw t9, -0x7c14(gp)            |         t9 = sym.imp.ae_error_quark;
    0x0001a4a0 sw zero, 0x54(sp)             |         *(var_54h) = 0;
    0x0001a4a4 jalr t9                       |         t9 ();
    0x0001a4a8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001a4ac sw s2, 0x10(sp)               |         *(var_10h_2) = s2;
    0x0001a4b0 lw a3, -0x7fd0(gp)            |         a3 = *((gp - 8180));
    0x0001a4b4 lw t9, -0x7b10(gp)            |         t9 = sym.imp.g_set_error;
                                             |         /* str.Failed_to_open_file_for_reading:__s */
    0x0001a4b8 addiu a3, a3, -0x620c         |         a3 += -0x620c;
    0x0001a4bc b 0x1a480                     |         
                                             |     } while (1);
                                             | label_23:
    0x0001a4c0 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001a4c4 sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x0001a4c8 jalr t9                       |     t9 ();
    0x0001a4cc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a4d0 sw s2, 0x10(sp)               |     *(var_10h_2) = s2;
    0x0001a4d4 addiu a2, zero, 1             |     a2 = 1;
    0x0001a4d8 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x0001a4dc lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.File_does_not_exist:__s */
    0x0001a4e0 addiu a3, a3, -0x6224         |     a3 += -0x6224;
    0x0001a4e4 move a1, v0                   |     a1 = v0;
    0x0001a4e8 addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x0001a4ec jalr t9                       |     t9 ();
    0x0001a4f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a4f4 sw zero, 0x50(sp)             |     *(var_50h) = 0;
    0x0001a4f8 sw zero, 0x44(sp)             |     *(var_44h_2) = 0;
    0x0001a4fc b 0x1a1f0                     |     goto label_10;
                                             | label_26:
    0x0001a500 lw t9, -0x7c14(gp)            |     t9 = sym.imp.ae_error_quark;
    0x0001a504 sw zero, 0x50(sp)             |     *(var_50h) = 0;
    0x0001a508 jalr t9                       |     t9 ();
    0x0001a50c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a510 lw a3, 0x4c(sp)               |     a3 = *(var_4ch_2);
    0x0001a514 sw s2, 0x10(sp)               |     *(var_10h_2) = s2;
    0x0001a518 lw t9, -0x7b10(gp)            |     t9 = sym.imp.g_set_error;
    0x0001a51c addiu a2, zero, 4             |     a2 = 4;
    0x0001a520 move a1, v0                   |     a1 = v0;
    0x0001a524 addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x0001a528 jalr t9                       |     t9 ();
    0x0001a52c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001a530 b 0x1a1f0                     |     goto label_10;
                                             | label_15:
    0x0001a534 lw t9, -0x7ba8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0001a538 jalr t9                       |     t9 ();
    0x0001a53c nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0x1b974 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.recipient_load_all ()        | void recipient_load_all () {
    0x0001b974 lui gp, 3                     |     
    0x0001b978 addiu gp, gp, -0x7834         |     
    0x0001b97c addu gp, gp, t9               |     gp += t9;
    0x0001b980 lw v0, -0x7b1c(gp)            |     v0 = *((gp - 7879));
    0x0001b984 addiu sp, sp, -0x478          |     
    0x0001b988 lw t9, -0x7cd4(gp)            |     t9 = sym.imp.g_dir_open;
    0x0001b98c sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x0001b990 lw v0, (v0)                   |     v0 = *(v0);
    0x0001b994 addiu v1, sp, 0x40            |     v1 = sp + 0x40;
    0x0001b998 sw s2, 0x458(sp)              |     *(var_458h) = s2;
    0x0001b99c move s2, a2                   |     s2 = a2;
    0x0001b9a0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0001b9a4 sw a0, 0x34(sp)               |     *(var_34h) = a0;
    0x0001b9a8 sw a1, 0x28(sp)               |     *(var_28h) = a1;
    0x0001b9ac sw ra, 0x474(sp)              |     *(var_474h) = ra;
    0x0001b9b0 sw fp, 0x470(sp)              |     *(var_470h) = fp;
    0x0001b9b4 sw s7, 0x46c(sp)              |     *(var_46ch) = s7;
    0x0001b9b8 sw s6, 0x468(sp)              |     *(var_468h) = s6;
    0x0001b9bc sw s5, 0x464(sp)              |     *(var_464h) = s5;
    0x0001b9c0 sw s4, 0x460(sp)              |     *(var_460h) = s4;
    0x0001b9c4 sw s3, 0x45c(sp)              |     *(var_45ch) = s3;
    0x0001b9c8 sw s1, 0x454(sp)              |     *(var_454h) = s1;
    0x0001b9cc sw s0, 0x450(sp)              |     *(var_450h) = s0;
    0x0001b9d0 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x0001b9d4 move a2, v1                   |     a2 = v1;
    0x0001b9d8 move a1, zero                 |     a1 = 0;
    0x0001b9dc move a0, s2                   |     a0 = s2;
    0x0001b9e0 sw a3, 0x3c(sp)               |     *(var_3ch) = a3;
    0x0001b9e4 sw v0, 0x44c(sp)              |     *(var_44ch) = v0;
    0x0001b9e8 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x0001b9ec jalr t9                       |     t9 ();
    0x0001b9f0 nop                           |     
    0x0001b9f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0001b9f8 beqz v0, 0x1bd18              |         goto label_4;
                                             |     }
    0x0001b9fc lw t9, -0x7a80(gp)            |     t9 = sym.imp.g_hash_table_new_full;
    0x0001ba00 lw a3, -0x7918(gp)            |     a3 = *((gp - 7750));
    0x0001ba04 lw a1, -0x78ac(gp)            |     a1 = *((gp - 7723));
    0x0001ba08 lw a0, -0x7bdc(gp)            |     a0 = *((gp - 7927));
    0x0001ba0c move a2, zero                 |     a2 = 0;
    0x0001ba10 move s4, v0                   |     s4 = v0;
    0x0001ba14 jalr t9                       |     t9 ();
    0x0001ba18 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001ba1c lw v1, 0x28(sp)               |     v1 = *(var_28h);
    0x0001ba20 move s7, zero                 |     s7 = 0;
    0x0001ba24 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
    0x0001ba28 sw v0, (v1)                   |     *(v1) = v0;
    0x0001ba2c lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
    0x0001ba30 lw s6, -0x7fd8(gp)            |     s6 = *(gp);
    0x0001ba34 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0001ba38 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
                                             |     /* str._s__s */
    0x0001ba3c addiu s3, s3, 0x64d0          |     s3 += 0x64d0;
                                             |     /* str.Not_a_recipient_file:__s */
    0x0001ba40 addiu v0, v0, -0x5ca4         |     v0 += -0x5ca4;
    0x0001ba44 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0001ba48 lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
                                             |     /* str.conf */
    0x0001ba4c addiu s6, s6, 0x6ec4          |     s6 += 0x6ec4;
    0x0001ba50 sw v0, 0x30(sp)               |     *(var_30h) = v0;
                                             | label_0:
    0x0001ba54 lw t9, -0x78e0(gp)            |     t9 = sym.imp.g_dir_read_name;
    0x0001ba58 move a0, s4                   |     a0 = s4;
    0x0001ba5c jalr t9                       |     t9 ();
    0x0001ba60 move s0, v0                   |     s0 = v0;
    0x0001ba64 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0001ba68 beqz v0, 0x1bba8              |         goto label_5;
                                             |     }
                                             |     do {
    0x0001ba6c lw t9, -0x7c78(gp)            |         t9 = sym.imp.g_sprintf
    0x0001ba70 addiu s1, sp, 0x4c            |         s1 = sp + 0x4c;
    0x0001ba74 move a3, s0                   |         a3 = s0;
    0x0001ba78 move a2, s2                   |         a2 = s2;
    0x0001ba7c move a1, s3                   |         a1 = s3;
    0x0001ba80 move a0, s1                   |         a0 = s1;
    0x0001ba84 jalr t9                       |         t9 ();
    0x0001ba88 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001ba8c move a1, s6                   |         a1 = s6;
    0x0001ba90 lw t9, -0x7c64(gp)            |         t9 = sym.imp.g_str_has_suffix;
    0x0001ba94 move a0, s0                   |         a0 = s0;
    0x0001ba98 jalr t9                       |         t9 ();
    0x0001ba9c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0001baa0 beqz v0, 0x1bc0c              |             goto label_6;
                                             |         }
    0x0001baa4 lw t9, -0x7cd8(gp)            |         t9 = sym.imp.g_file_test;
    0x0001baa8 addiu a1, zero, 1             |         a1 = 1;
    0x0001baac move a0, s1                   |         a0 = s1;
    0x0001bab0 jalr t9                       |         t9 ();
    0x0001bab4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0001bab8 beqz v0, 0x1bc0c              |             goto label_6;
                                             |         }
    0x0001babc lw t9, -0x7dbc(gp)            |         t9 = sym.recipient_get_type;
    0x0001bac0 bal 0x1ad04                   |         sym_recipient_get_type ();
    0x0001bac4 nop                           |         
    0x0001bac8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bacc move a1, zero                 |         a1 = 0;
    0x0001bad0 lw t9, -0x7a0c(gp)            |         t9 = sym.imp.g_object_new;
    0x0001bad4 move a0, v0                   |         a0 = v0;
    0x0001bad8 jalr t9                       |         t9 ();
    0x0001badc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bae0 move a2, s0                   |         a2 = s0;
    0x0001bae4 move a1, s2                   |         a1 = s2;
    0x0001bae8 lw t9, -0x7a38(gp)            |         t9 = sym.imp.g_strdup_printf;
    0x0001baec move a0, s3                   |         a0 = s3;
    0x0001baf0 move s5, v0                   |         s5 = v0;
    0x0001baf4 jalr t9                       |         t9 ();
    0x0001baf8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bafc lw a3, 0x24(sp)               |         a3 = *(var_24h);
    0x0001bb00 addiu a2, sp, 0x48            |         a2 = sp + 0x48;
    0x0001bb04 lw t9, -0x7c04(gp)            |         t9 = sym.imp.g_file_get_contents;
    0x0001bb08 addiu a1, sp, 0x44            |         a1 = sp + 0x44;
    0x0001bb0c move a0, v0                   |         a0 = v0;
    0x0001bb10 move fp, v0                   |         fp = v0;
    0x0001bb14 jalr t9                       |         t9 ();
    0x0001bb18 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0001bb1c beqz v0, 0x1bc7c              |             goto label_7;
                                             |         }
    0x0001bb20 lw v0, 0x24(sp)               |         v0 = *(var_24h);
    0x0001bb24 lw t9, -0x7dac(gp)            |         t9 = sym.recipient_deserialize_from_data;
    0x0001bb28 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0001bb2c lw v0, 0x34(sp)               |         v0 = *(var_34h);
    0x0001bb30 lw a3, 0x48(sp)               |         a3 = *(var_48h);
    0x0001bb34 lw a2, 0x44(sp)               |         a2 = *(var_44h);
    0x0001bb38 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0001bb3c move a1, s2                   |         a1 = s2;
    0x0001bb40 move a0, s5                   |         a0 = s5;
    0x0001bb44 bal 0x1b2b8                   |         sym_recipient_deserialize_from_data ();
    0x0001bb48 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0001bb4c beqz v0, 0x1bc7c              |             goto label_7;
                                             |         }
    0x0001bb50 lw v0, 0x1c(s5)               |         v0 = *((s5 + 7));
    0x0001bb54 lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
                                             |         if (v0 == 0) {
    0x0001bb58 beqz v0, 0x1bce8              |             goto label_8;
                                             |         }
    0x0001bb5c move a0, fp                   |         a0 = fp;
    0x0001bb60 jalr t9                       |         t9 ();
    0x0001bb64 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_2:
    0x0001bb68 lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x0001bb6c lw s0, 0x1c(s5)               |         s0 = *((s5 + 7));
    0x0001bb70 lw t9, -0x795c(gp)            |         t9 = sym.imp.g_hash_table_insert;
    0x0001bb74 lw a0, (v0)                   |         a0 = *(v0);
    0x0001bb78 move a1, s0                   |         a1 = s0;
    0x0001bb7c move a2, s5                   |         a2 = s5;
    0x0001bb80 jalr t9                       |         t9 ();
    0x0001bb84 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bb88 sltu v0, s7, s0               |         v0 = (s7 < s0) ? 1 : 0;
    0x0001bb8c move a0, s4                   |         a0 = s4;
    0x0001bb90 lw t9, -0x78e0(gp)            |         t9 = sym.imp.g_dir_read_name;
                                             |         if (v0 == 0) {
    0x0001bb94 movn s7, s0, v0               |             s7 = s0;
                                             |         }
    0x0001bb98 jalr t9                       |         t9 ();
    0x0001bb9c move s0, v0                   |         s0 = v0;
    0x0001bba0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bba4 bnez v0, 0x1ba6c              |         
                                             |     } while (v0 != 0);
                                             | label_5:
    0x0001bba8 lw v0, -0x7fc0(gp)            |     v0 = *((gp - 8176));
    0x0001bbac addiu s7, s7, 1               |     s7++;
    0x0001bbb0 addiu s0, zero, 1             |     s0 = 1;
    0x0001bbb4 sw s7, -0x3ed0(v0)            |     *((v0 - 4020)) = s7;
                                             |     do {
                                             | label_1:
    0x0001bbb8 lw t9, -0x78b8(gp)            |         t9 = sym.imp.g_dir_close;
    0x0001bbbc move a0, s4                   |         a0 = s4;
    0x0001bbc0 jalr t9                       |         t9 ();
    0x0001bbc4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_3:
    0x0001bbc8 lw v0, 0x38(sp)               |         v0 = *(var_38h);
    0x0001bbcc lw a0, 0x44c(sp)              |         a0 = *(var_44ch);
    0x0001bbd0 lw v1, (v0)                   |         v1 = *(v0);
    0x0001bbd4 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0001bbd8 bne a0, v1, 0x1bd5c           |             goto label_9;
                                             |         }
    0x0001bbdc lw ra, 0x474(sp)              |         ra = *(var_474h);
    0x0001bbe0 lw fp, 0x470(sp)              |         fp = *(var_470h);
    0x0001bbe4 lw s7, 0x46c(sp)              |         s7 = *(var_46ch);
    0x0001bbe8 lw s6, 0x468(sp)              |         s6 = *(var_468h);
    0x0001bbec lw s5, 0x464(sp)              |         s5 = *(var_464h);
    0x0001bbf0 lw s4, 0x460(sp)              |         s4 = *(var_460h);
    0x0001bbf4 lw s3, 0x45c(sp)              |         s3 = *(var_45ch);
    0x0001bbf8 lw s2, 0x458(sp)              |         s2 = *(var_458h);
    0x0001bbfc lw s1, 0x454(sp)              |         s1 = *(var_454h);
    0x0001bc00 lw s0, 0x450(sp)              |         s0 = *(var_450h);
    0x0001bc04 addiu sp, sp, 0x478           |         
    0x0001bc08 jr ra                         |         return v0;
                                             | label_6:
    0x0001bc0c lw v0, 0x20(sp)               |         v0 = *(var_20h);
    0x0001bc10 lw t9, -0x7c64(gp)            |         t9 = sym.imp.g_str_has_suffix;
    0x0001bc14 addiu a1, v0, -0x5ccc         |         a1 = v0 + -0x5ccc;
    0x0001bc18 move a0, s0                   |         a0 = s0;
    0x0001bc1c jalr t9                       |         t9 ();
    0x0001bc20 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x0001bc24 beqz v0, 0x1bc5c              |             
    0x0001bc28 lw v0, 0x30(sp)               |             v0 = *(var_30h);
    0x0001bc2c lw t9, -0x7cbc(gp)            |             t9 = sym.imp.g_log;
    0x0001bc30 move a3, s0                   |             a3 = s0;
    0x0001bc34 addiu a2, v0, -0x5cc4         |             a2 = v0 + -0x5cc4;
    0x0001bc38 addiu a1, zero, 0x10          |             a1 = 0x10;
    0x0001bc3c move a0, zero                 |             a0 = 0;
    0x0001bc40 jalr t9                       |             t9 ();
    0x0001bc44 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0001bc48 lw t9, -0x7b7c(gp)            |             t9 = sym.imp.remove;
    0x0001bc4c move a0, s1                   |             a0 = s1;
    0x0001bc50 jalr t9                       |             t9 ();
    0x0001bc54 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0001bc58 b 0x1ba54                     |             goto label_0;
                                             |         }
    0x0001bc5c lw t9, -0x7cbc(gp)            |         t9 = sym.imp.g_log;
    0x0001bc60 lw a2, 0x2c(sp)               |         a2 = *(var_2ch);
    0x0001bc64 move a3, s0                   |         a3 = s0;
    0x0001bc68 addiu a1, zero, 0x10          |         a1 = 0x10;
    0x0001bc6c move a0, zero                 |         a0 = 0;
    0x0001bc70 jalr t9                       |         t9 ();
    0x0001bc74 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bc78 b 0x1ba54                     |         goto label_0;
                                             | label_7:
    0x0001bc7c lw t9, -0x7864(gp)            |         t9 = *((gp - 7705));
    0x0001bc80 move a0, fp                   |         a0 = fp;
    0x0001bc84 jalr t9                       |         t9 ();
    0x0001bc88 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bc8c move a0, s5                   |         a0 = s5;
    0x0001bc90 lw t9, -0x7918(gp)            |         t9 = *((gp - 7750));
    0x0001bc94 move s0, zero                 |         s0 = 0;
    0x0001bc98 jalr t9                       |         t9 ();
    0x0001bc9c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bca0 lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x0001bca4 lw a1, 0x40(sp)               |         a1 = *(var_40h);
    0x0001bca8 lw a2, -0x7fd0(gp)            |         a2 = *((gp - 8180));
    0x0001bcac lw t9, -0x7a20(gp)            |         t9 = sym.imp.g_propagate_prefixed_error;
    0x0001bcb0 move a3, s1                   |         a3 = s1;
                                             |         /* str.error_parsing__s:_ */
    0x0001bcb4 addiu a2, a2, -0x5c88         |         a2 += -0x5c88;
    0x0001bcb8 jalr t9                       |         t9 ();
    0x0001bcbc lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x0001bcc0 lw a0, (v0)                   |         a0 = *(v0);
    0x0001bcc4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0001bcc8 beqz a0, 0x1bbb8              |         
                                             |     } while (a0 == 0);
    0x0001bccc lw t9, -0x7c48(gp)            |     t9 = sym.imp.g_hash_table_unref;
    0x0001bcd0 move s0, zero                 |     s0 = 0;
    0x0001bcd4 jalr t9                       |     t9 ();
    0x0001bcd8 lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x0001bcdc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001bce0 sw zero, (v0)                 |     *(v0) = 0;
    0x0001bce4 b 0x1bbb8                     |     goto label_1;
                                             | label_8:
    0x0001bce8 lw t9, -0x7ae8(gp)            |     t9 = sym.imp.g_ascii_strtoull;
    0x0001bcec addiu a2, zero, 0xa           |     a2 = 0xa;
    0x0001bcf0 move a1, zero                 |     a1 = 0;
    0x0001bcf4 move a0, s0                   |     a0 = s0;
    0x0001bcf8 jalr t9                       |     t9 ();
    0x0001bcfc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001bd00 sw v0, 0x1c(s5)               |     *((s5 + 7)) = v0;
    0x0001bd04 lw t9, -0x7864(gp)            |     t9 = *((gp - 7705));
    0x0001bd08 move a0, fp                   |     a0 = fp;
    0x0001bd0c jalr t9                       |     t9 ();
    0x0001bd10 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001bd14 b 0x1bb68                     |     goto label_2;
                                             | label_4:
    0x0001bd18 lw t9, -0x7ab0(gp)            |     t9 = sym.imp.g_propagate_error;
    0x0001bd1c lw a0, 0x3c(sp)               |     a0 = *(var_3ch);
    0x0001bd20 lw a1, 0x40(sp)               |     a1 = *(var_40h);
    0x0001bd24 jalr t9                       |     t9 ();
    0x0001bd28 lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x0001bd2c lw a0, (v0)                   |     a0 = *(v0);
    0x0001bd30 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 == 0) {
    0x0001bd34 bnez a0, 0x1bd40              |         
    0x0001bd38 move s0, zero                 |         s0 = 0;
    0x0001bd3c b 0x1bbc8                     |         goto label_3;
                                             |     }
    0x0001bd40 lw t9, -0x7c48(gp)            |     t9 = sym.imp.g_hash_table_unref;
    0x0001bd44 move s0, zero                 |     s0 = 0;
    0x0001bd48 jalr t9                       |     t9 ();
    0x0001bd4c lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x0001bd50 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0001bd54 sw zero, (v0)                 |     *(v0) = 0;
    0x0001bd58 b 0x1bbc8                     |     goto label_3;
                                             | label_9:
    0x0001bd5c lw t9, -0x7ba8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0001bd60 jalr t9                       |     t9 ();
    0x0001bd64 nop                           |     
    0x0001bd68 nop                           |     
    0x0001bd6c nop                           |     
    0x0001bd70 addiu v0, zero, -1            |     v0 = -1;
    0x0001bd74 jr ra                         |     return v0;
                                             | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/actionengined @ 0xfcd0 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.recipient_template_load_from ()          | void recipient_template_load_from () {
    0x0000fcd0 lui gp, 3                                 |     
    0x0000fcd4 addiu gp, gp, 0x4470                      |     
    0x0000fcd8 addu gp, gp, t9                           |     gp += t9;
    0x0000fcdc addiu sp, sp, -0x448                      |     
    0x0000fce0 lw t9, -0x7cd4(gp)                        |     t9 = sym.imp.g_dir_open;
    0x0000fce4 sw s6, 0x438(sp)                          |     *(var_438h) = s6;
    0x0000fce8 lw s6, -0x7b1c(gp)                        |     s6 = *((gp - 7879));
    0x0000fcec sw s3, 0x42c(sp)                          |     *(var_42ch) = s3;
    0x0000fcf0 sw s2, 0x428(sp)                          |     *(var_428h) = s2;
    0x0000fcf4 lw v0, (s6)                               |     v0 = *(s6);
    0x0000fcf8 move s2, a1                               |     s2 = a1;
    0x0000fcfc addiu s3, sp, 0x18                        |     s3 = sp + 0x18;
    0x0000fd00 sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x0000fd04 sw s7, 0x43c(sp)                          |     *(var_43ch) = s7;
    0x0000fd08 sw s4, 0x430(sp)                          |     *(var_430h) = s4;
    0x0000fd0c sw ra, 0x444(sp)                          |     *(var_444h) = ra;
    0x0000fd10 sw fp, 0x440(sp)                          |     *(var_440h) = fp;
    0x0000fd14 sw s5, 0x434(sp)                          |     *(var_434h) = s5;
    0x0000fd18 sw s1, 0x424(sp)                          |     *(var_424h) = s1;
    0x0000fd1c sw s0, 0x420(sp)                          |     *(var_420h) = s0;
    0x0000fd20 move s4, a0                               |     s4 = a0;
    0x0000fd24 move s7, a2                               |     s7 = a2;
    0x0000fd28 move a1, zero                             |     a1 = 0;
    0x0000fd2c move a2, s3                               |     a2 = s3;
    0x0000fd30 move a0, s2                               |     a0 = s2;
    0x0000fd34 sw v0, 0x41c(sp)                          |     *(var_41ch) = v0;
    0x0000fd38 sw zero, 0x18(sp)                         |     *(var_18h) = 0;
    0x0000fd3c jalr t9                                   |     t9 ();
    0x0000fd40 nop                                       |     
    0x0000fd44 lw gp, 0x10(sp)                           |     gp = *(var_10h);
                                                         |     if (v0 == 0) {
    0x0000fd48 beqz v0, 0xfe1c                           |         goto label_1;
                                                         |     }
    0x0000fd4c lw s1, -0x7fd8(gp)                        |     s1 = *(gp);
    0x0000fd50 move s0, v0                               |     s0 = v0;
    0x0000fd54 addiu fp, sp, 0x1c                        |     fp = sp + 0x1c;
                                                         |     /* str._s__s */
    0x0000fd58 addiu s1, s1, 0x64d0                      |     s1 += 0x64d0;
    0x0000fd5c lw s5, -0x7ea8(gp)                        |     s5 = sym.recipient_template_load_file;
    0x0000fd60 b 0xfd98                                  |     
                                                         |     while (v0 != 0) {
    0x0000fd64 lw t9, -0x7c78(gp)                        |         t9 = sym.imp.g_sprintf
    0x0000fd68 move a3, v0                               |         a3 = v0;
    0x0000fd6c move a2, s2                               |         a2 = s2;
    0x0000fd70 move a1, s1                               |         a1 = s1;
    0x0000fd74 move a0, fp                               |         a0 = fp;
    0x0000fd78 jalr t9                                   |         t9 ();
    0x0000fd7c move a2, s3                               |         a2 = s3;
    0x0000fd80 move a1, fp                               |         a1 = fp;
    0x0000fd84 move t9, s5                               |         t9 = s5;
    0x0000fd88 move a0, s4                               |         a0 = s4;
    0x0000fd8c bal 0xfb68                                |         sym_recipient_template_load_file ();
    0x0000fd90 lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         |         if (v0 == 0) {
    0x0000fd94 beqz v0, 0xfe00                           |             goto label_2;
                                                         |         }
    0x0000fd98 lw t9, -0x78e0(gp)                        |         t9 = sym.imp.g_dir_read_name;
    0x0000fd9c move a0, s0                               |         a0 = s0;
    0x0000fda0 jalr t9                                   |         t9 ();
    0x0000fda4 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x0000fda8 bnez v0, 0xfd64                           |         
                                                         |     }
    0x0000fdac addiu s1, zero, 1                         |     s1 = 1;
                                                         |     do {
    0x0000fdb0 lw t9, -0x78b8(gp)                        |         t9 = sym.imp.g_dir_close;
    0x0000fdb4 move a0, s0                               |         a0 = s0;
    0x0000fdb8 jalr t9                                   |         t9 ();
    0x0000fdbc lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         | label_0:
    0x0000fdc0 lw a0, 0x41c(sp)                          |         a0 = *(var_41ch);
    0x0000fdc4 lw v1, (s6)                               |         v1 = *(s6);
    0x0000fdc8 move v0, s1                               |         v0 = s1;
                                                         |         if (a0 != v1) {
    0x0000fdcc bne a0, v1, 0xfe38                        |             goto label_3;
                                                         |         }
    0x0000fdd0 lw ra, 0x444(sp)                          |         ra = *(var_444h);
    0x0000fdd4 lw fp, 0x440(sp)                          |         fp = *(var_440h);
    0x0000fdd8 lw s7, 0x43c(sp)                          |         s7 = *(var_43ch);
    0x0000fddc lw s6, 0x438(sp)                          |         s6 = *(var_438h);
    0x0000fde0 lw s5, 0x434(sp)                          |         s5 = *(var_434h);
    0x0000fde4 lw s4, 0x430(sp)                          |         s4 = *(var_430h);
    0x0000fde8 lw s3, 0x42c(sp)                          |         s3 = *(var_42ch);
    0x0000fdec lw s2, 0x428(sp)                          |         s2 = *(var_428h);
    0x0000fdf0 lw s1, 0x424(sp)                          |         s1 = *(var_424h);
    0x0000fdf4 lw s0, 0x420(sp)                          |         s0 = *(var_420h);
    0x0000fdf8 addiu sp, sp, 0x448                       |         
    0x0000fdfc jr ra                                     |         return v0;
                                                         | label_2:
    0x0000fe00 lw t9, -0x7ab0(gp)                        |         t9 = sym.imp.g_propagate_error;
    0x0000fe04 lw a1, 0x18(sp)                           |         a1 = *(var_18h);
    0x0000fe08 move a0, s7                               |         a0 = s7;
    0x0000fe0c jalr t9                                   |         t9 ();
    0x0000fe10 move s1, zero                             |         s1 = 0;
    0x0000fe14 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x0000fe18 b 0xfdb0                                  |         
                                                         |     } while (1);
                                                         | label_1:
    0x0000fe1c lw t9, -0x7ab0(gp)                        |     t9 = sym.imp.g_propagate_error;
    0x0000fe20 lw a1, 0x18(sp)                           |     a1 = *(var_18h);
    0x0000fe24 move a0, s7                               |     a0 = s7;
    0x0000fe28 jalr t9                                   |     t9 ();
    0x0000fe2c move s1, zero                             |     s1 = 0;
    0x0000fe30 lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x0000fe34 b 0xfdc0                                  |     goto label_0;
                                                         | label_3:
    0x0000fe38 lw t9, -0x7ba8(gp)                        |     t9 = sym.imp.__stack_chk_fail;
    0x0000fe3c jalr t9                                   |     t9 ();
    0x0000fe40 nop                                       |     
                                                         | }

[*] Function sprintf used 6 times actionengined