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