[*] Binary protection state of io2d

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


[*] Function fprintf tear down of io2d

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/io2d @ 0x1fe20 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0001fe20 ()                  | void fcn_0001fe20 () {
    0x0001fe20 lui gp, 3                     |     
    0x0001fe24 addiu gp, gp, -0x2da0         |     
    0x0001fe28 addu gp, gp, t9               |     gp += t9;
    0x0001fe2c addiu sp, sp, -0x50           |     
    0x0001fe30 lw t9, -0x78d4(gp)            |     t9 = sym.imp.g_strdup_printf;
    0x0001fe34 sw s2, 0x3c(sp)               |     *(var_3ch) = s2;
    0x0001fe38 lw s2, -0x7984(gp)            |     s2 = *((gp - 7777));
    0x0001fe3c sw s5, 0x48(sp)               |     *(var_48h) = s5;
    0x0001fe40 sw s0, 0x34(sp)               |     *(var_34h) = s0;
    0x0001fe44 move s5, a1                   |     s5 = a1;
    0x0001fe48 move s0, a0                   |     s0 = a0;
    0x0001fe4c lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0001fe50 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0001fe54 lw v0, (s2)                   |     v0 = *(s2);
    0x0001fe58 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x0001fe5c sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0001fe60 sw s4, 0x44(sp)               |     *(var_44h) = s4;
    0x0001fe64 sw s3, 0x40(sp)               |     *(var_40h) = s3;
    0x0001fe68 sw s1, 0x38(sp)               |     *(var_38h) = s1;
                                             |     /* str._com_axis_Configuration_Legacy_IOControl_IOPort */
    0x0001fe6c addiu a1, a1, -0x7b8          |     a1 += -0x7b8;
    0x0001fe70 move s1, a2                   |     s1 = a2;
                                             |     /* str._s__i */
    0x0001fe74 addiu a0, a0, -0x788          |     a0 += -0x788;
    0x0001fe78 move a2, s5                   |     a2 = s5;
    0x0001fe7c sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0001fe80 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x0001fe84 sll s1, s1, 2                 |     s1 <<= 2;
    0x0001fe88 jalr t9                       |     t9 ();
    0x0001fe8c lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x0001fe90 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0001fe94 lw a2, 8(v1)                  |     a2 = *((v1 + 2));
    0x0001fe98 lw a3, -0x7fd0(gp)            |     a3 = *((gp - 8180));
    0x0001fe9c lw a0, (s0)                   |     a0 = *(s0);
    0x0001fea0 lwx a2, s1(a2)                |     __asm ("lwx a2, s1(a2)");
    0x0001fea4 addiu s4, sp, 0x28            |     s4 = sp + 0x28;
    0x0001fea8 lw t9, -0x7854(gp)            |     t9 = sym.imp.g_dbus_connection_register_object;
    0x0001feac addiu a3, a3, 0x4fac          |     a3 += 0x4fac;
    0x0001feb0 move a1, v0                   |     a1 = v0;
    0x0001feb4 sw s4, 0x18(sp)               |     *(var_18h) = s4;
    0x0001feb8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0001febc sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x0001fec0 move s3, v0                   |     s3 = v0;
    0x0001fec4 jalr t9                       |     t9 ();
    0x0001fec8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0001fecc move s1, v0                   |     s1 = v0;
    0x0001fed0 lw t9, -0x7718(gp)            |     t9 = *((gp - 7622));
    0x0001fed4 move a0, s3                   |     a0 = s3;
    0x0001fed8 jalr t9                       |     t9 ();
    0x0001fedc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s1 == 0) {
    0x0001fee0 bnez s1, 0x1fef0              |         
    0x0001fee4 lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x0001fee8 lw v1, -0x792c(gp)            |         v1 = *((gp - 7755));
                                             |         if (v0 != 0) {
    0x0001feec bnez v0, 0x1ff3c              |             goto label_7;
                                             |         }
                                             |     }
    0x0001fef0 lw t9, -0x7a64(gp)            |     t9 = sym.imp.g_list_prepend;
    0x0001fef4 lw a0, 8(s0)                  |     a0 = *((s0 + 2));
    0x0001fef8 move a1, s1                   |     a1 = s1;
    0x0001fefc jalr t9                       |     t9 ();
    0x0001ff00 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0001ff04 sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
    0x0001ff08 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x0001ff0c lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x0001ff10 lw v1, (s2)                   |         v1 = *(s2);
    0x0001ff14 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
                                             |         if (a0 != v1) {
    0x0001ff18 bne a0, v1, 0x1ff84           |             goto label_8;
                                             |         }
    0x0001ff1c lw s5, 0x48(sp)               |         s5 = *(var_48h);
    0x0001ff20 lw s4, 0x44(sp)               |         s4 = *(var_44h);
    0x0001ff24 lw s3, 0x40(sp)               |         s3 = *(var_40h);
    0x0001ff28 lw s2, 0x3c(sp)               |         s2 = *(var_3ch);
    0x0001ff2c lw s1, 0x38(sp)               |         s1 = *(var_38h);
    0x0001ff30 lw s0, 0x34(sp)               |         s0 = *(var_34h);
    0x0001ff34 addiu sp, sp, 0x50            |         
    0x0001ff38 jr ra                         |         return v0;
                                             | label_7:
    0x0001ff3c sw s5, 0x14(sp)               |         *(var_14h) = s5;
    0x0001ff40 lw a2, -0x7fdc(gp)            |         a2 = *(gp);
    0x0001ff44 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x0001ff48 lw v0, 8(v0)                  |         v0 = *((v0 + 2));
    0x0001ff4c lw a0, (v1)                   |         a0 = *(v1);
    0x0001ff50 lw t9, -0x78f0(gp)            |         t9 = sym.imp.g_fprintf
    0x0001ff54 addiu a3, zero, 0x205         |         a3 = 0x205;
                                             |         /* str.iocontrol_conf_legacy_dbus_register_object */
    0x0001ff58 addiu a2, a2, 0x2b8           |         a2 += aav.0x000002b8;
                                             |         /* str._s__d:_Error:___s__when_registering_DBUS_object_for_port__d_n */
    0x0001ff5c addiu a1, a1, -0x780          |         a1 += -0x780;
    0x0001ff60 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0001ff64 jalr t9                       |         t9 ();
    0x0001ff68 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0001ff6c lw t9, -0x77e4(gp)            |         t9 = sym.imp.g_clear_error;
    0x0001ff70 move a0, s4                   |         a0 = s4;
    0x0001ff74 jalr t9                       |         t9 ();
    0x0001ff78 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0001ff7c move v0, zero                 |         v0 = 0;
    0x0001ff80 b 0x1ff0c                     |         
                                             |     } while (1);
                                             | label_8:
    0x0001ff84 lw t9, -0x7a10(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0001ff88 jalr t9                       |     t9 ();
    0x0001ff8c nop                           |     
    0x0001ff90 lui gp, 3                     |     
    0x0001ff94 addiu gp, gp, -0x2f10         |     
    0x0001ff98 addu gp, gp, t9               |     gp += t9;
    0x0001ff9c addiu sp, sp, -0x40           |     
    0x0001ffa0 sw s1, 0x2c(sp)               |     *(var_2ch_2) = s1;
    0x0001ffa4 lw s1, -0x7984(gp)            |     s1 = *((gp - 7777));
    0x0001ffa8 sw s0, 0x28(sp)               |     *(var_28h_2) = s0;
    0x0001ffac lw s0, 0x50(sp)               |     s0 = *(var_10h);
    0x0001ffb0 lw v0, (s1)                   |     v0 = *(s1);
    0x0001ffb4 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0001ffb8 sw s4, 0x38(sp)               |     *(var_38h_2) = s4;
    0x0001ffbc sw ra, 0x3c(sp)               |     *(var_3ch_2) = ra;
    0x0001ffc0 sw s3, 0x34(sp)               |     *(var_34h_2) = s3;
    0x0001ffc4 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x0001ffc8 lw s4, 0x54(sp)               |     s4 = *(var_14h);
    0x0001ffcc sw v0, 0x24(sp)               |     *(var_24h) = v0;
                                             |     if (s0 == 0) {
    0x0001ffd0 beql s0, zero, 0x20134        |         goto label_9;
                                             |     }
    0x0001ffd4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001ffd8 move s2, a2                   |     s2 = a2;
                                             |     if (a2 == 0) {
    0x0001ffdc beqz a2, 0x2015c              |         goto label_10;
                                             |     }
    0x0001ffe0 move s3, a3                   |     s3 = a3;
                                             |     if (a3 == 0) {
    0x0001ffe4 beqz a3, 0x20188              |         goto label_11;
                                             |     }
    0x0001ffe8 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0001ffec lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* str.NbrOfInputs */
    0x0001fff0 addiu a1, a1, -0x6d4          |     a1 += -0x6d4;
    0x0001fff4 move a0, s0                   |     a0 = s0;
    0x0001fff8 jalr t9                       |     t9 ();
    0x0001fffc lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x00020000 beqz v0, 0x200e0              |         
    0x00020004 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00020008 lw t9, -0x77d4(gp)            |         t9 = sym.imp.g_strcmp0;
                                             |         /* str.NbrOfOutputs */
    0x0002000c addiu a1, a1, -0x6c8          |         a1 += -0x6c8;
    0x00020010 move a0, s0                   |         a0 = s0;
    0x00020014 jalr t9                       |         t9 ();
    0x00020018 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 == 0) {
    0x0002001c beqz v0, 0x201b4              |             goto label_12;
                                             |         }
    0x00020020 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00020024 lw t9, -0x77d4(gp)            |         t9 = sym.imp.g_strcmp0;
                                             |         /* str.ManualTriggerNbr */
    0x00020028 addiu a1, a1, -0x6b8          |         a1 += -0x6b8;
    0x0002002c move a0, s0                   |         a0 = s0;
    0x00020030 jalr t9                       |         t9 ();
    0x00020034 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 == 0) {
    0x00020038 beqz v0, 0x201bc              |             goto label_13;
                                             |         }
    0x0002003c lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00020040 lw t9, -0x77d8(gp)            |         t9 = sym.imp.__isoc99_sscanf;
    0x00020044 addiu a2, sp, 0x20            |         a2 = sp + 0x20;
                                             |         /* str._com_axis_Configuration_Legacy_IOControl_IOPort__d */
    0x00020048 addiu a1, a1, -0x6a4          |         a1 += -0x6a4;
    0x0002004c move a0, s2                   |         a0 = s2;
    0x00020050 jalr t9                       |         t9 ();
    0x00020054 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 < 0) {
    0x00020058 bltz v0, 0x2026c              |             goto label_14;
                                             |         }
    0x0002005c lw t9, -0x7f58(gp)            |         t9 = sym.io_port_list_get_port;
    0x00020060 lw a0, 0x20(sp)               |         a0 = *(var_20h_2);
    0x00020064 bal 0xeeac                    |         sym_io_port_list_get_port ();
    0x00020068 move s2, v0                   |         s2 = v0;
    0x0002006c lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 == 0) {
    0x00020070 beqz v0, 0x202d4              |             goto label_15;
                                             |         }
    0x00020074 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00020078 lw t9, -0x77d4(gp)            |         t9 = sym.imp.g_strcmp0;
                                             |         /* esilref: 'Name' */
    0x0002007c addiu a1, a1, -0x5a8          |         a1 += -0x5a8;
    0x00020080 move a0, s0                   |         a0 = s0;
    0x00020084 jalr t9                       |         t9 ();
    0x00020088 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 != 0) {
    0x0002008c bnez v0, 0x201e4              |             goto label_16;
                                             |         }
    0x00020090 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00020094 lw t9, -0x77d0(gp)            |         t9 = sym.imp.g_strrstr;
                                             |         /* str.Input */
    0x00020098 addiu a1, a1, -0xc30          |         a1 += -0xc30;
    0x0002009c move a0, s3                   |         a0 = s3;
    0x000200a0 jalr t9                       |         t9 ();
    0x000200a4 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 == 0) {
    0x000200a8 beqz v0, 0x20308              |             goto label_17;
                                             |         }
    0x000200ac lw a0, 0x18(s2)               |         a0 = *((s2 + 6));
                                             |         if (a0 == 0) {
                                             | label_5:
    0x000200b0 beql a0, zero, 0x202cc        |             goto label_18;
                                             |         }
    0x000200b4 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
                                             | label_1:
    0x000200b8 lw t9, -0x78c4(gp)            |         t9 = sym.imp.g_variant_new_string;
                                             | label_3:
    0x000200bc jalr t9                       |         t9 ();
    0x000200c0 nop                           |         
    0x000200c4 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x000200c8 move s0, v0                   |         s0 = v0;
                                             | label_2:
    0x000200cc lw t9, -0x7f4c(gp)            |         t9 = sym.io_port_unref;
    0x000200d0 move a0, s2                   |         a0 = s2;
    0x000200d4 bal 0xeba4                    |         sym_io_port_unref ();
    0x000200d8 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x000200dc b 0x20104                     |         goto label_0;
                                             |     }
    0x000200e0 lw t9, -0x7f34(gp)            |     t9 = sym.io_port_list_nbr_inputs;
                                             |     do {
    0x000200e4 jalr t9                       |         t9 ();
    0x000200e8 nop                           |         
    0x000200ec lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x000200f0 lw t9, -0x78c0(gp)            |         t9 = sym.imp.g_variant_new_int32;
    0x000200f4 move a0, v0                   |         a0 = v0;
    0x000200f8 jalr t9                       |         t9 ();
    0x000200fc lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x00020100 move s0, v0                   |         s0 = v0;
                                             | label_0:
    0x00020104 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x00020108 lw v1, (s1)                   |         v1 = *(s1);
    0x0002010c move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x00020110 bne a0, v1, 0x20528           |             goto label_19;
                                             |         }
    0x00020114 lw ra, 0x3c(sp)               |         ra = *(var_3ch_2);
    0x00020118 lw s4, 0x38(sp)               |         s4 = *(var_38h_2);
    0x0002011c lw s3, 0x34(sp)               |         s3 = *(var_34h_2);
    0x00020120 lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x00020124 lw s1, 0x2c(sp)               |         s1 = *(var_2ch_2);
    0x00020128 lw s0, 0x28(sp)               |         s0 = *(var_28h_2);
    0x0002012c addiu sp, sp, 0x40            |         
    0x00020130 jr ra                         |         return v0;
                                             | label_9:
    0x00020134 lw a3, -0x7fdc(gp)            |         a3 = *(gp);
    0x00020138 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
                                             |         /* str.property_name___NULL */
    0x0002013c addiu v0, v0, -0x718          |         v0 += -0x718;
    0x00020140 lw t9, -0x78a8(gp)            |         t9 = sym.imp.g_assertion_message_expr;
    0x00020144 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
                                             |         /* str.iocontrol_conf_legacy_dbus_get_property */
    0x00020148 addiu a3, a3, 0x268           |         a3 += 0x268;
    0x0002014c addiu a2, zero, 0x84          |         a2 = 0x84;
                                             |         /* str.iocontrol_conf_legacy_dbus.c */
    0x00020150 addiu a1, a1, -0x738          |         a1 += -0x738;
    0x00020154 move a0, zero                 |         a0 = 0;
    0x00020158 jalr t9                       |         t9 ();
                                             | label_10:
    0x0002015c lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00020160 lw a3, -0x7fdc(gp)            |         a3 = *(gp);
    0x00020164 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
                                             |         /* str.object_path___NULL */
    0x00020168 addiu v0, v0, -0x700          |         v0 += -0x700;
    0x0002016c lw t9, -0x78a8(gp)            |         t9 = sym.imp.g_assertion_message_expr;
    0x00020170 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
                                             |         /* str.iocontrol_conf_legacy_dbus_get_property */
    0x00020174 addiu a3, a3, 0x268           |         a3 += 0x268;
    0x00020178 addiu a2, zero, 0x85          |         a2 = 0x85;
                                             |         /* str.iocontrol_conf_legacy_dbus.c */
    0x0002017c addiu a1, a1, -0x738          |         a1 += -0x738;
    0x00020180 move a0, zero                 |         a0 = 0;
    0x00020184 jalr t9                       |         t9 ();
                                             | label_11:
    0x00020188 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0002018c lw a3, -0x7fdc(gp)            |         a3 = *(gp);
    0x00020190 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
                                             |         /* str.interface_name___NULL */
    0x00020194 addiu v0, v0, -0x6ec          |         v0 += -0x6ec;
    0x00020198 lw t9, -0x78a8(gp)            |         t9 = sym.imp.g_assertion_message_expr;
    0x0002019c sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
                                             |         /* str.iocontrol_conf_legacy_dbus_get_property */
    0x000201a0 addiu a3, a3, 0x268           |         a3 += 0x268;
    0x000201a4 addiu a2, zero, 0x86          |         a2 = 0x86;
                                             |         /* str.iocontrol_conf_legacy_dbus.c */
    0x000201a8 addiu a1, a1, -0x738          |         a1 += -0x738;
    0x000201ac move a0, zero                 |         a0 = 0;
    0x000201b0 jalr t9                       |         t9 ();
                                             | label_12:
    0x000201b4 lw t9, -0x7f30(gp)            |         t9 = sym.io_port_list_nbr_outputs;
    0x000201b8 b 0x200e4                     |         
                                             |     } while (1);
                                             | label_13:
    0x000201bc lw t9, -0x7d74(gp)            |     t9 = sym.virtual_input_get_first_port_no;
    0x000201c0 bal 0x1fd9c                   |     sym_virtual_input_get_first_port_no ();
    0x000201c4 nop                           |     
    0x000201c8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x000201cc lw t9, -0x78c0(gp)            |     t9 = sym.imp.g_variant_new_int32;
    0x000201d0 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x000201d4 jalr t9                       |     t9 ();
    0x000201d8 move s0, v0                   |     s0 = v0;
    0x000201dc lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x000201e0 b 0x20104                     |     goto label_0;
                                             | label_16:
    0x000201e4 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x000201e8 lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* str.NbrOfIOPorts */
    0x000201ec addiu a1, a1, -0x658          |     a1 += -0x658;
    0x000201f0 move a0, s0                   |     a0 = s0;
    0x000201f4 jalr t9                       |     t9 ();
    0x000201f8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x000201fc beqz v0, 0x20234              |         
    0x00020200 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00020204 lw t9, -0x77d4(gp)            |         t9 = sym.imp.g_strcmp0;
                                             |         /* esilref: 'Trig' */
    0x00020208 addiu a1, a1, -0x58c          |         a1 += -0x58c;
    0x0002020c move a0, s0                   |         a0 = s0;
    0x00020210 jalr t9                       |         t9 ();
    0x00020214 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 != 0) {
    0x00020218 bnez v0, 0x20344              |             goto label_20;
                                             |         }
    0x0002021c lw v0, 0x2c(s2)               |         v0 = *((s2 + 11));
    0x00020220 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
                                             |         if (v0 == 0) {
    0x00020224 bnel v0, zero, 0x2033c        |             goto label_21;
                                             |         }
    0x00020228 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
                                             |         /* str.closed */
    0x0002022c addiu a0, a0, -0x2908         |         a0 += -0x2908;
    0x00020230 b 0x200b8                     |         goto label_1;
                                             |     }
    0x00020234 lw t9, -0x7f30(gp)            |     t9 = sym.io_port_list_nbr_outputs;
    0x00020238 bal 0xeeec                    |     sym_io_port_list_nbr_outputs ();
    0x0002023c nop                           |     
    0x00020240 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x00020244 lw t9, -0x7f34(gp)            |     t9 = sym.io_port_list_nbr_inputs;
    0x00020248 move s0, v0                   |     s0 = v0;
    0x0002024c bal 0xefd8                    |     sym_io_port_list_nbr_inputs ();
    0x00020250 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x00020254 lw t9, -0x78c0(gp)            |     t9 = sym.imp.g_variant_new_int32;
    0x00020258 addu a0, s0, v0               |     a0 = s0 + v0;
    0x0002025c jalr t9                       |     t9 ();
    0x00020260 move s0, v0                   |     s0 = v0;
    0x00020264 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x00020268 b 0x200cc                     |     goto label_2;
                                             | label_14:
    0x0002026c lw t9, -0x7a2c(gp)            |     t9 = sym.imp.g_dbus_error_quark;
    0x00020270 move s0, zero                 |     s0 = 0;
    0x00020274 jalr t9                       |     t9 ();
    0x00020278 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0002027c addiu a2, zero, 0x10          |     a2 = 0x10;
    0x00020280 move a1, v0                   |     a1 = v0;
    0x00020284 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00020288 lw t9, -0x797c(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.Incorrect_port_object */
    0x0002028c addiu a3, a3, -0x670          |     a3 += -0x670;
    0x00020290 move a0, s4                   |     a0 = s4;
    0x00020294 jalr t9                       |     t9 ();
    0x00020298 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0002029c b 0x20104                     |     goto label_0;
                                             | label_6:
    0x000202a0 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x000202a4 lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* str.Usage */
    0x000202a8 addiu a1, a1, -0x1fc8         |     a1 += -0x1fc8;
    0x000202ac move a0, s0                   |     a0 = s0;
    0x000202b0 jalr t9                       |     t9 ();
    0x000202b4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x000202b8 bnez v0, 0x2037c              |         goto label_22;
                                             |     }
    0x000202bc lw a0, 0x20(s2)               |     a0 = *((s2 + 8));
    0x000202c0 lw t9, -0x78c4(gp)            |     t9 = sym.imp.g_variant_new_string;
                                             |     if (a0 != 0) {
    0x000202c4 bnez a0, 0x200bc              |         goto label_3;
                                             |     }
    0x000202c8 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str._NULL_ */
                                             | label_18:
    0x000202cc addiu a0, a0, -0x740          |     a0 += -0x740;
    0x000202d0 b 0x200b8                     |     goto label_1;
                                             | label_15:
    0x000202d4 lw t9, -0x7f50(gp)            |     t9 = sym.io_control_error_quark;
    0x000202d8 move s0, zero                 |     s0 = 0;
    0x000202dc bal 0x1fdc0                   |     sym_io_control_error_quark ();
    0x000202e0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x000202e4 addiu a2, zero, 1             |     a2 = 1;
    0x000202e8 move a1, v0                   |     a1 = v0;
    0x000202ec lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x000202f0 lw t9, -0x797c(gp)            |     t9 = sym.imp.g_set_error;
                                             |     /* str.No_such_port. */
    0x000202f4 addiu a3, a3, -0x29b8         |     a3 += -0x29b8;
    0x000202f8 move a0, s4                   |     a0 = s4;
    0x000202fc jalr t9                       |     t9 ();
    0x00020300 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x00020304 b 0x20104                     |     goto label_0;
                                             | label_17:
    0x00020308 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0002030c lw t9, -0x77d0(gp)            |     t9 = sym.imp.g_strrstr;
                                             |     /* str.Output */
    0x00020310 addiu a1, a1, -0xc28          |     a1 += -0xc28;
    0x00020314 move a0, s3                   |     a0 = s3;
    0x00020318 jalr t9                       |     t9 ();
    0x0002031c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x00020320 beqz v0, 0x20414              |         goto label_23;
                                             |     }
    0x00020324 lw a0, 0x1c(s2)               |     a0 = *((s2 + 7));
                                             | label_4:
    0x00020328 lw t9, -0x78c4(gp)            |     t9 = sym.imp.g_variant_new_string;
                                             |     if (a0 != 0) {
    0x0002032c bnez a0, 0x200bc              |         goto label_3;
                                             |     }
    0x00020330 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str._NULL_ */
    0x00020334 addiu a0, a0, -0x740          |     a0 += -0x740;
    0x00020338 b 0x200bc                     |     goto label_3;
                                             |     /* str.open */
                                             | label_21:
    0x0002033c addiu a0, a0, -0x292c         |     a0 += -0x292c;
    0x00020340 b 0x200b8                     |     goto label_1;
                                             | label_20:
    0x00020344 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00020348 lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* str.Configurable */
    0x0002034c addiu a1, a1, -0x648          |     a1 += -0x648;
    0x00020350 move a0, s0                   |     a0 = s0;
    0x00020354 jalr t9                       |     t9 ();
    0x00020358 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x0002035c bnez v0, 0x203a4              |         goto label_24;
                                             |     }
    0x00020360 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00020364 lw t9, -0x7f54(gp)            |     t9 = sym.io_port_get_property;
                                             |     /* str.ioport */
    0x00020368 addiu a1, a1, -0x29c0         |     a1 += -0x29c0;
    0x0002036c move a0, s2                   |     a0 = s2;
    0x00020370 bal 0xe530                    |     sym_io_port_get_property ();
    0x00020374 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x00020378 bnez v0, 0x20384              |     
                                             |     while (v0 == 0) {
                                             | label_22:
    0x0002037c move s0, zero                 |         s0 = 0;
    0x00020380 b 0x200cc                     |         goto label_2;
    0x00020384 lw a0, (s2)                   |         a0 = *(s2);
    0x00020388 lw t9, -0x77f0(gp)            |         t9 = sym.imp.g_variant_new_boolean;
    0x0002038c xori a0, a0, 2                |         a0 ^= 2;
    0x00020390 sltiu a0, a0, 1               |         a0 = (a0 < 1) ? 1 : 0;
    0x00020394 jalr t9                       |         t9 ();
    0x00020398 move s0, v0                   |         s0 = v0;
    0x0002039c lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x000203a0 b 0x200cc                     |         goto label_2;
                                             | label_24:
    0x000203a4 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x000203a8 lw t9, -0x77d4(gp)            |         t9 = sym.imp.g_strcmp0;
                                             |         /* str.Direction */
    0x000203ac addiu a1, a1, -0x2028         |         a1 += -0x2028;
    0x000203b0 move a0, s0                   |         a0 = s0;
    0x000203b4 jalr t9                       |         t9 ();
    0x000203b8 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 != 0) {
    0x000203bc bnez v0, 0x20428              |             goto label_25;
                                             |         }
    0x000203c0 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x000203c4 lw t9, -0x7f54(gp)            |         t9 = sym.io_port_get_property;
                                             |         /* str.ioport */
    0x000203c8 addiu a1, a1, -0x29c0         |         a1 += -0x29c0;
    0x000203cc move a0, s2                   |         a0 = s2;
    0x000203d0 bal 0xe530                    |         sym_io_port_get_property ();
    0x000203d4 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x000203d8 beqz v0, 0x2037c              |         
                                             |     }
    0x000203dc lw v0, (s2)                   |     v0 = *(s2);
    0x000203e0 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v0 == v1) {
    0x000203e4 beql v0, v1, 0x204f4          |         goto label_26;
                                             |     }
    0x000203e8 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000203ec addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 == 0) {
    0x000203f0 beqz v0, 0x2050c              |         goto label_27;
                                             |     }
    0x000203f4 move s0, zero                 |     s0 = 0;
                                             |     if (v0 != v1) {
    0x000203f8 bne v0, v1, 0x200cc           |         goto label_2;
                                             |     }
    0x000203fc lw v0, 0x30(s2)               |     v0 = *((s2 + 12));
    0x00020400 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x00020404 bnel v0, zero, 0x20580        |         goto label_28;
                                             |     }
    0x00020408 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
                                             |     /* str.output */
    0x0002040c addiu a0, a0, -0x298c         |     a0 += -0x298c;
    0x00020410 b 0x200b8                     |     goto label_1;
                                             | label_23:
    0x00020414 lw v0, 0x30(s2)               |     v0 = *((s2 + 12));
                                             |     if (v0 == 0) {
    0x00020418 beql v0, zero, 0x20328        |         goto label_4;
                                             |     }
    0x0002041c lw a0, 0x1c(s2)               |     a0 = *((s2 + 7));
    0x00020420 lw a0, 0x18(s2)               |     a0 = *((s2 + 6));
    0x00020424 b 0x200b0                     |     goto label_5;
                                             | label_25:
    0x00020428 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0002042c lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* esilref: 'Active' */
    0x00020430 addiu a1, a1, -0x518          |     a1 += -0x518;
    0x00020434 move a0, s0                   |     a0 = s0;
    0x00020438 jalr t9                       |     t9 ();
    0x0002043c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x00020440 bnez v0, 0x20480              |         
    0x00020444 lw v0, 0x28(s2)               |         v0 = *((s2 + 10));
    0x00020448 lw t9, -0x78c4(gp)            |         t9 = sym.imp.g_variant_new_string;
                                             |         if (v0 != 0) {
    0x0002044c beqz v0, 0x20468              |             
    0x00020450 lw a0, -0x7fdc(gp)            |             a0 = *(gp);
                                             |             /* str.open */
    0x00020454 addiu a0, a0, -0x292c         |             a0 += -0x292c;
    0x00020458 jalr t9                       |             t9 ();
    0x0002045c move s0, v0                   |             s0 = v0;
    0x00020460 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
    0x00020464 b 0x200cc                     |             goto label_2;
                                             |         }
    0x00020468 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
                                             |         /* str.closed */
    0x0002046c addiu a0, a0, -0x2908         |         a0 += -0x2908;
    0x00020470 jalr t9                       |         t9 ();
    0x00020474 move s0, v0                   |         s0 = v0;
    0x00020478 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0002047c b 0x200cc                     |         goto label_2;
                                             |     }
    0x00020480 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00020484 lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* esilref: 'Button' */
    0x00020488 addiu a1, a1, -0x484          |     a1 += -0x484;
    0x0002048c move a0, s0                   |     a0 = s0;
    0x00020490 jalr t9                       |     t9 ();
    0x00020494 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x00020498 bnez v0, 0x204c0              |         
    0x0002049c lw v0, 0x38(s2)               |         v0 = *((s2 + 14));
    0x000204a0 lw a0, -0x7c84(gp)            |         a0 = *(gp);
    0x000204a4 sll v0, v0, 2                 |         v0 <<= 2;
    0x000204a8 lw t9, -0x78c4(gp)            |         t9 = sym.imp.g_variant_new_string;
    0x000204ac lwx a0, v0(a0)                |         __asm ("lwx a0, v0(a0)");
    0x000204b0 jalr t9                       |         t9 ();
    0x000204b4 move s0, v0                   |         s0 = v0;
    0x000204b8 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x000204bc b 0x200cc                     |         goto label_2;
                                             |     }
    0x000204c0 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x000204c4 lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* str.PulseTime */
    0x000204c8 addiu a1, a1, -0xb80          |     a1 += -0xb80;
    0x000204cc move a0, s0                   |     a0 = s0;
    0x000204d0 jalr t9                       |     t9 ();
    0x000204d4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x000204d8 bnez v0, 0x20534              |         
    0x000204dc lw t9, -0x78c0(gp)            |         t9 = sym.imp.g_variant_new_int32;
    0x000204e0 lw a0, 0x3c(s2)               |         a0 = *((s2 + 15));
    0x000204e4 jalr t9                       |         t9 ();
    0x000204e8 move s0, v0                   |         s0 = v0;
    0x000204ec lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x000204f0 b 0x200cc                     |         goto label_2;
                                             | label_26:
    0x000204f4 lw t9, -0x78c4(gp)            |         t9 = sym.imp.g_variant_new_string;
                                             |         /* str.output */
    0x000204f8 addiu a0, a0, -0x298c         |         a0 += -0x298c;
    0x000204fc jalr t9                       |         t9 ();
    0x00020500 move s0, v0                   |         s0 = v0;
    0x00020504 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x00020508 b 0x200cc                     |         goto label_2;
                                             | label_27:
    0x0002050c lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00020510 lw t9, -0x78c4(gp)            |         t9 = sym.imp.g_variant_new_string;
                                             |         /* str.input */
    0x00020514 addiu a0, a0, -0x2994         |         a0 += -0x2994;
    0x00020518 jalr t9                       |         t9 ();
    0x0002051c move s0, v0                   |         s0 = v0;
    0x00020520 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x00020524 b 0x200cc                     |         goto label_2;
                                             | label_19:
    0x00020528 lw t9, -0x7a10(gp)            |         t9 = sym.imp.__stack_chk_fail;
    0x0002052c jalr t9                       |         t9 ();
    0x00020530 nop                           |         
                                             |     }
    0x00020534 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00020538 lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* esilref: 'Mode' */
    0x0002053c addiu a1, a1, -0x4e4          |     a1 += -0x4e4;
    0x00020540 move a0, s0                   |     a0 = s0;
    0x00020544 jalr t9                       |     t9 ();
    0x00020548 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0002054c bnez v0, 0x20588              |         
    0x00020550 lw t9, -0x7c38(gp)            |         t9 = sym.io_port_get_mode;
    0x00020554 move a0, s2                   |         a0 = s2;
    0x00020558 bal 0xe9c4                    |         sym_io_port_get_mode ();
    0x0002055c lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x00020560 sll v0, v0, 2                 |         v0 <<= 2;
    0x00020564 lw a0, -0x7c88(gp)            |         a0 = *(gp);
    0x00020568 lw t9, -0x78c4(gp)            |         t9 = sym.imp.g_variant_new_string;
    0x0002056c lwx a0, v0(a0)                |         __asm ("lwx a0, v0(a0)");
    0x00020570 jalr t9                       |         t9 ();
    0x00020574 move s0, v0                   |         s0 = v0;
    0x00020578 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0002057c b 0x200cc                     |         goto label_2;
                                             |         /* str.input */
                                             | label_28:
    0x00020580 addiu a0, a0, -0x2994         |         a0 += -0x2994;
    0x00020584 b 0x200b8                     |         goto label_1;
                                             |     }
    0x00020588 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0002058c lw t9, -0x77d4(gp)            |     t9 = sym.imp.g_strcmp0;
                                             |     /* str.DelayTime */
    0x00020590 addiu a1, a1, -0xb74          |     a1 += -0xb74;
    0x00020594 move a0, s0                   |     a0 = s0;
    0x00020598 jalr t9                       |     t9 ();
    0x0002059c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x000205a0 bnez v0, 0x202a0              |         goto label_6;
                                             |     }
    0x000205a4 lw t9, -0x7c34(gp)            |     t9 = sym.io_port_get_delay_time;
    0x000205a8 move a0, s2                   |     a0 = s2;
    0x000205ac bal 0xe9ec                    |     sym_io_port_get_delay_time ();
    0x000205b0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x000205b4 lw t9, -0x78c0(gp)            |     t9 = sym.imp.g_variant_new_int32;
    0x000205b8 move a0, v0                   |     a0 = v0;
    0x000205bc jalr t9                       |     t9 ();
    0x000205c0 move s0, v0                   |     s0 = v0;
    0x000205c4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x000205c8 b 0x200cc                     |     goto label_2;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/io2d @ 0x1d148 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.param_get_conf_vals ()           | void param_get_conf_vals () {
    0x0001d148 lui gp, 3                         |     
    0x0001d14c addiu gp, gp, -0xc8               |     
    0x0001d150 addu gp, gp, t9                   |     gp += t9;
    0x0001d154 addiu sp, sp, -0x48               |     
    0x0001d158 sw s2, 0x38(sp)                   |     *(var_38h) = s2;
    0x0001d15c sw s1, 0x34(sp)                   |     *(var_34h) = s1;
    0x0001d160 lw s2, -0x7984(gp)                |     s2 = *((gp - 7777));
    0x0001d164 lw s1, -0x7c94(gp)                |     s1 = *(gp);
    0x0001d168 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0001d16c lw v1, (s2)                       |     v1 = *(s2);
    0x0001d170 lw v0, (s1)                       |     v0 = *(s1);
    0x0001d174 sw ra, 0x44(sp)                   |     *(var_44h) = ra;
    0x0001d178 sw s4, 0x40(sp)                   |     *(var_40h) = s4;
    0x0001d17c sw s3, 0x3c(sp)                   |     *(var_3ch) = s3;
    0x0001d180 sw s0, 0x30(sp)                   |     *(var_30h) = s0;
    0x0001d184 sw v1, 0x2c(sp)                   |     *(var_2ch) = v1;
    0x0001d188 sw zero, 0x24(sp)                 |     *(var_24h) = 0;
    0x0001d18c sw zero, 0x28(sp)                 |     *(var_28h) = 0;
                                                 |     if (v0 == 0) {
    0x0001d190 beqz v0, 0x1d460                  |         goto label_8;
                                                 |     }
    0x0001d194 lw t9, -0x7a70(gp)                |     t9 = sym.imp.g_mutex_lock;
    0x0001d198 move s0, a0                       |     s0 = a0;
    0x0001d19c lw a0, -0x7c98(gp)                |     a0 = *(gp);
    0x0001d1a0 jalr t9                           |     t9 ();
    0x0001d1a4 nop                               |     
    0x0001d1a8 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d1ac lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (a1 == 0) {
    0x0001d1b0 beqz a1, 0x1d4e8                  |         goto label_9;
                                                 |     }
    0x0001d1b4 lw t9, -0x786c(gp)                |     t9 = sym.imp.g_key_file_has_group;
    0x0001d1b8 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d1bc jalr t9                           |     t9 ();
    0x0001d1c0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001d1c4 beqz v0, 0x1d27c                  |         goto label_10;
                                                 |     }
    0x0001d1c8 lw v0, (s0)                       |     v0 = *(s0);
    0x0001d1cc addiu v1, zero, 2                 |     v1 = 2;
    0x0001d1d0 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
                                                 |     if (v0 == v1) {
    0x0001d1d4 beq v0, v1, 0x1d50c               |         goto label_11;
                                                 |     }
    0x0001d1d8 addiu s3, sp, 0x24                |     s3 = sp + 0x24;
                                                 |     if (v0 != 0) {
    0x0001d1dc bnez v0, 0x1d300                  |         goto label_12;
                                                 |     }
    0x0001d1e0 lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
                                                 | label_4:
    0x0001d1e4 lw a0, 0x18(s0)                   |     a0 = *((s0 + 6));
    0x0001d1e8 jalr t9                           |     t9 ();
    0x0001d1ec lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d1f0 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d1f4 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d1f8 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d1fc lw t9, -0x7798(gp)                |     t9 = sym.imp.g_key_file_get_string;
    0x0001d200 move a3, s3                       |     a3 = s3;
                                                 |     /* str.input_name */
    0x0001d204 addiu a2, a2, -0xd5c              |     a2 += -0xd5c;
    0x0001d208 jalr t9                           |     t9 ();
    0x0001d20c lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d210 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d214 sw v0, 0x18(s0)                   |     *((s0 + 6)) = v0;
                                                 |     if (v1 == 0) {
    0x0001d218 beqz v1, 0x1d2d0                  |         goto label_13;
                                                 |     }
    0x0001d21c lw a0, -0x7fdc(gp)                |     a0 = *(gp);
    0x0001d220 lw t9, -0x788c(gp)                |     t9 = sym.imp.g_printf;
    0x0001d224 lw a2, 0x24(s0)                   |     a2 = *((s0 + 9));
    0x0001d228 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
                                                 |     /* str.No_input_name_for_port__s:_d_n */
    0x0001d22c addiu a0, a0, -0xd50              |     a0 += -0xd50;
    0x0001d230 jalr t9                           |     t9 ();
    0x0001d234 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d238 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d23c addiu s0, zero, 1                 |     s0 = 1;
                                                 |     if (v1 == 0) {
    0x0001d240 beqz v1, 0x1d28c                  |         goto label_6;
                                                 |     }
                                                 | label_0:
    0x0001d244 lw v0, -0x792c(gp)                |     v0 = *((gp - 7755));
                                                 |     do {
    0x0001d248 lw a1, -0x7fdc(gp)                |         a1 = *(gp);
    0x0001d24c lw t9, -0x78f0(gp)                |         t9 = sym.imp.g_fprintf
    0x0001d250 lw a2, 8(v1)                      |         a2 = *((v1 + 2));
    0x0001d254 lw a0, (v0)                       |         a0 = *(v0);
                                                 |         /* str.Error_parsing_param_file:__s_n */
    0x0001d258 addiu a1, a1, -0xcbc              |         a1 += -0xcbc;
    0x0001d25c jalr t9                           |         t9 ();
    0x0001d260 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001d264 lw a0, 0x24(sp)                   |         a0 = *(var_24h);
    0x0001d268 lw t9, -0x7ad8(gp)                |         t9 = sym.imp.g_error_free;
    0x0001d26c move s0, zero                     |         s0 = 0;
    0x0001d270 jalr t9                           |         t9 ();
    0x0001d274 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001d278 b 0x1d28c                         |         goto label_6;
                                                 | label_10:
    0x0001d27c move s0, zero                     |         s0 = 0;
                                                 | label_1:
    0x0001d280 lw v1, 0x24(sp)                   |         v1 = *(var_24h);
    0x0001d284 lw v0, -0x792c(gp)                |         v0 = *((gp - 7755));
    0x0001d288 bnez v1, 0x1d248                  |         
                                                 |     } while (v1 != 0);
                                                 | label_6:
    0x0001d28c lw t9, -0x7918(gp)                |     t9 = sym.imp.g_mutex_unlock;
    0x0001d290 lw a0, -0x7c98(gp)                |     a0 = *(gp);
    0x0001d294 jalr t9                           |     t9 ();
    0x0001d298 nop                               |     
    0x0001d29c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 | label_2:
    0x0001d2a0 lw a0, 0x2c(sp)                   |     a0 = *(var_2ch);
    0x0001d2a4 lw v1, (s2)                       |     v1 = *(s2);
    0x0001d2a8 move v0, s0                       |     v0 = s0;
                                                 |     if (a0 != v1) {
    0x0001d2ac bne a0, v1, 0x1d724               |         goto label_14;
                                                 |     }
    0x0001d2b0 lw ra, 0x44(sp)                   |     ra = *(var_44h);
    0x0001d2b4 lw s4, 0x40(sp)                   |     s4 = *(var_40h);
    0x0001d2b8 lw s3, 0x3c(sp)                   |     s3 = *(var_3ch);
    0x0001d2bc lw s2, 0x38(sp)                   |     s2 = *(var_38h);
    0x0001d2c0 lw s1, 0x34(sp)                   |     s1 = *(var_34h);
    0x0001d2c4 lw s0, 0x30(sp)                   |     s0 = *(var_30h);
    0x0001d2c8 addiu sp, sp, 0x48                |     
    0x0001d2cc jr ra                             |     return v0;
                                                 | label_13:
    0x0001d2d0 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d2d4 lw t9, -0x7960(gp)                |     t9 = sym.imp.g_key_file_get_boolean;
    0x0001d2d8 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d2dc lw a0, (s1)                       |     a0 = *(s1);
    0x0001d2e0 move a3, s3                       |     a3 = s3;
                                                 |     /* str.input_activelow */
    0x0001d2e4 addiu a2, a2, -0xd30              |     a2 += -0xd30;
    0x0001d2e8 jalr t9                           |     t9 ();
    0x0001d2ec lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d2f0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d2f4 sw v0, 0x2c(s0)                   |     *((s0 + 11)) = v0;
                                                 |     if (v1 != 0) {
    0x0001d2f8 bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
    0x0001d2fc lw v0, (s0)                       |     v0 = *(s0);
                                                 | label_12:
    0x0001d300 addiu v0, v0, -1                  |     v0 += -1;
                                                 | label_3:
    0x0001d304 sltiu v0, v0, 2                   |     v0 = (v0 < 2) ? 1 : 0;
    0x0001d308 lw t9, -0x7de0(gp)                |     t9 = sym.io_port_is_supervisable;
                                                 |     if (v0 != 0) {
    0x0001d30c bnez v0, 0x1d488                  |         goto label_15;
                                                 |     }
                                                 | label_5:
    0x0001d310 move a0, s0                       |     a0 = s0;
    0x0001d314 bal 0xc64c                        |     sym_io_port_is_supervisable ();
    0x0001d318 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001d31c beqz v0, 0x1d420                  |         goto label_16;
                                                 |     }
    0x0001d320 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d324 lw t9, -0x7798(gp)                |     t9 = sym.imp.g_key_file_get_string;
    0x0001d328 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d32c lw a0, (s1)                       |     a0 = *(s1);
    0x0001d330 move a3, s3                       |     a3 = s3;
                                                 |     /* str.supervised_input_ranges */
    0x0001d334 addiu a2, a2, -0xcd4              |     a2 += -aav.0x00000cd4;
    0x0001d338 jalr t9                           |     t9 ();
    0x0001d33c lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d340 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d344 move s4, v0                       |     s4 = v0;
                                                 |     if (v1 != 0) {
    0x0001d348 bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
    0x0001d34c lw t9, -0x79ac(gp)                |     t9 = sym.imp.g_variant_parse;
    0x0001d350 move a3, zero                     |     a3 = 0;
    0x0001d354 move a2, zero                     |     a2 = 0;
    0x0001d358 move a1, v0                       |     a1 = v0;
    0x0001d35c move a0, zero                     |     a0 = 0;
    0x0001d360 sw s3, 0x10(sp)                   |     *(var_10h) = s3;
    0x0001d364 jalr t9                           |     t9 ();
    0x0001d368 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d36c move a0, s4                       |     a0 = s4;
    0x0001d370 lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
    0x0001d374 move s4, v0                       |     s4 = v0;
    0x0001d378 jalr t9                           |     t9 ();
    0x0001d37c lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d380 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v1 != 0) {
    0x0001d384 bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
    0x0001d388 lw t9, -0x7c90(gp)                |     t9 = sym.supervised_gvariant2ranges;
    0x0001d38c move a0, s4                       |     a0 = s4;
    0x0001d390 bal 0x223a0                       |     sym_supervised_gvariant2ranges ();
    0x0001d394 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d398 move a0, s4                       |     a0 = s4;
    0x0001d39c lw t9, -0x7a24(gp)                |     t9 = sym.imp.g_variant_unref;
    0x0001d3a0 move s4, v0                       |     s4 = v0;
    0x0001d3a4 jalr t9                           |     t9 ();
    0x0001d3a8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d3ac addiu a1, sp, 0x28                |     a1 = sp + 0x28;
    0x0001d3b0 lw t9, -0x7dcc(gp)                |     t9 = sym.io_port_get_supervised_ranges;
    0x0001d3b4 move a0, s0                       |     a0 = s0;
    0x0001d3b8 bal 0xcd48                        |     sym_io_port_get_supervised_ranges ();
    0x0001d3bc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d3c0 move a2, s3                       |     a2 = s3;
    0x0001d3c4 move a1, s4                       |     a1 = s4;
    0x0001d3c8 lw t9, -0x7dc4(gp)                |     t9 = sym.io_port_set_supervised_ranges;
    0x0001d3cc move a0, s0                       |     a0 = s0;
    0x0001d3d0 bal 0xcc7c                        |     sym_io_port_set_supervised_ranges ();
    0x0001d3d4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001d3d8 beqz v0, 0x1d70c                  |         goto label_17;
                                                 |     }
    0x0001d3dc lw a0, 0x28(sp)                   |     a0 = *(var_28h);
    0x0001d3e0 lw t9, -0x7c8c(gp)                |     t9 = sym.io_port_clear_ranges;
                                                 |     if (a0 != 0) {
    0x0001d3e4 beqz a0, 0x1d3f4                  |         
    0x0001d3e8 bal 0xe038                        |         sym_io_port_clear_ranges ();
    0x0001d3ec nop                               |         
    0x0001d3f0 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |     }
    0x0001d3f4 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d3f8 lw t9, -0x7960(gp)                |     t9 = sym.imp.g_key_file_get_boolean;
    0x0001d3fc lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d400 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d404 move a3, s3                       |     a3 = s3;
                                                 |     /* str.supervised_input */
    0x0001d408 addiu a2, a2, -0x22dc             |     a2 += -0x22dc;
    0x0001d40c jalr t9                           |     t9 ();
    0x0001d410 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d414 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d418 sw v0, 0x34(s0)                   |     *((s0 + 13)) = v0;
                                                 |     if (v1 != 0) {
    0x0001d41c bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
                                                 | label_16:
    0x0001d420 lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
    0x0001d424 lw a0, 0x20(s0)                   |     a0 = *((s0 + 8));
    0x0001d428 jalr t9                           |     t9 ();
    0x0001d42c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d430 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d434 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d438 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d43c lw t9, -0x7798(gp)                |     t9 = sym.imp.g_key_file_get_string;
    0x0001d440 move a3, s3                       |     a3 = s3;
                                                 |     /* str.usage */
    0x0001d444 addiu a2, a2, -0x2340             |     a2 += -0x2340;
    0x0001d448 jalr t9                           |     t9 ();
    0x0001d44c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d450 sw v0, 0x20(s0)                   |     *((s0 + 8)) = v0;
                                                 |     if (v0 == 0) {
    0x0001d454 beqz v0, 0x1d684                  |         goto label_18;
                                                 |     }
    0x0001d458 addiu s0, zero, 1                 |     s0 = 1;
    0x0001d45c b 0x1d280                         |     goto label_1;
                                                 | label_8:
    0x0001d460 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d464 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001d468 lw t9, -0x7964(gp)                |     t9 = sym.imp.g_return_if_fail_warning;
                                                 |     /* str.key_file___NULL */
    0x0001d46c addiu a2, a2, -0xd8c              |     a2 += -0xd8c;
                                                 |     /* str.param_get_conf_vals */
    0x0001d470 addiu a1, a1, -0xa38              |     a1 += -0xa38;
    0x0001d474 move a0, zero                     |     a0 = 0;
    0x0001d478 jalr t9                           |     t9 ();
    0x0001d47c move s0, zero                     |     s0 = 0;
    0x0001d480 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d484 b 0x1d2a0                         |     goto label_2;
                                                 | label_15:
    0x0001d488 lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
    0x0001d48c lw a0, 0x1c(s0)                   |     a0 = *((s0 + 7));
    0x0001d490 jalr t9                           |     t9 ();
    0x0001d494 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d498 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d49c lw a0, (s1)                       |     a0 = *(s1);
    0x0001d4a0 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d4a4 lw t9, -0x7798(gp)                |     t9 = sym.imp.g_key_file_get_string;
    0x0001d4a8 move a3, s3                       |     a3 = s3;
                                                 |     /* str.output_name */
    0x0001d4ac addiu a2, a2, -0xd20              |     a2 += -0xd20;
    0x0001d4b0 jalr t9                           |     t9 ();
    0x0001d4b4 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d4b8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d4bc sw v0, 0x1c(s0)                   |     *((s0 + 7)) = v0;
                                                 |     if (v1 == 0) {
    0x0001d4c0 beqz v1, 0x1d554                  |         goto label_19;
                                                 |     }
    0x0001d4c4 lw a0, -0x7fdc(gp)                |     a0 = *(gp);
    0x0001d4c8 lw t9, -0x788c(gp)                |     t9 = sym.imp.g_printf;
    0x0001d4cc lw a2, 0x24(s0)                   |     a2 = *((s0 + 9));
    0x0001d4d0 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
                                                 |     /* str.No_output_name_for_port__s:_d_n */
    0x0001d4d4 addiu a0, a0, -0xd14              |     a0 += -0xd14;
    0x0001d4d8 jalr t9                           |     t9 ();
    0x0001d4dc addiu s0, zero, 1                 |     s0 = 1;
    0x0001d4e0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d4e4 b 0x1d280                         |     goto label_1;
                                                 | label_9:
    0x0001d4e8 lw v0, -0x792c(gp)                |     v0 = *((gp - 7755));
    0x0001d4ec lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001d4f0 lw t9, -0x78f0(gp)                |     t9 = sym.imp.g_fprintf
    0x0001d4f4 lw a0, (v0)                       |     a0 = *(v0);
                                                 |     /* str.Port_does_not_have_a_name__n */
    0x0001d4f8 addiu a1, a1, -0xd78              |     a1 += -0xd78;
    0x0001d4fc jalr t9                           |     t9 ();
    0x0001d500 move s0, zero                     |     s0 = 0;
    0x0001d504 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d508 b 0x1d280                         |     goto label_1;
                                                 | label_11:
    0x0001d50c lw t9, -0x7960(gp)                |     t9 = sym.imp.g_key_file_get_boolean;
    0x0001d510 addiu s3, sp, 0x24                |     s3 = sp + 0x24;
    0x0001d514 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d518 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d51c move a3, s3                       |     a3 = s3;
                                                 |     /* str.input */
    0x0001d520 addiu a2, a2, -0x2994             |     a2 += -0x2994;
    0x0001d524 jalr t9                           |     t9 ();
    0x0001d528 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d52c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d530 sw v0, 0x30(s0)                   |     *((s0 + 12)) = v0;
                                                 |     if (v1 != 0) {
    0x0001d534 bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
    0x0001d538 lw v0, (s0)                       |     v0 = *(s0);
    0x0001d53c addiu v1, zero, -3                |     v1 = -3;
    0x0001d540 and v1, v0, v1                    |     v1 = v0 & v1;
    0x0001d544 addiu v0, v0, -1                  |     v0 += -1;
                                                 |     if (v1 != 0) {
    0x0001d548 bnez v1, 0x1d304                  |         goto label_3;
                                                 |     }
    0x0001d54c lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
    0x0001d550 b 0x1d1e4                         |     goto label_4;
                                                 | label_19:
    0x0001d554 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d558 lw t9, -0x7960(gp)                |     t9 = sym.imp.g_key_file_get_boolean;
    0x0001d55c lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d560 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d564 move a3, s3                       |     a3 = s3;
                                                 |     /* str.output_activelow */
    0x0001d568 addiu a2, a2, -0xcf4              |     a2 += -0xcf4;
    0x0001d56c jalr t9                           |     t9 ();
    0x0001d570 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d574 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d578 sw v0, 0x28(s0)                   |     *((s0 + 10)) = v0;
                                                 |     if (v1 != 0) {
    0x0001d57c bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
    0x0001d580 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d584 lw t9, -0x7798(gp)                |     t9 = sym.imp.g_key_file_get_string;
    0x0001d588 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d58c lw a0, (s1)                       |     a0 = *(s1);
    0x0001d590 move a3, s3                       |     a3 = s3;
                                                 |     /* str.button_type */
    0x0001d594 addiu a2, a2, -0x2374             |     a2 += -0x2374;
    0x0001d598 jalr t9                           |     t9 ();
    0x0001d59c lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d5a0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d5a4 move s4, v0                       |     s4 = v0;
                                                 |     if (v1 == 0) {
    0x0001d5a8 beqz v1, 0x1d6c0                  |         goto label_20;
                                                 |     }
                                                 | label_7:
    0x0001d5ac lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
    0x0001d5b0 move a0, s4                       |     a0 = s4;
    0x0001d5b4 jalr t9                           |     t9 ();
    0x0001d5b8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d5bc lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d5c0 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d5c4 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d5c8 lw t9, -0x7a28(gp)                |     t9 = sym.imp.g_key_file_get_uint64;
    0x0001d5cc move a3, s3                       |     a3 = s3;
                                                 |     /* str.pulse_time */
    0x0001d5d0 addiu a2, a2, -0x234c             |     a2 += -0x234c;
    0x0001d5d4 jalr t9                           |     t9 ();
    0x0001d5d8 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d5dc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d5e0 sw v0, 0x3c(s0)                   |     *((s0 + 15)) = v0;
                                                 |     if (v1 != 0) {
    0x0001d5e4 bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
    0x0001d5e8 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d5ec lw t9, -0x7798(gp)                |     t9 = sym.imp.g_key_file_get_string;
    0x0001d5f0 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d5f4 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d5f8 move a3, s3                       |     a3 = s3;
                                                 |     /* str.port_mode */
    0x0001d5fc addiu a2, a2, -0x2398             |     a2 += -0x2398;
    0x0001d600 jalr t9                           |     t9 ();
    0x0001d604 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d608 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d60c move s4, v0                       |     s4 = v0;
                                                 |     if (v1 != 0) {
    0x0001d610 bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
    0x0001d614 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001d618 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     /* str.bistable */
    0x0001d61c addiu a1, a1, -0x238c             |     a1 += -0x238c;
    0x0001d620 move a0, v0                       |     a0 = v0;
    0x0001d624 jalr t9                           |     t9 ();
    0x0001d628 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d62c addiu v1, zero, 2                 |     v1 = 2;
    0x0001d630 addiu a0, zero, 1                 |     a0 = 1;
                                                 |     if (v0 != 0) {
    0x0001d634 movz a0, v1, v0                   |         a0 = v1;
                                                 |     }
    0x0001d638 move v0, a0                       |     v0 = a0;
    0x0001d63c lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
    0x0001d640 move a0, s4                       |     a0 = s4;
    0x0001d644 sw v0, 0x8c(s0)                   |     *((s0 + 35)) = v0;
    0x0001d648 jalr t9                           |     t9 ();
    0x0001d64c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d650 lw a1, 0x14(s0)                   |     a1 = *((s0 + 5));
    0x0001d654 lw a0, (s1)                       |     a0 = *(s1);
    0x0001d658 lw a2, -0x7fdc(gp)                |     a2 = *(gp);
    0x0001d65c lw t9, -0x7a28(gp)                |     t9 = sym.imp.g_key_file_get_uint64;
    0x0001d660 move a3, s3                       |     a3 = s3;
                                                 |     /* str.delay_time */
    0x0001d664 addiu a2, a2, -0xce0              |     a2 += -0xce0;
    0x0001d668 jalr t9                           |     t9 ();
    0x0001d66c lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001d670 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d674 sw v0, 0x88(s0)                   |     *((s0 + 34)) = v0;
                                                 |     if (v1 != 0) {
    0x0001d678 bnez v1, 0x1d244                  |         goto label_0;
                                                 |     }
    0x0001d67c lw t9, -0x7de0(gp)                |     t9 = sym.io_port_is_supervisable;
    0x0001d680 b 0x1d310                         |     goto label_5;
                                                 | label_18:
    0x0001d684 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001d688 lw t9, -0x7ecc(gp)                |     t9 = sym.io_port_set_usage;
    0x0001d68c move a0, s0                       |     a0 = s0;
    0x0001d690 addiu a1, a1, 0x3d20              |     a1 += 0x3d20;
    0x0001d694 bal 0xeac0                        |     sym_io_port_set_usage ();
    0x0001d698 lw a0, 0x24(sp)                   |     a0 = *(var_24h);
    0x0001d69c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (a0 != 0) {
    0x0001d6a0 beqz a0, 0x1d6b8                  |         
    0x0001d6a4 lw t9, -0x7ad8(gp)                |         t9 = sym.imp.g_error_free;
    0x0001d6a8 jalr t9                           |         t9 ();
    0x0001d6ac nop                               |         
    0x0001d6b0 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001d6b4 sw zero, 0x24(sp)                 |         *(var_24h) = 0;
                                                 |     }
    0x0001d6b8 addiu s0, zero, 1                 |     s0 = 1;
    0x0001d6bc b 0x1d28c                         |     goto label_6;
                                                 | label_20:
    0x0001d6c0 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001d6c4 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     /* str.none */
    0x0001d6c8 addiu a1, a1, -0x2368             |     a1 += -0x2368;
    0x0001d6cc move a0, v0                       |     a0 = v0;
    0x0001d6d0 jalr t9                           |     t9 ();
    0x0001d6d4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001d6d8 bnez v0, 0x1d6e4                  |         
    0x0001d6dc sw zero, 0x38(s0)                 |         *((s0 + 14)) = 0;
    0x0001d6e0 b 0x1d5ac                         |         goto label_7;
                                                 |     }
    0x0001d6e4 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001d6e8 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     /* str.pulse */
    0x0001d6ec addiu a1, a1, -0x2360             |     a1 += -0x2360;
    0x0001d6f0 move a0, s4                       |     a0 = s4;
    0x0001d6f4 jalr t9                           |     t9 ();
    0x0001d6f8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001d6fc bnez v0, 0x1d730                  |         
    0x0001d700 addiu v0, zero, 1                 |         v0 = 1;
    0x0001d704 sw v0, 0x38(s0)                   |         *((s0 + 14)) = v0;
    0x0001d708 b 0x1d5ac                         |         goto label_7;
                                                 | label_17:
    0x0001d70c lw t9, -0x7c8c(gp)                |         t9 = sym.io_port_clear_ranges;
    0x0001d710 move a0, s4                       |         a0 = s4;
    0x0001d714 bal 0xe038                        |         sym_io_port_clear_ranges ();
    0x0001d718 addiu s0, zero, 1                 |         s0 = 1;
    0x0001d71c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001d720 b 0x1d280                         |         goto label_1;
                                                 | label_14:
    0x0001d724 lw t9, -0x7a10(gp)                |         t9 = sym.imp.__stack_chk_fail;
    0x0001d728 jalr t9                           |         t9 ();
    0x0001d72c nop                               |         
                                                 |     }
    0x0001d730 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001d734 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     /* str.actinact */
    0x0001d738 addiu a1, a1, -0x2358             |     a1 += -0x2358;
    0x0001d73c move a0, s4                       |     a0 = s4;
    0x0001d740 jalr t9                           |     t9 ();
    0x0001d744 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001d748 bnez v0, 0x1d758                  |         
    0x0001d74c addiu v0, zero, 2                 |         v0 = 2;
    0x0001d750 sw v0, 0x38(s0)                   |         *((s0 + 14)) = v0;
    0x0001d754 b 0x1d5ac                         |         goto label_7;
                                                 |     }
    0x0001d758 lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
    0x0001d75c move a0, s4                       |     a0 = s4;
    0x0001d760 jalr t9                           |     t9 ();
    0x0001d764 addiu s0, zero, 1                 |     s0 = 1;
    0x0001d768 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001d76c b 0x1d280                         |     goto label_1;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/io2d @ 0x1ccd0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.param_read_configuration ()          | void param_read_configuration () {
    0x0001ccd0 lui gp, 3                             |     
    0x0001ccd4 addiu gp, gp, 0x3b0                   |     
    0x0001ccd8 addu gp, gp, t9                       |     gp += t9;
    0x0001ccdc addiu sp, sp, -0x30                   |     
    0x0001cce0 lw t9, -0x7894(gp)                    |     t9 = sym.imp.g_mutex_init;
    0x0001cce4 sw s1, 0x24(sp)                       |     *(var_24h) = s1;
    0x0001cce8 lw s1, -0x7984(gp)                    |     s1 = *((gp - 7777));
    0x0001ccec sw s2, 0x28(sp)                       |     *(var_28h) = s2;
    0x0001ccf0 move s2, a0                           |     s2 = a0;
    0x0001ccf4 lw v0, (s1)                           |     v0 = *(s1);
    0x0001ccf8 lw a0, -0x7c98(gp)                    |     a0 = *(gp);
    0x0001ccfc sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x0001cd00 sw ra, 0x2c(sp)                       |     *(var_2ch) = ra;
    0x0001cd04 sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x0001cd08 sw v0, 0x1c(sp)                       |     *(var_1ch) = v0;
    0x0001cd0c sw zero, 0x18(sp)                     |     *(var_18h) = 0;
    0x0001cd10 lw s0, -0x7c94(gp)                    |     s0 = *(gp);
    0x0001cd14 jalr t9                               |     t9 ();
    0x0001cd18 nop                                   |     
    0x0001cd1c lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0001cd20 lw a0, -0x7c98(gp)                    |     a0 = *(gp);
    0x0001cd24 lw t9, -0x7a70(gp)                    |     t9 = sym.imp.g_mutex_lock;
    0x0001cd28 jalr t9                               |     t9 ();
    0x0001cd2c nop                                   |     
    0x0001cd30 lw a0, (s0)                           |     a0 = *(s0);
    0x0001cd34 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (a0 != 0) {
    0x0001cd38 beqz a0, 0x1cd4c                      |         
    0x0001cd3c lw t9, -0x7ac4(gp)                    |         t9 = sym.imp.g_key_file_free;
    0x0001cd40 jalr t9                               |         t9 ();
    0x0001cd44 nop                                   |         
    0x0001cd48 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |     }
    0x0001cd4c lw t9, -0x77dc(gp)                    |     t9 = sym.imp.g_key_file_new;
    0x0001cd50 jalr t9                               |     t9 ();
    0x0001cd54 nop                                   |     
    0x0001cd58 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0001cd5c move a1, zero                         |     a1 = 0;
    0x0001cd60 move a0, s2                           |     a0 = s2;
    0x0001cd64 lw t9, -0x78c8(gp)                    |     t9 = sym.imp.access;
    0x0001cd68 sw v0, (s0)                           |     *(s0) = v0;
    0x0001cd6c jalr t9                               |     t9 ();
    0x0001cd70 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x0001cd74 bnez v0, 0x1cd9c                      |         
    0x0001cd78 lw t9, -0x7a0c(gp)                    |         t9 = sym.imp.g_key_file_load_from_file;
    0x0001cd7c lw a0, (s0)                           |         a0 = *(s0);
    0x0001cd80 addiu a3, sp, 0x18                    |         a3 = sp + 0x18;
    0x0001cd84 addiu a2, zero, 1                     |         a2 = 1;
    0x0001cd88 move a1, s2                           |         a1 = s2;
    0x0001cd8c jalr t9                               |         t9 ();
    0x0001cd90 lw v0, 0x18(sp)                       |         v0 = *(var_18h);
    0x0001cd94 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 != 0) {
    0x0001cd98 bnez v0, 0x1cdd8                      |             goto label_0;
                                                     |         }
                                                     |     }
    0x0001cd9c lw t9, -0x7918(gp)                    |     t9 = sym.imp.g_mutex_unlock;
    0x0001cda0 lw a0, -0x7c98(gp)                    |     a0 = *(gp);
    0x0001cda4 jalr t9                               |     t9 ();
    0x0001cda8 nop                                   |     
    0x0001cdac lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0001cdb0 addiu v0, zero, 1                     |     v0 = 1;
                                                     |     do {
    0x0001cdb4 lw a0, 0x1c(sp)                       |         a0 = *(var_1ch);
    0x0001cdb8 lw v1, (s1)                           |         v1 = *(s1);
    0x0001cdbc lw ra, 0x2c(sp)                       |         ra = *(var_2ch);
                                                     |         if (a0 != v1) {
    0x0001cdc0 bne a0, v1, 0x1ce34                   |             goto label_1;
                                                     |         }
    0x0001cdc4 lw s2, 0x28(sp)                       |         s2 = *(var_28h);
    0x0001cdc8 lw s1, 0x24(sp)                       |         s1 = *(var_24h);
    0x0001cdcc lw s0, 0x20(sp)                       |         s0 = *(var_20h);
    0x0001cdd0 addiu sp, sp, 0x30                    |         
    0x0001cdd4 jr ra                                 |         return v0;
                                                     | label_0:
    0x0001cdd8 lw a2, 8(v0)                          |         a2 = *((v0 + 2));
    0x0001cddc lw v0, -0x792c(gp)                    |         v0 = *((gp - 7755));
    0x0001cde0 lw a1, -0x7fdc(gp)                    |         a1 = *(gp);
    0x0001cde4 lw t9, -0x78f0(gp)                    |         t9 = sym.imp.g_fprintf
    0x0001cde8 lw a0, (v0)                           |         a0 = *(v0);
                                                     |         /* str.Could_not_read_key_file:__s_n */
    0x0001cdec addiu a1, a1, -0xe20                  |         a1 += -0xe20;
    0x0001cdf0 jalr t9                               |         t9 ();
    0x0001cdf4 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x0001cdf8 lw t9, -0x7ad8(gp)                    |         t9 = sym.imp.g_error_free;
    0x0001cdfc lw a0, 0x18(sp)                       |         a0 = *(var_18h);
    0x0001ce00 jalr t9                               |         t9 ();
    0x0001ce04 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x0001ce08 lw t9, -0x7ac4(gp)                    |         t9 = sym.imp.g_key_file_free;
    0x0001ce0c lw a0, (s0)                           |         a0 = *(s0);
    0x0001ce10 jalr t9                               |         t9 ();
    0x0001ce14 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x0001ce18 lw t9, -0x7918(gp)                    |         t9 = sym.imp.g_mutex_unlock;
    0x0001ce1c lw a0, -0x7c98(gp)                    |         a0 = *(gp);
    0x0001ce20 sw zero, (s0)                         |         *(s0) = 0;
    0x0001ce24 jalr t9                               |         t9 ();
    0x0001ce28 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x0001ce2c move v0, zero                         |         v0 = 0;
    0x0001ce30 b 0x1cdb4                             |         
                                                     |     } while (1);
                                                     | label_1:
    0x0001ce34 lw t9, -0x7a10(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x0001ce38 jalr t9                               |     t9 ();
    0x0001ce3c nop                                   |     
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/io2d @ 0x1ce40 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.param_store_key_file ()          | void param_store_key_file () {
    0x0001ce40 lui gp, 3                         |     
    0x0001ce44 addiu gp, gp, 0x240               |     
    0x0001ce48 addu gp, gp, t9                   |     gp += t9;
    0x0001ce4c addiu sp, sp, -0x38               |     
    0x0001ce50 lw t9, -0x7a70(gp)                |     t9 = sym.imp.g_mutex_lock;
    0x0001ce54 sw s0, 0x28(sp)                   |     *(var_28h_2) = s0;
    0x0001ce58 lw s0, -0x7984(gp)                |     s0 = *((gp - 7777));
    0x0001ce5c sw s2, 0x30(sp)                   |     *(var_30h) = s2;
    0x0001ce60 move s2, a0                       |     s2 = a0;
    0x0001ce64 lw v0, (s0)                       |     v0 = *(s0);
    0x0001ce68 lw a0, -0x7c98(gp)                |     a0 = *(gp);
    0x0001ce6c sw ra, 0x34(sp)                   |     *(var_34h) = ra;
    0x0001ce70 sw gp, 0x10(sp)                   |     *(var_10h_2) = gp;
    0x0001ce74 sw s1, 0x2c(sp)                   |     *(var_2ch_2) = s1;
    0x0001ce78 sw v0, 0x24(sp)                   |     *(var_24h_2) = v0;
    0x0001ce7c sw zero, 0x1c(sp)                 |     *(var_1ch_2) = 0;
    0x0001ce80 jalr t9                           |     t9 ();
    0x0001ce84 nop                               |     
    0x0001ce88 lw gp, 0x10(sp)                   |     gp = *(var_10h_2);
    0x0001ce8c move a2, zero                     |     a2 = 0;
    0x0001ce90 addiu a1, sp, 0x20                |     a1 = sp + 0x20;
    0x0001ce94 lw v0, -0x7c94(gp)                |     v0 = *(gp);
    0x0001ce98 lw t9, -0x7928(gp)                |     t9 = sym.imp.g_key_file_to_data;
    0x0001ce9c lw a0, (v0)                       |     a0 = *(v0);
    0x0001cea0 jalr t9                           |     t9 ();
    0x0001cea4 lw gp, 0x10(sp)                   |     gp = *(var_10h_2);
    0x0001cea8 lw a2, 0x20(sp)                   |     a2 = *(var_20h_2);
    0x0001ceac addiu a3, sp, 0x1c                |     a3 = sp + 0x1c;
    0x0001ceb0 lw t9, -0x7990(gp)                |     t9 = sym.imp.confutils_set_file_contents_with_sync;
    0x0001ceb4 move a1, v0                       |     a1 = v0;
    0x0001ceb8 move a0, s2                       |     a0 = s2;
    0x0001cebc move s1, v0                       |     s1 = v0;
    0x0001cec0 jalr t9                           |     t9 ();
    0x0001cec4 lw v0, 0x1c(sp)                   |     v0 = *(var_1ch_2);
    0x0001cec8 lw gp, 0x10(sp)                   |     gp = *(var_10h_2);
                                                 |     if (v0 == 0) {
    0x0001cecc beqz v0, 0x1cf54                  |         goto label_0;
                                                 |     }
    0x0001ced0 lw a3, 8(v0)                      |     a3 = *((v0 + 2));
    0x0001ced4 lw v0, -0x792c(gp)                |     v0 = *((gp - 7755));
    0x0001ced8 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001cedc lw t9, -0x78f0(gp)                |     t9 = sym.imp.g_fprintf
    0x0001cee0 lw a0, (v0)                       |     a0 = *(v0);
    0x0001cee4 move a2, s2                       |     a2 = s2;
                                                 |     /* str.Failed_to_store_key_file__s:__s_n */
    0x0001cee8 addiu a1, a1, -0xe00              |     a1 += -0xe00;
    0x0001ceec jalr t9                           |     t9 ();
    0x0001cef0 lw gp, 0x10(sp)                   |     gp = *(var_10h_2);
    0x0001cef4 lw a0, 0x1c(sp)                   |     a0 = *(var_1ch_2);
    0x0001cef8 lw t9, -0x7ad8(gp)                |     t9 = sym.imp.g_error_free;
    0x0001cefc move s2, zero                     |     s2 = 0;
    0x0001cf00 jalr t9                           |     t9 ();
    0x0001cf04 lw gp, 0x10(sp)                   |     gp = *(var_10h_2);
                                                 |     do {
    0x0001cf08 lw t9, -0x7718(gp)                |         t9 = *((gp - 7622));
    0x0001cf0c move a0, s1                       |         a0 = s1;
    0x0001cf10 jalr t9                           |         t9 ();
    0x0001cf14 lw gp, 0x10(sp)                   |         gp = *(var_10h_2);
    0x0001cf18 lw a0, -0x7c98(gp)                |         a0 = *(gp);
    0x0001cf1c lw t9, -0x7918(gp)                |         t9 = sym.imp.g_mutex_unlock;
    0x0001cf20 jalr t9                           |         t9 ();
    0x0001cf24 nop                               |         
    0x0001cf28 lw a0, 0x24(sp)                   |         a0 = *(var_24h_2);
    0x0001cf2c lw v1, (s0)                       |         v1 = *(s0);
    0x0001cf30 lw gp, 0x10(sp)                   |         gp = *(var_10h_2);
    0x0001cf34 move v0, s2                       |         v0 = s2;
                                                 |         if (a0 != v1) {
    0x0001cf38 bne a0, v1, 0x1cf5c               |             goto label_1;
                                                 |         }
    0x0001cf3c lw ra, 0x34(sp)                   |         ra = *(var_34h);
    0x0001cf40 lw s2, 0x30(sp)                   |         s2 = *(var_30h);
    0x0001cf44 lw s1, 0x2c(sp)                   |         s1 = *(var_2ch_2);
    0x0001cf48 lw s0, 0x28(sp)                   |         s0 = *(var_28h_2);
    0x0001cf4c addiu sp, sp, 0x38                |         
    0x0001cf50 jr ra                             |         return v0;
                                                 | label_0:
    0x0001cf54 addiu s2, zero, 1                 |         s2 = 1;
    0x0001cf58 b 0x1cf08                         |         
                                                 |     } while (1);
                                                 | label_1:
    0x0001cf5c lw t9, -0x7a10(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x0001cf60 jalr t9                           |     t9 ();
    0x0001cf64 nop                               |     
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/io2d @ 0x1dc90 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.read_parhand_parameters ()       | void read_parhand_parameters () {
    0x0001dc90 lui gp, 3                         |     
    0x0001dc94 addiu gp, gp, -0xc10              |     
    0x0001dc98 addu gp, gp, t9                   |     gp += t9;
    0x0001dc9c lw v0, -0x7984(gp)                |     v0 = *((gp - 7777));
    0x0001dca0 addiu sp, sp, -0x98               |     
    0x0001dca4 lw t9, -0x7b84(gp)                |     t9 = sym.imp.g_file_test;
    0x0001dca8 sw v0, 0x40(sp)                   |     *(var_40h) = v0;
    0x0001dcac lw v0, (v0)                       |     v0 = *(v0);
    0x0001dcb0 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0001dcb4 sw s0, 0x70(sp)                   |     *(var_70h) = s0;
    0x0001dcb8 sw a1, 0x3c(sp)                   |     *(var_3ch) = a1;
    0x0001dcbc sw ra, 0x94(sp)                   |     *(var_94h) = ra;
    0x0001dcc0 sw fp, 0x90(sp)                   |     *(var_90h) = fp;
    0x0001dcc4 sw s7, 0x8c(sp)                   |     *(var_8ch) = s7;
    0x0001dcc8 sw s6, 0x88(sp)                   |     *(var_88h) = s6;
    0x0001dccc sw s5, 0x84(sp)                   |     *(var_84h) = s5;
    0x0001dcd0 sw s4, 0x80(sp)                   |     *(var_80h) = s4;
    0x0001dcd4 sw s3, 0x7c(sp)                   |     *(var_7ch) = s3;
    0x0001dcd8 sw s2, 0x78(sp)                   |     *(var_78h) = s2;
    0x0001dcdc sw s1, 0x74(sp)                   |     *(var_74h) = s1;
    0x0001dce0 addiu a1, zero, 0x10              |     a1 = 0x10;
    0x0001dce4 sw v0, 0x6c(sp)                   |     *(var_6ch) = v0;
    0x0001dce8 sw zero, 0x5c(sp)                 |     *(var_5ch) = 0;
    0x0001dcec move s0, a0                       |     s0 = a0;
    0x0001dcf0 jalr t9                           |     t9 ();
    0x0001dcf4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001dcf8 beqz v0, 0x1e3d4                  |         goto label_17;
                                                 |     }
    0x0001dcfc lw t9, -0x77dc(gp)                |     t9 = sym.imp.g_key_file_new;
    0x0001dd00 addiu s6, sp, 0x5c                |     s6 = sp + 0x5c;
    0x0001dd04 jalr t9                           |     t9 ();
    0x0001dd08 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001dd0c move a3, s6                       |     a3 = s6;
    0x0001dd10 addiu a2, zero, 1                 |     a2 = 1;
    0x0001dd14 lw t9, -0x7a0c(gp)                |     t9 = sym.imp.g_key_file_load_from_file;
    0x0001dd18 move a1, s0                       |     a1 = s0;
    0x0001dd1c move a0, v0                       |     a0 = v0;
    0x0001dd20 move s5, v0                       |     s5 = v0;
    0x0001dd24 jalr t9                           |     t9 ();
    0x0001dd28 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001dd2c bnez v0, 0x1dd7c                  |         
                                                 | label_3:
    0x0001dd30 lw v0, 0x3c(sp)                   |         v0 = *(var_3ch);
    0x0001dd34 lw v0, (v0)                       |         v0 = *(v0);
    0x0001dd38 sltiu v0, v0, 1                   |         v0 = (v0 < 1) ? 1 : 0;
                                                 | label_9:
    0x0001dd3c lw v1, 0x40(sp)                   |         v1 = *(var_40h);
    0x0001dd40 lw a0, 0x6c(sp)                   |         a0 = *(var_6ch);
    0x0001dd44 lw v1, (v1)                       |         v1 = *(v1);
    0x0001dd48 lw ra, 0x94(sp)                   |         ra = *(var_94h);
                                                 |         if (a0 != v1) {
    0x0001dd4c bne a0, v1, 0x1e6ec               |             goto label_18;
                                                 |         }
    0x0001dd50 lw fp, 0x90(sp)                   |         fp = *(var_90h);
    0x0001dd54 lw s7, 0x8c(sp)                   |         s7 = *(var_8ch);
    0x0001dd58 lw s6, 0x88(sp)                   |         s6 = *(var_88h);
    0x0001dd5c lw s5, 0x84(sp)                   |         s5 = *(var_84h);
    0x0001dd60 lw s4, 0x80(sp)                   |         s4 = *(var_80h);
    0x0001dd64 lw s3, 0x7c(sp)                   |         s3 = *(var_7ch);
    0x0001dd68 lw s2, 0x78(sp)                   |         s2 = *(var_78h);
    0x0001dd6c lw s1, 0x74(sp)                   |         s1 = *(var_74h);
    0x0001dd70 lw s0, 0x70(sp)                   |         s0 = *(var_70h);
    0x0001dd74 addiu sp, sp, 0x98                |         
    0x0001dd78 jr ra                             |         return v1;
                                                 |     }
    0x0001dd7c lw t9, -0x79d4(gp)                |     t9 = sym.imp.g_key_file_get_groups;
    0x0001dd80 addiu a1, sp, 0x60                |     a1 = sp + 0x60;
    0x0001dd84 move a0, s5                       |     a0 = s5;
    0x0001dd88 jalr t9                           |     t9 ();
    0x0001dd8c lw v1, 0x60(sp)                   |     v1 = *(var_60h);
    0x0001dd90 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001dd94 sw v0, 0x4c(sp)                   |     *(var_4ch) = v0;
                                                 |     if (v1 == 0) {
    0x0001dd98 beqz v1, 0x1e24c                  |         goto label_19;
                                                 |     }
    0x0001dd9c move s1, v0                       |     s1 = v0;
    0x0001dda0 lw v0, -0x7fdc(gp)                |     v0 = *(gp);
    0x0001dda4 lw v1, -0x7fdc(gp)                |     v1 = *(gp);
                                                 |     /* str.IOPort.I */
    0x0001dda8 addiu v0, v0, -0xb48              |     v0 += -0xb48;
    0x0001ddac sw v0, 0x38(sp)                   |     *(var_38h) = v0;
    0x0001ddb0 lw v0, -0x7fdc(gp)                |     v0 = *(gp);
    0x0001ddb4 lw s7, -0x7fdc(gp)                |     s7 = *(gp);
                                                 |     /* str.input */
    0x0001ddb8 addiu v0, v0, -0x2994             |     v0 += -0x2994;
    0x0001ddbc lw s4, -0x7fdc(gp)                |     s4 = *(gp);
    0x0001ddc0 sw v1, 0x48(sp)                   |     *(var_48h) = v1;
    0x0001ddc4 sw zero, 0x34(sp)                 |     *(var_34h) = 0;
    0x0001ddc8 addiu fp, sp, 0x68                |     fp = sp + 0x68;
                                                 |     /* str.Output */
    0x0001ddcc addiu s7, s7, -0xc28              |     s7 += -0xc28;
    0x0001ddd0 sw v0, 0x50(sp)                   |     *(var_50h) = v0;
    0x0001ddd4 lw t9, -0x7744(gp)                |     t9 = sym.imp.g_key_file_get_keys;
                                                 | label_2:
    0x0001ddd8 lw a1, (s1)                       |     a1 = *(s1);
    0x0001dddc move a3, s6                       |     a3 = s6;
    0x0001dde0 move a2, fp                       |     a2 = fp;
    0x0001dde4 move a0, s5                       |     a0 = s5;
    0x0001dde8 jalr t9                           |     t9 ();
    0x0001ddec lw v1, 0x5c(sp)                   |     v1 = *(var_5ch);
    0x0001ddf0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001ddf4 sw v0, 0x2c(sp)                   |     *(var_2ch) = v0;
                                                 |     if (v1 != 0) {
    0x0001ddf8 bnez v1, 0x1e570                  |         goto label_20;
                                                 |     }
    0x0001ddfc lw v0, 0x68(sp)                   |     v0 = *(var_68h);
    0x0001de00 lw v0, -0x7fdc(gp)                |     v0 = *(gp);
                                                 |     if (v0 == 0) {
    0x0001de04 beqz v0, 0x1e218                  |         goto label_12;
                                                 |     }
    0x0001de08 lw s0, 0x2c(sp)                   |     s0 = *(var_2ch);
    0x0001de0c sw v0, 0x44(sp)                   |     *(var_44h) = v0;
    0x0001de10 move s2, zero                     |     s2 = 0;
    0x0001de14 b 0x1de3c                         |     
                                                 |     while (v0 == 0) {
                                                 | label_0:
    0x0001de18 lw t9, -0x7718(gp)                |         t9 = *((gp - 7622));
    0x0001de1c move a0, s3                       |         a0 = s3;
    0x0001de20 jalr t9                           |         t9 ();
    0x0001de24 lw v0, 0x68(sp)                   |         v0 = *(var_68h);
    0x0001de28 addiu s2, s2, 1                   |         s2++;
    0x0001de2c sltu v0, s2, v0                   |         v0 = (s2 < v0) ? 1 : 0;
    0x0001de30 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001de34 addiu s0, s0, 4                   |         s0 += 4;
                                                 |         if (v0 == 0) {
    0x0001de38 beqz v0, 0x1e218                  |             goto label_12;
                                                 |         }
    0x0001de3c lw t9, -0x7998(gp)                |         t9 = sym.imp.g_key_file_get_value;
    0x0001de40 lw a2, (s0)                       |         a2 = *(s0);
    0x0001de44 lw a1, (s1)                       |         a1 = *(s1);
    0x0001de48 move a3, s6                       |         a3 = s6;
    0x0001de4c move a0, s5                       |         a0 = s5;
    0x0001de50 jalr t9                           |         t9 ();
    0x0001de54 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001de58 lw a0, (s1)                       |         a0 = *(s1);
    0x0001de5c addiu a1, s4, -0xc30              |         a1 = s4 + -0xc30;
    0x0001de60 lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
    0x0001de64 move s3, v0                       |         s3 = v0;
    0x0001de68 jalr t9                           |         t9 ();
    0x0001de6c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001de70 beqz v0, 0x1de18                  |         
                                                 |     }
    0x0001de74 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
    0x0001de78 lw a0, (s1)                       |     a0 = *(s1);
    0x0001de7c move a1, s7                       |     a1 = s7;
    0x0001de80 jalr t9                           |     t9 ();
    0x0001de84 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001de88 beqz v0, 0x1de18                  |         goto label_0;
                                                 |     }
    0x0001de8c lw t9, -0x7ae8(gp)                |     t9 = sym.imp.g_str_has_suffix;
    0x0001de90 lw a0, (s1)                       |     a0 = *(s1);
    0x0001de94 addiu a1, s4, -0xc30              |     a1 = s4 + -0xc30;
    0x0001de98 jalr t9                           |     t9 ();
    0x0001de9c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001dea0 beqz v0, 0x1df80                  |         goto label_21;
                                                 |     }
    0x0001dea4 lw a0, (s1)                       |     a0 = *(s1);
    0x0001dea8 lw t9, -0x795c(gp)                |     t9 = sym.imp.g_ascii_strtoull;
    0x0001deac addiu a0, a0, 8                   |     a0 += 8;
    0x0001deb0 addiu a2, zero, 0xa               |     a2 = 0xa;
    0x0001deb4 addiu a1, sp, 0x64                |     a1 = sp + 0x64;
    0x0001deb8 jalr t9                           |     t9 ();
    0x0001debc lw v1, (s1)                       |     v1 = *(s1);
    0x0001dec0 lw a0, 0x64(sp)                   |     a0 = *(var_64h);
    0x0001dec4 addiu v1, v1, 8                   |     v1 += 8;
    0x0001dec8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (a0 == v1) {
    0x0001decc beq a0, v1, 0x1e4e4               |         goto label_22;
                                                 |     }
    0x0001ded0 lw t9, -0x7f58(gp)                |     t9 = sym.io_port_list_get_port;
    0x0001ded4 move a0, v0                       |     a0 = v0;
    0x0001ded8 sw v0, 0x28(sp)                   |     *(var_28h) = v0;
    0x0001dedc bal 0xeeac                        |     sym_io_port_list_get_port ();
    0x0001dee0 sw v0, 0x24(sp)                   |     *(var_24h) = v0;
    0x0001dee4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001dee8 lw a2, 0x28(sp)                   |     a2 = *(var_28h);
                                                 |     if (v0 == 0) {
    0x0001deec beqz v0, 0x1e518                  |         goto label_23;
                                                 |     }
    0x0001def0 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001def4 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
    0x0001def8 lw a0, (s0)                       |     a0 = *(s0);
                                                 |     /* esilref: 'Name' */
    0x0001defc addiu a1, a1, -0x5a8              |     a1 += -0x5a8;
    0x0001df00 jalr t9                           |     t9 ();
    0x0001df04 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0001df08 bnez v0, 0x1e168                  |         goto label_24;
                                                 |     }
    0x0001df0c lw t9, -0x793c(gp)                |     t9 = sym.imp.strlen;
    0x0001df10 move a0, s3                       |     a0 = s3;
    0x0001df14 jalr t9                           |     t9 ();
    0x0001df18 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001df1c lb a0, (s3)                       |     a0 = *(s3);
    0x0001df20 addiu v1, zero, 0x22              |     v1 = 0x22;
    0x0001df24 lw t9, -0x7878(gp)                |     t9 = sym.imp.g_strndup;
                                                 |     if (a0 == v1) {
    0x0001df28 beq a0, v1, 0x1e270               |         goto label_25;
                                                 |     }
    0x0001df2c move a1, v0                       |     a1 = v0;
    0x0001df30 move a0, s3                       |     a0 = s3;
    0x0001df34 jalr t9                           |     t9 ();
    0x0001df38 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001df3c move v1, v0                       |     v1 = v0;
                                                 | label_4:
    0x0001df40 lw t9, -0x7edc(gp)                |     t9 = sym.io_port_set_input_name;
    0x0001df44 lw a0, 0x24(sp)                   |     a0 = *(var_24h);
    0x0001df48 move a1, v1                       |     a1 = v1;
    0x0001df4c sw v1, 0x28(sp)                   |     *(var_28h) = v1;
    0x0001df50 bal 0xc36c                        |     sym_io_port_set_input_name ();
    0x0001df54 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001df58 lw v1, 0x28(sp)                   |     v1 = *(var_28h);
    0x0001df5c lw t9, -0x7718(gp)                |     t9 = *((gp - 7622));
    0x0001df60 move a0, v1                       |     a0 = v1;
    0x0001df64 jalr t9                           |     t9 ();
    0x0001df68 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     do {
                                                 | label_1:
    0x0001df6c lw t9, -0x7f4c(gp)                |         t9 = sym.io_port_unref;
    0x0001df70 lw a0, 0x24(sp)                   |         a0 = *(var_24h);
    0x0001df74 bal 0xeba4                        |         sym_io_port_unref ();
    0x0001df78 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001df7c b 0x1de18                         |         goto label_0;
                                                 | label_21:
    0x0001df80 lw t9, -0x7ae8(gp)                |         t9 = sym.imp.g_str_has_suffix;
    0x0001df84 lw a0, (s1)                       |         a0 = *(s1);
    0x0001df88 move a1, s7                       |         a1 = s7;
    0x0001df8c jalr t9                           |         t9 ();
    0x0001df90 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 == 0) {
    0x0001df94 beqz v0, 0x1e0c8                  |             goto label_26;
                                                 |         }
    0x0001df98 lw a0, (s1)                       |         a0 = *(s1);
    0x0001df9c lw t9, -0x795c(gp)                |         t9 = sym.imp.g_ascii_strtoull;
    0x0001dfa0 addiu v0, sp, 0x64                |         v0 = sp + 0x64;
    0x0001dfa4 move a1, v0                       |         a1 = v0;
    0x0001dfa8 sw v0, 0x30(sp)                   |         *(var_30h) = v0;
    0x0001dfac addiu a2, zero, 0xa               |         a2 = 0xa;
    0x0001dfb0 addiu a0, a0, 8                   |         a0 += 8;
    0x0001dfb4 jalr t9                           |         t9 ();
    0x0001dfb8 lw v1, (s1)                       |         v1 = *(s1);
    0x0001dfbc lw a1, 0x64(sp)                   |         a1 = *(var_64h);
    0x0001dfc0 addiu v1, v1, 8                   |         v1 += 8;
    0x0001dfc4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (a1 == v1) {
    0x0001dfc8 beq a1, v1, 0x1e4e4               |             goto label_22;
                                                 |         }
    0x0001dfcc lw t9, -0x7f58(gp)                |         t9 = sym.io_port_list_get_port;
    0x0001dfd0 move a0, v0                       |         a0 = v0;
    0x0001dfd4 bal 0xeeac                        |         sym_io_port_list_get_port ();
    0x0001dfd8 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001dfdc lw a0, (s0)                       |         a0 = *(s0);
    0x0001dfe0 sw v0, 0x24(sp)                   |         *(var_24h) = v0;
    0x0001dfe4 lw a1, -0x7fdc(gp)                |         a1 = *(gp);
    0x0001dfe8 lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
                                                 |         /* esilref: 'Name' */
    0x0001dfec addiu a1, a1, -0x5a8              |         a1 += -0x5a8;
    0x0001dff0 jalr t9                           |         t9 ();
    0x0001dff4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x0001dff8 bnez v0, 0x1e288                  |             goto label_27;
                                                 |         }
    0x0001dffc lw t9, -0x793c(gp)                |         t9 = sym.imp.strlen;
    0x0001e000 move a0, s3                       |         a0 = s3;
    0x0001e004 jalr t9                           |         t9 ();
    0x0001e008 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e00c lb a0, (s3)                       |         a0 = *(s3);
    0x0001e010 addiu v1, zero, 0x22              |         v1 = 0x22;
    0x0001e014 lw t9, -0x7878(gp)                |         t9 = sym.imp.g_strndup;
                                                 |         if (a0 == v1) {
    0x0001e018 beq a0, v1, 0x1e360               |             goto label_28;
                                                 |         }
    0x0001e01c move a1, v0                       |         a1 = v0;
    0x0001e020 move a0, s3                       |         a0 = s3;
    0x0001e024 jalr t9                           |         t9 ();
    0x0001e028 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e02c move v1, v0                       |         v1 = v0;
                                                 | label_7:
    0x0001e030 lw t9, -0x7ee0(gp)                |         t9 = sym.io_port_set_output_name;
    0x0001e034 lw a0, 0x24(sp)                   |         a0 = *(var_24h);
    0x0001e038 move a1, v1                       |         a1 = v1;
    0x0001e03c sw v1, 0x28(sp)                   |         *(var_28h) = v1;
    0x0001e040 bal 0xc498                        |         sym_io_port_set_output_name ();
    0x0001e044 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e048 lw v1, 0x28(sp)                   |         v1 = *(var_28h);
    0x0001e04c lw t9, -0x7718(gp)                |         t9 = *((gp - 7622));
    0x0001e050 move a0, v1                       |         a0 = v1;
    0x0001e054 jalr t9                           |         t9 ();
    0x0001e058 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e05c lw v0, -0x7fdc(gp)                |         v0 = *(gp);
    0x0001e060 lw v1, -0x7fdc(gp)                |         v1 = *(gp);
    0x0001e064 sw v0, 0x28(sp)                   |         *(var_28h) = v0;
                                                 | label_8:
    0x0001e068 lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
    0x0001e06c lw a0, (s0)                       |         a0 = *(s0);
    0x0001e070 addiu a1, v1, -0x4e4              |         a1 = v1 + -0x4e4;
    0x0001e074 jalr t9                           |         t9 ();
    0x0001e078 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 == 0) {
    0x0001e07c beqz v0, 0x1e2fc                  |             goto label_29;
                                                 |         }
                                                 | label_6:
    0x0001e080 lw v0, 0x28(sp)                   |         v0 = *(var_28h);
    0x0001e084 lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
    0x0001e088 lw a0, (s0)                       |         a0 = *(s0);
    0x0001e08c addiu a1, v0, -0xb74              |         a1 = v0 + -0xb74;
    0x0001e090 jalr t9                           |         t9 ();
    0x0001e094 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e098 bnez v0, 0x1df6c                  |         
                                                 |     } while (v0 != 0);
    0x0001e09c lw t9, -0x795c(gp)                |     t9 = sym.imp.g_ascii_strtoull;
    0x0001e0a0 lw a1, 0x30(sp)                   |     a1 = *(var_30h);
    0x0001e0a4 addiu a2, zero, 0xa               |     a2 = 0xa;
    0x0001e0a8 move a0, s3                       |     a0 = s3;
    0x0001e0ac jalr t9                           |     t9 ();
    0x0001e0b0 lw v1, 0x64(sp)                   |     v1 = *(var_64h);
    0x0001e0b4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v1 == s3) {
    0x0001e0b8 beq v1, s3, 0x1df6c               |         goto label_1;
                                                 |     }
    0x0001e0bc lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001e0c0 sw v0, 0x88(v1)                   |     *((v1 + 34)) = v0;
    0x0001e0c4 b 0x1df6c                         |     goto label_1;
                                                 | label_26:
    0x0001e0c8 lw t9, -0x79d8(gp)                |     t9 = sym.imp.g_str_has_prefix;
    0x0001e0cc lw a0, (s1)                       |     a0 = *(s1);
    0x0001e0d0 lw a1, 0x38(sp)                   |     a1 = *(var_38h);
    0x0001e0d4 jalr t9                           |     t9 ();
    0x0001e0d8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001e0dc beqz v0, 0x1de18                  |         goto label_0;
                                                 |     }
    0x0001e0e0 lw a0, (s1)                       |     a0 = *(s1);
    0x0001e0e4 lw t9, -0x795c(gp)                |     t9 = sym.imp.g_ascii_strtoull;
    0x0001e0e8 addiu a0, a0, 8                   |     a0 += 8;
    0x0001e0ec addiu a2, zero, 0xa               |     a2 = 0xa;
    0x0001e0f0 addiu a1, sp, 0x64                |     a1 = sp + 0x64;
    0x0001e0f4 jalr t9                           |     t9 ();
    0x0001e0f8 lw v1, (s1)                       |     v1 = *(s1);
    0x0001e0fc lw a0, 0x64(sp)                   |     a0 = *(var_64h);
    0x0001e100 addiu v1, v1, 8                   |     v1 += 8;
    0x0001e104 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (a0 == v1) {
    0x0001e108 beq a0, v1, 0x1e4e4               |         goto label_22;
                                                 |     }
    0x0001e10c lw t9, -0x7f58(gp)                |     t9 = sym.io_port_list_get_port;
    0x0001e110 move a0, v0                       |     a0 = v0;
    0x0001e114 bal 0xeeac                        |     sym_io_port_list_get_port ();
    0x0001e118 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e11c lw v1, 0x48(sp)                   |     v1 = *(var_48h);
    0x0001e120 lw a0, (s0)                       |     a0 = *(s0);
    0x0001e124 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
    0x0001e128 addiu a1, v1, -0x2028             |     a1 = v1 + -0x2028;
    0x0001e12c sw v0, 0x24(sp)                   |     *(var_24h) = v0;
    0x0001e130 jalr t9                           |     t9 ();
    0x0001e134 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e138 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
                                                 |     if (v0 == 0) {
    0x0001e13c bnez v0, 0x1e154                  |         
    0x0001e140 addiu v0, zero, 2                 |         v0 = 2;
                                                 |         if (v1 == 0) {
    0x0001e144 beqz v1, 0x1e154                  |             goto label_13;
                                                 |         }
    0x0001e148 lw a0, (v1)                       |         a0 = *(v1);
    0x0001e14c lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
                                                 |         if (a0 == v0) {
    0x0001e150 beq a0, v0, 0x1e54c               |             goto label_30;
                                                 |         }
                                                 |     }
                                                 | label_13:
    0x0001e154 lw t9, -0x7f4c(gp)                |     t9 = sym.io_port_unref;
    0x0001e158 move a0, v1                       |     a0 = v1;
    0x0001e15c bal 0xeba4                        |     sym_io_port_unref ();
    0x0001e160 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e164 b 0x1de18                         |     goto label_0;
                                                 | label_24:
    0x0001e168 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e16c lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
    0x0001e170 lw a0, (s0)                       |     a0 = *(s0);
                                                 |     /* esilref: 'Trig' */
    0x0001e174 addiu a1, a1, -0x58c              |     a1 += -0x58c;
    0x0001e178 jalr t9                           |     t9 ();
    0x0001e17c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0001e180 bnez v0, 0x1e640                  |         goto label_31;
                                                 |     }
    0x0001e184 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e188 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     /* str.open */
    0x0001e18c addiu a1, a1, -0x292c             |     a1 += -0x292c;
    0x0001e190 move a0, s3                       |     a0 = s3;
    0x0001e194 jalr t9                           |     t9 ();
    0x0001e198 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0001e19c bnez v0, 0x1e328                  |         goto label_32;
                                                 |     }
    0x0001e1a0 lw t9, -0x7ef8(gp)                |     t9 = sym.io_port_set_activelow;
    0x0001e1a4 lw a0, 0x24(sp)                   |     a0 = *(var_24h);
    0x0001e1a8 addiu a2, zero, 1                 |     a2 = 1;
    0x0001e1ac addiu a1, zero, 1                 |     a1 = 1;
    0x0001e1b0 bal 0xd730                        |     sym_io_port_set_activelow ();
    0x0001e1b4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e1b8 b 0x1df6c                         |     goto label_1;
                                                 | label_5:
    0x0001e1bc lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e1c0 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     /* str.closed */
    0x0001e1c4 addiu a1, a1, -0x2908             |     a1 += -0x2908;
    0x0001e1c8 move a0, s3                       |     a0 = s3;
    0x0001e1cc jalr t9                           |     t9 ();
    0x0001e1d0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001e1d4 beqz v0, 0x1e450                  |         goto label_33;
                                                 |     }
    0x0001e1d8 lw t9, -0x7f50(gp)                |     t9 = sym.io_control_error_quark;
    0x0001e1dc bal 0x1fdc0                       |     sym_io_control_error_quark ();
    0x0001e1e0 nop                               |     
    0x0001e1e4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e1e8 lw a0, 0x3c(sp)                   |     a0 = *(var_3ch);
    0x0001e1ec move a2, zero                     |     a2 = 0;
    0x0001e1f0 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0001e1f4 lw t9, -0x797c(gp)                |     t9 = sym.imp.g_set_error;
                                                 |     /* str.Failed_to_read_Active_parameter */
    0x0001e1f8 addiu a3, a3, -0xba0              |     a3 += -0xba0;
    0x0001e1fc move a1, v0                       |     a1 = v0;
    0x0001e200 jalr t9                           |     t9 ();
    0x0001e204 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 | label_16:
    0x0001e208 lw t9, -0x7f4c(gp)                |     t9 = sym.io_port_unref;
    0x0001e20c lw a0, 0x24(sp)                   |     a0 = *(var_24h);
    0x0001e210 bal 0xeba4                        |     sym_io_port_unref ();
    0x0001e214 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 | label_12:
    0x0001e218 lw t9, -0x7ae0(gp)                |     t9 = sym.imp.g_strfreev;
    0x0001e21c lw a0, 0x2c(sp)                   |     a0 = *(var_2ch);
    0x0001e220 addiu s1, s1, 4                   |     s1 += 4;
    0x0001e224 jalr t9                           |     t9 ();
    0x0001e228 lw v0, 0x34(sp)                   |     v0 = *(var_34h);
    0x0001e22c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e230 addiu v0, v0, 1                   |     v0++;
    0x0001e234 move v1, v0                       |     v1 = v0;
    0x0001e238 sw v0, 0x34(sp)                   |     *(var_34h) = v0;
    0x0001e23c lw v0, 0x60(sp)                   |     v0 = *(var_60h);
    0x0001e240 sltu v0, v1, v0                   |     v0 = (v1 < v0) ? 1 : 0;
    0x0001e244 lw t9, -0x7744(gp)                |     t9 = sym.imp.g_key_file_get_keys;
                                                 |     if (v0 != 0) {
    0x0001e248 bnez v0, 0x1ddd8                  |         goto label_2;
                                                 |     }
                                                 | label_19:
    0x0001e24c lw t9, -0x7ae0(gp)                |     t9 = sym.imp.g_strfreev;
    0x0001e250 lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0001e254 jalr t9                           |     t9 ();
    0x0001e258 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e25c lw t9, -0x7ac4(gp)                |     t9 = sym.imp.g_key_file_free;
    0x0001e260 move a0, s5                       |     a0 = s5;
    0x0001e264 jalr t9                           |     t9 ();
    0x0001e268 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e26c b 0x1dd30                         |     goto label_3;
                                                 |     /* esilref: 'de>' */
                                                 | label_25:
    0x0001e270 addiu a1, v0, -2                  |     a1 = v0 + -2;
    0x0001e274 addiu a0, s3, 1                   |     a0 = s3 + 1;
    0x0001e278 jalr t9                           |     t9 ();
    0x0001e27c move v1, v0                       |     v1 = v0;
    0x0001e280 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e284 b 0x1df40                         |     goto label_4;
                                                 | label_27:
    0x0001e288 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e28c lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
    0x0001e290 lw a0, (s0)                       |     a0 = *(s0);
                                                 |     /* esilref: 'Active' */
    0x0001e294 addiu a1, a1, -0x518              |     a1 += -0x518;
    0x0001e298 jalr t9                           |     t9 ();
    0x0001e29c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e2a0 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     if (v0 != 0) {
    0x0001e2a4 bnez v0, 0x1e388                  |         goto label_34;
                                                 |     }
    0x0001e2a8 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e2ac move a0, s3                       |     a0 = s3;
                                                 |     /* str.open */
    0x0001e2b0 addiu a1, a1, -0x292c             |     a1 += -0x292c;
    0x0001e2b4 jalr t9                           |     t9 ();
    0x0001e2b8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0001e2bc bnez v0, 0x1e1bc                  |         goto label_5;
                                                 |     }
    0x0001e2c0 lw t9, -0x7ef8(gp)                |     t9 = sym.io_port_set_activelow;
    0x0001e2c4 move a2, zero                     |     a2 = 0;
    0x0001e2c8 addiu a1, zero, 1                 |     a1 = 1;
                                                 | label_10:
    0x0001e2cc lw a0, 0x24(sp)                   |     a0 = *(var_24h);
    0x0001e2d0 bal 0xd730                        |     sym_io_port_set_activelow ();
    0x0001e2d4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e2d8 lw a0, (s0)                       |     a0 = *(s0);
    0x0001e2dc lw v0, -0x7fdc(gp)                |     v0 = *(gp);
    0x0001e2e0 lw v1, -0x7fdc(gp)                |     v1 = *(gp);
    0x0001e2e4 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
    0x0001e2e8 sw v0, 0x28(sp)                   |     *(var_28h) = v0;
                                                 |     /* esilref: 'Mode' */
    0x0001e2ec addiu a1, v1, -0x4e4              |     a1 = v1 + -0x4e4;
    0x0001e2f0 jalr t9                           |     t9 ();
    0x0001e2f4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0001e2f8 bnez v0, 0x1e080                  |         goto label_6;
                                                 |     }
                                                 | label_29:
    0x0001e2fc lw v0, -0x7c88(gp)                |     v0 = *(gp);
    0x0001e300 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
    0x0001e304 move a0, s3                       |     a0 = s3;
    0x0001e308 lw a1, 8(v0)                      |     a1 = *((v0 + 2));
    0x0001e30c jalr t9                           |     t9 ();
    0x0001e310 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001e314 bnez v0, 0x1e378                  |         
    0x0001e318 lw v1, 0x24(sp)                   |         v1 = *(var_24h);
    0x0001e31c addiu v0, zero, 2                 |         v0 = 2;
    0x0001e320 sw v0, 0x8c(v1)                   |         *((v1 + 35)) = v0;
    0x0001e324 b 0x1e080                         |         goto label_6;
                                                 | label_32:
    0x0001e328 lw a1, -0x7fdc(gp)                |         a1 = *(gp);
    0x0001e32c lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
                                                 |         /* str.closed */
    0x0001e330 addiu a1, a1, -0x2908             |         a1 += -0x2908;
    0x0001e334 move a0, s3                       |         a0 = s3;
    0x0001e338 jalr t9                           |         t9 ();
    0x0001e33c lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x0001e340 bnez v0, 0x1e6b8                  |             goto label_35;
                                                 |         }
    0x0001e344 lw t9, -0x7ef8(gp)                |         t9 = sym.io_port_set_activelow;
    0x0001e348 lw a0, 0x24(sp)                   |         a0 = *(var_24h);
    0x0001e34c addiu a2, zero, 1                 |         a2 = 1;
    0x0001e350 move a1, zero                     |         a1 = 0;
    0x0001e354 bal 0xd730                        |         sym_io_port_set_activelow ();
    0x0001e358 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e35c b 0x1df6c                         |         goto label_1;
                                                 | label_28:
    0x0001e360 addiu a1, v0, -2                  |         a1 = v0 + -2;
    0x0001e364 addiu a0, s3, 1                   |         a0 = s3 + 1;
    0x0001e368 jalr t9                           |         t9 ();
    0x0001e36c move v1, v0                       |         v1 = v0;
    0x0001e370 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e374 b 0x1e030                         |         goto label_7;
                                                 |     }
    0x0001e378 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001e37c addiu v0, zero, 1                 |     v0 = 1;
    0x0001e380 sw v0, 0x8c(v1)                   |     *((v1 + 35)) = v0;
    0x0001e384 b 0x1e080                         |     goto label_6;
                                                 | label_34:
    0x0001e388 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e38c lw a0, (s0)                       |     a0 = *(s0);
                                                 |     /* esilref: 'Button' */
    0x0001e390 addiu a1, a1, -0x484              |     a1 += -0x484;
    0x0001e394 jalr t9                           |     t9 ();
    0x0001e398 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e39c lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     if (v0 == 0) {
    0x0001e3a0 bnez v0, 0x1e400                  |         
    0x0001e3a4 lw a1, -0x7fdc(gp)                |         a1 = *(gp);
    0x0001e3a8 move a0, s3                       |         a0 = s3;
                                                 |         /* str.none */
    0x0001e3ac addiu a1, a1, -0x2368             |         a1 += -0x2368;
    0x0001e3b0 jalr t9                           |         t9 ();
    0x0001e3b4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x0001e3b8 bnez v0, 0x1e4b0                  |             goto label_36;
                                                 |         }
    0x0001e3bc lw v0, 0x24(sp)                   |         v0 = *(var_24h);
    0x0001e3c0 lw v1, -0x7fdc(gp)                |         v1 = *(gp);
    0x0001e3c4 sw zero, 0x38(v0)                 |         *((v0 + 14)) = 0;
    0x0001e3c8 lw v0, -0x7fdc(gp)                |         v0 = *(gp);
    0x0001e3cc sw v0, 0x28(sp)                   |         *(var_28h) = v0;
    0x0001e3d0 b 0x1e068                         |         goto label_8;
                                                 | label_17:
    0x0001e3d4 lw a3, -0x7fdc(gp)                |         a3 = *(gp);
    0x0001e3d8 lw a2, -0x7fdc(gp)                |         a2 = *(gp);
    0x0001e3dc lw t9, -0x7b68(gp)                |         t9 = sym.imp.g_log;
    0x0001e3e0 addiu a3, a3, 0x3d20              |         a3 += 0x3d20;
                                                 |         /* str._sUnable_to_read_from_parhand_file */
    0x0001e3e4 addiu a2, a2, -0xc74              |         a2 += -0xc74;
    0x0001e3e8 addiu a1, zero, 0x10              |         a1 = 0x10;
    0x0001e3ec move a0, zero                     |         a0 = 0;
    0x0001e3f0 jalr t9                           |         t9 ();
    0x0001e3f4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e3f8 addiu v0, zero, 1                 |         v0 = 1;
    0x0001e3fc b 0x1dd3c                         |         goto label_9;
                                                 |     }
    0x0001e400 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e404 lw a0, (s0)                       |     a0 = *(s0);
                                                 |     /* str.PulseTime */
    0x0001e408 addiu a1, a1, -0xb80              |     a1 += -0xb80;
    0x0001e40c jalr t9                           |     t9 ();
    0x0001e410 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0001e414 bnez v0, 0x1e460                  |         goto label_37;
                                                 |     }
    0x0001e418 lw t9, -0x795c(gp)                |     t9 = sym.imp.g_ascii_strtoull;
    0x0001e41c lw a1, 0x30(sp)                   |     a1 = *(var_30h);
    0x0001e420 addiu a2, zero, 0xa               |     a2 = 0xa;
    0x0001e424 move a0, s3                       |     a0 = s3;
    0x0001e428 jalr t9                           |     t9 ();
    0x0001e42c lw v1, 0x64(sp)                   |     v1 = *(var_64h);
    0x0001e430 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v1 != s3) {
    0x0001e434 beq v1, s3, 0x1e440               |         
    0x0001e438 lw v1, 0x24(sp)                   |         v1 = *(var_24h);
    0x0001e43c sw v0, 0x3c(v1)                   |         *((v1 + 15)) = v0;
                                                 |     }
                                                 | label_14:
    0x0001e440 lw v0, -0x7fdc(gp)                |     v0 = *(gp);
    0x0001e444 sw v0, 0x28(sp)                   |     *(var_28h) = v0;
                                                 |     do {
                                                 | label_11:
    0x0001e448 lw v1, -0x7fdc(gp)                |         v1 = *(gp);
    0x0001e44c b 0x1e068                         |         goto label_8;
                                                 | label_33:
    0x0001e450 lw t9, -0x7ef8(gp)                |         t9 = sym.io_port_set_activelow;
    0x0001e454 move a2, zero                     |         a2 = 0;
    0x0001e458 move a1, zero                     |         a1 = 0;
    0x0001e45c b 0x1e2cc                         |         goto label_10;
                                                 | label_37:
    0x0001e460 lw v0, -0x7fdc(gp)                |         v0 = *(gp);
    0x0001e464 lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
    0x0001e468 lw a0, (s0)                       |         a0 = *(s0);
    0x0001e46c sw v0, 0x28(sp)                   |         *(var_28h) = v0;
                                                 |         /* str.DelayTime */
    0x0001e470 addiu a1, v0, -0xb74              |         a1 = v0 + -0xb74;
    0x0001e474 jalr t9                           |         t9 ();
    0x0001e478 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x0001e47c bnez v0, 0x1e5c4                  |             goto label_38;
                                                 |         }
    0x0001e480 lw t9, -0x795c(gp)                |         t9 = sym.imp.g_ascii_strtoull;
    0x0001e484 lw a1, 0x30(sp)                   |         a1 = *(var_30h);
    0x0001e488 addiu a2, zero, 0xa               |         a2 = 0xa;
    0x0001e48c move a0, s3                       |         a0 = s3;
    0x0001e490 jalr t9                           |         t9 ();
    0x0001e494 lw v1, 0x64(sp)                   |         v1 = *(var_64h);
    0x0001e498 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e49c beq v1, s3, 0x1e448               |         
                                                 |     } while (v1 == s3);
    0x0001e4a0 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001e4a4 sw v0, 0x88(v1)                   |     *((v1 + 34)) = v0;
    0x0001e4a8 lw v1, -0x7fdc(gp)                |     v1 = *(gp);
    0x0001e4ac b 0x1e068                         |     goto label_8;
                                                 | label_36:
    0x0001e4b0 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e4b4 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     /* str.pulse */
    0x0001e4b8 addiu a1, a1, -0x2360             |     a1 += -0x2360;
    0x0001e4bc move a0, s3                       |     a0 = s3;
    0x0001e4c0 jalr t9                           |     t9 ();
    0x0001e4c4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0001e4c8 bnez v0, 0x1e614                  |         
    0x0001e4cc lw v1, 0x24(sp)                   |         v1 = *(var_24h);
    0x0001e4d0 addiu v0, zero, 1                 |         v0 = 1;
    0x0001e4d4 sw v0, 0x38(v1)                   |         *((v1 + 14)) = v0;
                                                 | label_15:
    0x0001e4d8 lw v0, -0x7fdc(gp)                |         v0 = *(gp);
    0x0001e4dc sw v0, 0x28(sp)                   |         *(var_28h) = v0;
    0x0001e4e0 b 0x1e448                         |         goto label_11;
                                                 | label_22:
    0x0001e4e4 lw t9, -0x7f50(gp)                |         t9 = sym.io_control_error_quark;
    0x0001e4e8 bal 0x1fdc0                       |         sym_io_control_error_quark ();
    0x0001e4ec nop                               |         
    0x0001e4f0 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e4f4 lw a0, 0x3c(sp)                   |         a0 = *(var_3ch);
    0x0001e4f8 move a2, zero                     |         a2 = 0;
    0x0001e4fc lw a3, -0x7fdc(gp)                |         a3 = *(gp);
    0x0001e500 lw t9, -0x797c(gp)                |         t9 = sym.imp.g_set_error;
                                                 |         /* str.Failed_to_parse_port_number */
    0x0001e504 addiu a3, a3, -0xc20              |         a3 += -0xc20;
    0x0001e508 move a1, v0                       |         a1 = v0;
    0x0001e50c jalr t9                           |         t9 ();
    0x0001e510 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e514 b 0x1e218                         |         goto label_12;
                                                 | label_23:
    0x0001e518 lw v0, -0x792c(gp)                |         v0 = *((gp - 7755));
    0x0001e51c lw a1, -0x7fdc(gp)                |         a1 = *(gp);
    0x0001e520 lw t9, -0x78f0(gp)                |         t9 = sym.imp.g_fprintf
    0x0001e524 lw a0, (v0)                       |         a0 = *(v0);
                                                 |         /* str.No_port__d_to_write_parhand_data_to._n */
    0x0001e528 addiu a1, a1, -0xc04              |         a1 += -0xc04;
    0x0001e52c jalr t9                           |         t9 ();
    0x0001e530 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e534 lw t9, -0x7f4c(gp)                |         t9 = sym.io_port_unref;
    0x0001e538 move a0, zero                     |         a0 = 0;
    0x0001e53c bal 0xeba4                        |         sym_io_port_unref ();
    0x0001e540 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e544 move v0, zero                     |         v0 = 0;
    0x0001e548 b 0x1dd3c                         |         goto label_9;
                                                 | label_30:
    0x0001e54c lw a1, 0x50(sp)                   |         a1 = *(var_50h);
    0x0001e550 move a0, s3                       |         a0 = s3;
    0x0001e554 jalr t9                           |         t9 ();
    0x0001e558 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e55c lw v1, 0x24(sp)                   |         v1 = *(var_24h);
                                                 |         if (v0 != 0) {
    0x0001e560 bnez v0, 0x1e67c                  |             goto label_39;
                                                 |         }
    0x0001e564 addiu v0, zero, 1                 |         v0 = 1;
    0x0001e568 sw v0, 0x30(v1)                   |         *((v1 + 12)) = v0;
    0x0001e56c b 0x1e154                         |         goto label_13;
                                                 | label_20:
    0x0001e570 lw v0, 8(v1)                      |         v0 = *((v1 + 2));
    0x0001e574 lw a3, -0x7fdc(gp)                |         a3 = *(gp);
    0x0001e578 lw a2, -0x7fdc(gp)                |         a2 = *(gp);
    0x0001e57c lw t9, -0x7b68(gp)                |         t9 = sym.imp.g_log;
    0x0001e580 sw v0, 0x10(sp)                   |         *(var_10h) = v0;
    0x0001e584 addiu a3, a3, 0x3d20              |         a3 += 0x3d20;
                                                 |         /* str._sError_parsing_parhand_file__s */
    0x0001e588 addiu a2, a2, -0xc50              |         a2 += -0xc50;
    0x0001e58c addiu a1, zero, 0x10              |         a1 = 0x10;
    0x0001e590 move a0, zero                     |         a0 = 0;
    0x0001e594 jalr t9                           |         t9 ();
    0x0001e598 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e59c lw t9, -0x7ad8(gp)                |         t9 = sym.imp.g_error_free;
    0x0001e5a0 lw a0, 0x5c(sp)                   |         a0 = *(var_5ch);
    0x0001e5a4 jalr t9                           |         t9 ();
    0x0001e5a8 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e5ac lw t9, -0x7ac4(gp)                |         t9 = sym.imp.g_key_file_free;
    0x0001e5b0 move a0, s5                       |         a0 = s5;
    0x0001e5b4 jalr t9                           |         t9 ();
    0x0001e5b8 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e5bc move v0, zero                     |         v0 = 0;
    0x0001e5c0 b 0x1dd3c                         |         goto label_9;
                                                 | label_38:
    0x0001e5c4 lw v1, -0x7fdc(gp)                |         v1 = *(gp);
    0x0001e5c8 lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
    0x0001e5cc lw a0, (s0)                       |         a0 = *(s0);
                                                 |         /* esilref: 'Mode' */
    0x0001e5d0 addiu a1, v1, -0x4e4              |         a1 = v1 + -0x4e4;
    0x0001e5d4 sw v1, 0x54(sp)                   |         *(var_54h) = v1;
    0x0001e5d8 jalr t9                           |         t9 ();
    0x0001e5dc lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x0001e5e0 bnez v0, 0x1e6f8                  |             goto label_40;
                                                 |         }
    0x0001e5e4 lw a1, -0x7fdc(gp)                |         a1 = *(gp);
    0x0001e5e8 lw t9, -0x77d4(gp)                |         t9 = sym.imp.g_strcmp0;
                                                 |         /* str.bistable */
    0x0001e5ec addiu a1, a1, -0x238c             |         a1 += -0x238c;
    0x0001e5f0 move a0, s3                       |         a0 = s3;
    0x0001e5f4 jalr t9                           |         t9 ();
    0x0001e5f8 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e5fc lw v1, 0x54(sp)                   |         v1 = *(var_54h);
                                                 |         if (v0 != 0) {
    0x0001e600 bnez v0, 0x1e6a8                  |             goto label_41;
                                                 |         }
    0x0001e604 lw a0, 0x24(sp)                   |         a0 = *(var_24h);
    0x0001e608 addiu v0, zero, 2                 |         v0 = 2;
    0x0001e60c sw v0, 0x8c(a0)                   |         *((a0 + 35)) = v0;
    0x0001e610 b 0x1e068                         |         goto label_8;
                                                 |     }
    0x0001e614 lw a1, -0x7fdc(gp)                |     a1 = *(gp);
    0x0001e618 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
                                                 |     /* str.actinact */
    0x0001e61c addiu a1, a1, -0x2358             |     a1 += -0x2358;
    0x0001e620 move a0, s3                       |     a0 = s3;
    0x0001e624 jalr t9                           |     t9 ();
    0x0001e628 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0001e62c bnez v0, 0x1e440                  |         goto label_14;
                                                 |     }
    0x0001e630 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001e634 addiu v0, zero, 2                 |     v0 = 2;
    0x0001e638 sw v0, 0x38(v1)                   |     *((v1 + 14)) = v0;
    0x0001e63c b 0x1e4d8                         |     goto label_15;
                                                 | label_31:
    0x0001e640 lw t9, -0x7f50(gp)                |     t9 = sym.io_control_error_quark;
    0x0001e644 bal 0x1fdc0                       |     sym_io_control_error_quark ();
    0x0001e648 nop                               |     
    0x0001e64c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e650 lw v1, (s0)                       |     v1 = *(s0);
    0x0001e654 lw a0, 0x3c(sp)                   |     a0 = *(var_3ch);
    0x0001e658 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0001e65c lw t9, -0x797c(gp)                |     t9 = sym.imp.g_set_error;
                                                 |     /* str.Failed_to_read__s_parameter */
    0x0001e660 addiu a3, a3, -0xbbc              |     a3 += -0xbbc;
    0x0001e664 move a2, zero                     |     a2 = 0;
    0x0001e668 move a1, v0                       |     a1 = v0;
    0x0001e66c sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x0001e670 jalr t9                           |     t9 ();
    0x0001e674 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e678 b 0x1e208                         |     goto label_16;
                                                 | label_39:
    0x0001e67c lw v0, 0x44(sp)                   |     v0 = *(var_44h);
    0x0001e680 lw t9, -0x77d4(gp)                |     t9 = sym.imp.g_strcmp0;
    0x0001e684 sw v1, 0x24(sp)                   |     *(var_24h) = v1;
    0x0001e688 addiu a1, v0, -0x298c             |     a1 = v0 + -0x298c;
    0x0001e68c move a0, s3                       |     a0 = s3;
    0x0001e690 jalr t9                           |     t9 ();
    0x0001e694 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e698 lw v1, 0x24(sp)                   |     v1 = *(var_24h);
                                                 |     if (v0 == 0) {
    0x0001e69c bnez v0, 0x1e72c                  |         
    0x0001e6a0 sw zero, 0x30(v1)                 |         *((v1 + 12)) = 0;
    0x0001e6a4 b 0x1e154                         |         goto label_13;
                                                 | label_41:
    0x0001e6a8 lw a0, 0x24(sp)                   |         a0 = *(var_24h);
    0x0001e6ac addiu v0, zero, 1                 |         v0 = 1;
    0x0001e6b0 sw v0, 0x8c(a0)                   |         *((a0 + 35)) = v0;
    0x0001e6b4 b 0x1e068                         |         goto label_8;
                                                 | label_35:
    0x0001e6b8 lw t9, -0x7f50(gp)                |         t9 = sym.io_control_error_quark;
    0x0001e6bc bal 0x1fdc0                       |         sym_io_control_error_quark ();
    0x0001e6c0 nop                               |         
    0x0001e6c4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e6c8 lw a0, 0x3c(sp)                   |         a0 = *(var_3ch);
    0x0001e6cc move a2, zero                     |         a2 = 0;
    0x0001e6d0 lw a3, -0x7fdc(gp)                |         a3 = *(gp);
    0x0001e6d4 lw t9, -0x797c(gp)                |         t9 = sym.imp.g_set_error;
                                                 |         /* str.Failed_to_read_Trig_parameter */
    0x0001e6d8 addiu a3, a3, -0xbdc              |         a3 += -0xbdc;
    0x0001e6dc move a1, v0                       |         a1 = v0;
    0x0001e6e0 jalr t9                           |         t9 ();
    0x0001e6e4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e6e8 b 0x1e208                         |         goto label_16;
                                                 | label_18:
    0x0001e6ec lw t9, -0x7a10(gp)                |         t9 = sym.imp.__stack_chk_fail;
    0x0001e6f0 jalr t9                           |         t9 ();
    0x0001e6f4 nop                               |         
                                                 | label_40:
    0x0001e6f8 lw t9, -0x7f50(gp)                |         t9 = sym.io_control_error_quark;
    0x0001e6fc bal 0x1fdc0                       |         sym_io_control_error_quark ();
    0x0001e700 nop                               |         
    0x0001e704 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e708 lw a0, 0x3c(sp)                   |         a0 = *(var_3ch);
    0x0001e70c move a2, zero                     |         a2 = 0;
    0x0001e710 lw a3, -0x7fdc(gp)                |         a3 = *(gp);
    0x0001e714 lw t9, -0x797c(gp)                |         t9 = sym.imp.g_set_error;
                                                 |         /* str.Failed_to_read_Output_parameter */
    0x0001e718 addiu a3, a3, -0xb68              |         a3 += -0xb68;
    0x0001e71c move a1, v0                       |         a1 = v0;
    0x0001e720 jalr t9                           |         t9 ();
    0x0001e724 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0001e728 b 0x1e208                         |         goto label_16;
                                                 |     }
    0x0001e72c lw t9, -0x7f50(gp)                |     t9 = sym.io_control_error_quark;
    0x0001e730 sw v1, 0x24(sp)                   |     *(var_24h) = v1;
    0x0001e734 bal 0x1fdc0                       |     sym_io_control_error_quark ();
    0x0001e738 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e73c lw a0, 0x3c(sp)                   |     a0 = *(var_3ch);
    0x0001e740 move a2, zero                     |     a2 = 0;
    0x0001e744 lw a3, -0x7fdc(gp)                |     a3 = *(gp);
    0x0001e748 lw t9, -0x797c(gp)                |     t9 = sym.imp.g_set_error;
                                                 |     /* str.Failed_to_read_Direction_parameter */
    0x0001e74c addiu a3, a3, -0xb3c              |     a3 += -0xb3c;
    0x0001e750 move a1, v0                       |     a1 = v0;
    0x0001e754 jalr t9                           |     t9 ();
    0x0001e758 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e75c lw v1, 0x24(sp)                   |     v1 = *(var_24h);
    0x0001e760 lw t9, -0x7f4c(gp)                |     t9 = sym.io_port_unref;
    0x0001e764 move a0, v1                       |     a0 = v1;
    0x0001e768 bal 0xeba4                        |     sym_io_port_unref ();
    0x0001e76c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001e770 b 0x1e218                         |     goto label_12;
                                                 | }

[*] Function fprintf used 7 times io2d