[*] Binary protection state of lightd
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of lightd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/lightd @ 0x10084 */
| #include <stdint.h>
|
; (fcn) sym.led_3_i2c_setup () | void led_3_i2c_setup () {
0x00010084 lui gp, 3 |
0x00010088 addiu gp, gp, 0x101c |
0x0001008c addu gp, gp, t9 | gp += t9;
0x00010090 lw v0, -0x7d08(gp) | v0 = *((gp - 8002));
0x00010094 addiu sp, sp, -0x220 |
0x00010098 lw t9, -0x7ef0(gp) | t9 = sym.led_3_i2c_get_type;
0x0001009c sw v0, 0x28(sp) | *(var_28h) = v0;
0x000100a0 lw v0, (v0) | v0 = *(v0);
0x000100a4 sw ra, 0x21c(sp) | *(var_21ch) = ra;
0x000100a8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000100ac sw s7, 0x214(sp) | *(var_214h) = s7;
0x000100b0 sw s5, 0x20c(sp) | *(var_20ch) = s5;
0x000100b4 sw s4, 0x208(sp) | *(var_208h) = s4;
0x000100b8 sw s3, 0x204(sp) | *(var_204h) = s3;
0x000100bc sw s1, 0x1fc(sp) | *(var_1fch) = s1;
0x000100c0 sw s0, 0x1f8(sp) | *(var_1f8h) = s0;
0x000100c4 sw a0, 0x2c(sp) | *(var_2ch) = a0;
0x000100c8 sw fp, 0x218(sp) | *(var_218h) = fp;
0x000100cc sw s6, 0x210(sp) | *(var_210h) = s6;
0x000100d0 sw s2, 0x200(sp) | *(var_200h) = s2;
0x000100d4 sw v0, 0x1f4(sp) | *(var_1f4h) = v0;
0x000100d8 sw zero, 0x48(sp) | *(var_48h) = 0;
0x000100dc move s0, a0 | s0 = a0;
0x000100e0 move s5, a1 | s5 = a1;
0x000100e4 bal 0xff30 | sym_led_3_i2c_get_type ();
0x000100e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000100ec move a0, s0 | a0 = s0;
0x000100f0 move a1, v0 | a1 = v0;
0x000100f4 lw t9, -0x7d58(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x000100f8 addiu s0, sp, 0x48 | s0 = sp + 0x48;
0x000100fc jalr t9 | t9 ();
0x00010100 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010104 addiu a2, zero, 0xfa | a2 = 0xfa;
0x00010108 move a1, zero | a1 = 0;
0x0001010c lw t9, -0x7c20(gp) | t9 = sym.imp.memset;
0x00010110 addiu a0, sp, 0xf8 | a0 = sp + 0xf8;
0x00010114 sb zero, 0x47(sp) | *(var_47h) = 0;
0x00010118 sh zero, 0xf0(sp) | *(var_f0h) = 0;
0x0001011c sw zero, 0xf4(sp) | *(var_f4h) = 0;
0x00010120 move s1, v0 | s1 = v0;
0x00010124 jalr t9 | t9 ();
0x00010128 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001012c lw t9, -0x7be0(gp) | t9 = sym.imp.g_key_file_new;
0x00010130 lw s4, -0x7fc4(gp) | s4 = *(gp);
0x00010134 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x00010138 jalr t9 | t9 ();
0x0001013c nop |
0x00010140 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010144 move a2, s0 | a2 = s0;
0x00010148 addiu a1, s4, 0x4060 | a1 = s4 + 0x4060;
0x0001014c lw t9, -0x7c34(gp) | t9 = sym.imp.g_io_channel_new_file;
| /* str._etc_lightd_dimming.conf */
0x00010150 addiu a0, s7, 0x64dc | a0 = s7 + 0x64dc;
0x00010154 move s3, v0 | s3 = v0;
0x00010158 jalr t9 | t9 ();
0x0001015c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00010160 beqz v0, 0x10688 | goto label_11;
| }
0x00010164 lw t9, -0x7bac(gp) | t9 = sym.imp.g_io_channel_set_encoding;
0x00010168 move a2, zero | a2 = 0;
0x0001016c move a1, zero | a1 = 0;
0x00010170 move a0, v0 | a0 = v0;
0x00010174 move s2, v0 | s2 = v0;
0x00010178 jalr t9 | t9 ();
0x0001017c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010180 addiu v0, sp, 0x50 | v0 = sp + 0x50;
0x00010184 addiu fp, sp, 0x4c | fp = sp + 0x4c;
0x00010188 lw t9, -0x7c04(gp) | t9 = sym.imp.g_io_channel_read_to_end;
0x0001018c sw v0, 0x30(sp) | *(var_30h_2) = v0;
0x00010190 move a3, s0 | a3 = s0;
0x00010194 move a2, v0 | a2 = v0;
0x00010198 move a1, fp | a1 = fp;
0x0001019c move a0, s2 | a0 = s2;
0x000101a0 jalr t9 | t9 ();
0x000101a4 addiu v1, zero, 1 | v1 = 1;
0x000101a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x000101ac beq v0, v1, 0x1024c | goto label_12;
| }
0x000101b0 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000101b4 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_reading_file */
0x000101b8 addiu a2, a2, 0x6448 | a2 += 0x6448;
0x000101bc addiu a1, zero, 1 | a1 = 1;
0x000101c0 addiu a0, zero, 3 | a0 = 3;
0x000101c4 jalr t9 | t9 ();
0x000101c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000101cc lw a0, 0x48(sp) | a0 = *(var_48h);
0x000101d0 lw t9, -0x7dbc(gp) | t9 = sym.imp.g_error_free;
0x000101d4 sw zero, 0x24(sp) | *(var_24h) = 0;
0x000101d8 jalr t9 | t9 ();
0x000101dc lw gp, 0x18(sp) | gp = *(var_18h);
0x000101e0 lw t9, -0x7d94(gp) | t9 = sym.imp.g_io_channel_unref;
0x000101e4 move a0, s2 | a0 = s2;
0x000101e8 jalr t9 | t9 ();
0x000101ec lw gp, 0x18(sp) | gp = *(var_18h);
0x000101f0 sw zero, 0x20(sp) | *(var_20h) = 0;
| do {
| label_2:
0x000101f4 lw t9, -0x7b7c(gp) | t9 = sym.imp.g_free;
0x000101f8 lw a0, 0x24(sp) | a0 = *(var_24h);
0x000101fc sw s3, 0x178(s1) | *(s1) = s3;
0x00010200 jalr t9 | t9 ();
0x00010204 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00010208 lw a0, 0x1f4(sp) | a0 = *(var_1f4h);
0x0001020c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010210 lw v1, (v0) | v1 = *(v0);
0x00010214 lw v0, 0x20(sp) | v0 = *(var_20h);
| if (a0 != v1) {
0x00010218 bne a0, v1, 0x10e00 | goto label_13;
| }
0x0001021c lw ra, 0x21c(sp) | ra = *(var_21ch);
0x00010220 lw fp, 0x218(sp) | fp = *(var_218h);
0x00010224 lw s7, 0x214(sp) | s7 = *(var_214h);
0x00010228 lw s6, 0x210(sp) | s6 = *(var_210h);
0x0001022c lw s5, 0x20c(sp) | s5 = *(var_20ch);
0x00010230 lw s4, 0x208(sp) | s4 = *(var_208h);
0x00010234 lw s3, 0x204(sp) | s3 = *(var_204h);
0x00010238 lw s2, 0x200(sp) | s2 = *(var_200h);
0x0001023c lw s1, 0x1fc(sp) | s1 = *(var_1fch);
0x00010240 lw s0, 0x1f8(sp) | s0 = *(var_1f8h);
0x00010244 addiu sp, sp, 0x220 |
0x00010248 jr ra | return v1;
| label_12:
0x0001024c lw t9, -0x7e2c(gp) | t9 = sym.imp.g_key_file_load_from_data;
0x00010250 lw a2, 0x50(sp) | a2 = *(var_50h);
0x00010254 lw a1, 0x4c(sp) | a1 = *(var_4ch);
0x00010258 sw s0, 0x10(sp) | *(var_10h) = s0;
0x0001025c move a3, zero | a3 = 0;
0x00010260 move a0, s3 | a0 = s3;
0x00010264 jalr t9 | t9 ();
0x00010268 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001026c beqz v0, 0x106d0 | goto label_14;
| }
0x00010270 lw t9, -0x7b7c(gp) | t9 = sym.imp.g_free;
0x00010274 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x00010278 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0001027c jalr t9 | t9 ();
0x00010280 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010284 lw t9, -0x7d94(gp) | t9 = sym.imp.g_io_channel_unref;
0x00010288 move a0, s2 | a0 = s2;
0x0001028c jalr t9 | t9 ();
0x00010290 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010294 move a3, s0 | a3 = s0;
| /* str.regulator */
0x00010298 addiu a1, s7, 0x4de4 | a1 = s7 + 0x4de4;
0x0001029c lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000102a0 lw t9, -0x7ca0(gp) | t9 = sym.imp.g_key_file_get_integer;
| /* str.sample_time */
0x000102a4 addiu a2, a2, 0x6500 | a2 += 0x6500;
0x000102a8 move a0, s3 | a0 = s3;
0x000102ac jalr t9 | t9 ();
0x000102b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000102b4 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x000102b8 move a0, s0 | a0 = s0;
0x000102bc lw t9, -0x7be8(gp) | t9 = sym.imp.g_clear_error;
0x000102c0 sw v0, 0x11c(s2) | *(s2) = v0;
0x000102c4 jalr t9 | t9 ();
0x000102c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000102cc move a2, s0 | a2 = s0;
0x000102d0 move a1, s3 | a1 = s3;
0x000102d4 lw t9, -0x7f20(gp) | t9 = sym.led_base_conf_temp_sensor_ids;
0x000102d8 move a0, s2 | a0 = s2;
0x000102dc bal 0x7bec | sym_led_base_conf_temp_sensor_ids ();
0x000102e0 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x000102e4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000102e8 beqz v0, 0x10660 | goto label_15;
| }
| label_1:
0x000102ec lw t9, -0x7be8(gp) | t9 = sym.imp.g_clear_error;
0x000102f0 move a0, s0 | a0 = s0;
0x000102f4 jalr t9 | t9 ();
0x000102f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000102fc move a3, s0 | a3 = s0;
| /* str.regulator */
0x00010300 addiu a1, s7, 0x4de4 | a1 = s7 + 0x4de4;
0x00010304 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010308 lw t9, -0x7c24(gp) | t9 = sym.imp.g_key_file_get_double;
| /* esilref: 'k_p' */
0x0001030c addiu a2, a2, 0x6544 | a2 += 0x6544;
0x00010310 move a0, s3 | a0 = s3;
0x00010314 jalr t9 | t9 ();
0x00010318 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001031c sw v0, 0x150(s1) | *(s1) = v0;
0x00010320 sw v1, 0x154(s1) | *((s1 + 85)) = v1;
0x00010324 lw t9, -0x7be8(gp) | t9 = sym.imp.g_clear_error;
0x00010328 move a0, s0 | a0 = s0;
0x0001032c jalr t9 | t9 ();
0x00010330 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010334 move a3, s0 | a3 = s0;
| /* str.regulator */
0x00010338 addiu a1, s7, 0x4de4 | a1 = s7 + 0x4de4;
0x0001033c lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010340 lw t9, -0x7c24(gp) | t9 = sym.imp.g_key_file_get_double;
| /* esilref: 'k_i' */
0x00010344 addiu a2, a2, 0x6548 | a2 += 0x6548;
0x00010348 move a0, s3 | a0 = s3;
0x0001034c jalr t9 | t9 ();
0x00010350 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010354 sw v0, 0x158(s1) | *((s1 + 86)) = v0;
0x00010358 sw v1, 0x15c(s1) | *((s1 + 87)) = v1;
0x0001035c lw t9, -0x7be8(gp) | t9 = sym.imp.g_clear_error;
0x00010360 move a0, s0 | a0 = s0;
0x00010364 jalr t9 | t9 ();
0x00010368 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001036c move a3, s0 | a3 = s0;
| /* str.regulator */
0x00010370 addiu a1, s7, 0x4de4 | a1 = s7 + 0x4de4;
0x00010374 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010378 lw t9, -0x7c24(gp) | t9 = sym.imp.g_key_file_get_double;
| /* esilref: 'k_d' */
0x0001037c addiu a2, a2, 0x654c | a2 += 0x654c;
0x00010380 move a0, s3 | a0 = s3;
0x00010384 jalr t9 | t9 ();
0x00010388 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001038c sw v0, 0x160(s1) | *((s1 + 88)) = v0;
0x00010390 sw v1, 0x164(s1) | *((s1 + 89)) = v1;
0x00010394 lw t9, -0x7be8(gp) | t9 = sym.imp.g_clear_error;
0x00010398 move a0, s0 | a0 = s0;
0x0001039c jalr t9 | t9 ();
0x000103a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000103a4 move a3, s0 | a3 = s0;
| /* str.regulator */
0x000103a8 addiu a1, s7, 0x4de4 | a1 = s7 + 0x4de4;
0x000103ac lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000103b0 lw t9, -0x7c24(gp) | t9 = sym.imp.g_key_file_get_double;
| /* str.ref_temp */
0x000103b4 addiu a2, a2, 0x6550 | a2 += 0x6550;
0x000103b8 move a0, s3 | a0 = s3;
0x000103bc jalr t9 | t9 ();
0x000103c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000103c4 sw v1, 0x16c(s1) | *((s1 + 91)) = v1;
0x000103c8 sw v0, 0x168(s1) | *((s1 + 90)) = v0;
0x000103cc lw t9, -0x7be8(gp) | t9 = sym.imp.g_clear_error;
0x000103d0 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x000103d4 move a0, s0 | a0 = s0;
0x000103d8 jalr t9 | t9 ();
0x000103dc lw gp, 0x18(sp) | gp = *(var_18h);
0x000103e0 move a3, s0 | a3 = s0;
| /* str.poe_class_present */
0x000103e4 addiu a2, s2, 0x68c4 | a2 = s2 + 0x68c4;
0x000103e8 lw t9, -0x7b94(gp) | t9 = sym.imp.g_key_file_has_key;
| /* str.regulator */
0x000103ec addiu a1, s7, 0x4de4 | a1 = s7 + 0x4de4;
0x000103f0 move a0, s3 | a0 = s3;
0x000103f4 jalr t9 | t9 ();
0x000103f8 lw v1, 0x48(sp) | v1 = *(var_48h);
0x000103fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00010400 move s6, v0 | s6 = v0;
| if (v1 != 0) {
0x00010404 beqz v1, 0x10418 |
0x00010408 lw t9, -0x7be8(gp) | t9 = sym.imp.g_clear_error;
0x0001040c move a0, s0 | a0 = s0;
0x00010410 jalr t9 | t9 ();
0x00010414 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00010418 addiu v1, zero, 1 | v1 = 1;
0x0001041c lw t9, -0x7cf4(gp) | t9 = sym.imp.g_key_file_get_boolean;
| if (s6 == v1) {
0x00010420 beq s6, v1, 0x108c0 | goto label_16;
| }
| label_5:
0x00010424 lw t9, -0x7dac(gp) | t9 = sym.imp.g_key_file_free;
0x00010428 move a0, s3 | a0 = s3;
0x0001042c jalr t9 | t9 ();
0x00010430 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010434 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00010438 move a2, zero | a2 = 0;
0x0001043c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00010440 lw t9, -0x7c08(gp) | t9 = sym.imp.g_strconcat;
0x00010444 lw a0, 0x98(v0) | a0 = *((v0 + 38));
| /* str._AAID */
0x00010448 addiu a1, a1, 0x4874 | a1 += 0x4874;
0x0001044c jalr t9 | t9 ();
0x00010450 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010454 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00010458 addiu a2, sp, 0x60 | a2 = sp + 0x60;
0x0001045c lw t9, -0x7bc8(gp) | t9 = sym.imp.__xstat;
0x00010460 move a1, v0 | a1 = v0;
0x00010464 addiu a0, zero, 3 | a0 = 3;
0x00010468 jalr t9 | t9 ();
0x0001046c sw v0, 0x20(sp) | *(var_20h) = v0;
0x00010470 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00010474 beqz v0, 0x105f0 | goto label_17;
| }
0x00010478 addiu v0, zero, 1 | v0 = 1;
0x0001047c sw v0, 0x170(s1) | *((s1 + 92)) = v0;
0x00010480 sw v0, 0x20(sp) | *(var_20h) = v0;
| label_0:
0x00010484 lw v1, -0x7fc4(gp) | v1 = *(gp);
0x00010488 addiu s5, sp, 0xf4 | s5 = sp + 0xf4;
| /* str._etc_lightd_illumination.conf */
0x0001048c addiu v0, v1, 0x48ac | v0 = v1 + 0x48ac;
0x00010490 lw t1, 0x48ac(v1) | t1 = *((v1 + 4651));
0x00010494 lw a0, 0x14(v0) | a0 = *((v0 + 5));
0x00010498 sw t1, 0xf4(sp) | *(var_f4h) = t1;
0x0001049c lw t0, 4(v0) | t0 = *((v0 + 1));
0x000104a0 lw a3, 8(v0) | a3 = *((v0 + 2));
0x000104a4 lw a2, 0xc(v0) | a2 = *((v0 + 3));
0x000104a8 lw a1, 0x10(v0) | a1 = *((v0 + 4));
0x000104ac lw v1, 0x18(v0) | v1 = *((v0 + 6));
0x000104b0 sw a0, 0x14(s5) | *((s5 + 5)) = a0;
0x000104b4 lhu v0, 0x1c(v0) | v0 = *((v0 + 14));
0x000104b8 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x000104bc lw t9, -0x7d64(gp) | t9 = sym.imp.bootblock_get;
0x000104c0 sw t0, 4(s5) | *((s5 + 1)) = t0;
0x000104c4 sw a3, 8(s5) | *((s5 + 2)) = a3;
0x000104c8 sw a2, 0xc(s5) | *((s5 + 3)) = a2;
0x000104cc sw a1, 0x10(s5) | *((s5 + 4)) = a1;
0x000104d0 sw v1, 0x18(s5) | *((s5 + 6)) = v1;
0x000104d4 sh v0, 0x1c(s5) | *((s5 + 14)) = v0;
| /* str.OPTICS */
0x000104d8 addiu a0, a0, 0x695c | a0 += 0x695c;
0x000104dc jalr t9 | t9 ();
0x000104e0 move s2, v0 | s2 = v0;
0x000104e4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000104e8 beqz v0, 0x1070c | goto label_18;
| }
0x000104ec lw t9, -0x7ce4(gp) | t9 = sym.imp.strlen;
0x000104f0 move a0, s5 | a0 = s5;
0x000104f4 jalr t9 | t9 ();
0x000104f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000104fc addu v0, s5, v0 | v0 = s5 + v0;
0x00010500 addiu v1, zero, 0x2e | v1 = 0x2e;
0x00010504 lw t9, -0x7d20(gp) | t9 = sym.imp.__strcpy_chk
0x00010508 sb v1, (v0) | *(v0) = v1;
0x0001050c sb zero, 1(v0) | *((v0 + 1)) = 0;
0x00010510 addiu a2, zero, 0xfe | a2 = 0xfe;
0x00010514 move a1, s2 | a1 = s2;
0x00010518 addiu a0, v0, 1 | a0 = v0 + 1;
0x0001051c jalr t9 | t9 ();
0x00010520 lw gp, 0x18(sp) | gp = *(var_18h);
| label_4:
0x00010524 lw t9, -0x7be4(gp) | t9 = sym.imp.g_strdup;
0x00010528 move a0, s5 | a0 = s5;
0x0001052c jalr t9 | t9 ();
0x00010530 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010534 lw v1, -0x7fd4(gp) | v1 = *((gp - 8181));
0x00010538 lw t9, -0x7be0(gp) | t9 = sym.imp.g_key_file_new;
0x0001053c sw v0, -0x69d4(v1) | *((v1 - 6773)) = v0;
0x00010540 jalr t9 | t9 ();
0x00010544 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010548 move a2, s0 | a2 = s0;
0x0001054c addiu a1, s4, 0x4060 | a1 = s4 + 0x4060;
0x00010550 lw t9, -0x7c34(gp) | t9 = sym.imp.g_io_channel_new_file;
0x00010554 move a0, s5 | a0 = s5;
0x00010558 move s3, v0 | s3 = v0;
0x0001055c jalr t9 | t9 ();
0x00010560 move s2, v0 | s2 = v0;
0x00010564 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00010568 beqz v0, 0x10bd8 | goto label_19;
| }
0x0001056c lw t9, -0x7bac(gp) | t9 = sym.imp.g_io_channel_set_encoding;
0x00010570 move a2, zero | a2 = 0;
0x00010574 move a1, zero | a1 = 0;
0x00010578 move a0, v0 | a0 = v0;
0x0001057c jalr t9 | t9 ();
0x00010580 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010584 lw a2, 0x30(sp) | a2 = *(var_30h_2);
0x00010588 move a3, s0 | a3 = s0;
0x0001058c lw t9, -0x7c04(gp) | t9 = sym.imp.g_io_channel_read_to_end;
0x00010590 move a1, fp | a1 = fp;
0x00010594 move a0, s2 | a0 = s2;
0x00010598 jalr t9 | t9 ();
0x0001059c addiu v1, zero, 1 | v1 = 1;
0x000105a0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x000105a4 beq v0, v1, 0x10748 | goto label_20;
| }
0x000105a8 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000105ac lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
0x000105b0 addiu a0, zero, 3 | a0 = 3;
| /* str.Failed_reading_file */
0x000105b4 addiu a2, a2, 0x6448 | a2 += 0x6448;
0x000105b8 addiu a1, zero, 1 | a1 = 1;
0x000105bc jalr t9 | t9 ();
0x000105c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000105c4 lw a0, 0x48(sp) | a0 = *(var_48h);
0x000105c8 lw t9, -0x7dbc(gp) | t9 = sym.imp.g_error_free;
| label_3:
0x000105cc sw zero, 0x20(sp) | *(var_20h) = 0;
| label_7:
0x000105d0 jalr t9 | t9 ();
0x000105d4 nop |
0x000105d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000105dc lw t9, -0x7d94(gp) | t9 = sym.imp.g_io_channel_unref;
0x000105e0 move a0, s2 | a0 = s2;
0x000105e4 jalr t9 | t9 ();
0x000105e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000105ec b 0x101f4 |
| } while (1);
| label_17:
0x000105f0 lw t9, -0x7b84(gp) | t9 = sym.imp.open;
0x000105f4 lw a0, 0x24(sp) | a0 = *(var_24h);
0x000105f8 move a1, zero | a1 = 0;
0x000105fc jalr t9 | t9 ();
0x00010600 move s2, v0 | s2 = v0;
0x00010604 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010608 bgez v0, 0x10870 |
| while (v1 != v0) {
0x0001060c lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00010610 lw t9, -0x7d1c(gp) | t9 = sym.imp.g_quark_from_static_string;
| /* str.light_control_error_quark */
0x00010614 addiu a0, a0, 0x414c | a0 += 0x414c;
0x00010618 jalr t9 | t9 ();
0x0001061c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010620 move a1, v0 | a1 = v0;
0x00010624 addiu a2, zero, 6 | a2 = 6;
0x00010628 lw a3, -0x7fc4(gp) | a3 = *(gp);
0x0001062c lw t9, -0x7d04(gp) | t9 = sym.imp.g_set_error;
| /* str.No_IR_light_PCB_found */
0x00010630 addiu a3, a3, 0x4168 | a3 += 0x4168;
0x00010634 move a0, s5 | a0 = s5;
0x00010638 jalr t9 | t9 ();
0x0001063c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010640 addiu a1, zero, 1 | a1 = 1;
0x00010644 addiu a0, zero, 6 | a0 = 6;
0x00010648 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0001064c lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Could_not_find_MCU_driver */
0x00010650 addiu a2, a2, 0x642c | a2 += 0x642c;
0x00010654 jalr t9 | t9 ();
0x00010658 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001065c b 0x10484 | goto label_0;
| label_15:
0x00010660 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00010664 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010668 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
0x0001066c lw a3, 0x128(v0) | a3 = *((v0 + 74));
| /* str.Expected_at_most_2_temperature_sensors__but_found__d. */
0x00010670 addiu a2, a2, 0x6720 | a2 += 0x6720;
0x00010674 addiu a1, zero, 1 | a1 = 1;
0x00010678 addiu a0, zero, 4 | a0 = 4;
0x0001067c jalr t9 | t9 ();
0x00010680 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010684 b 0x102ec | goto label_1;
| label_11:
0x00010688 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001068c lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010690 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
0x00010694 lw v0, 8(v0) | v0 = *((v0 + 2));
| /* str._etc_lightd_dimming.conf */
0x00010698 addiu a3, s7, 0x64dc | a3 = s7 + 0x64dc;
| /* str.could_not_open__s:__s */
0x0001069c addiu a2, a2, 0x48cc | a2 += 0x48cc;
0x000106a0 addiu a1, zero, 1 | a1 = 1;
0x000106a4 addiu a0, zero, 3 | a0 = 3;
0x000106a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000106ac jalr t9 | t9 ();
0x000106b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000106b4 lw a0, 0x48(sp) | a0 = *(var_48h);
0x000106b8 lw t9, -0x7dbc(gp) | t9 = sym.imp.g_error_free;
0x000106bc sw zero, 0x24(sp) | *(var_24h) = 0;
0x000106c0 jalr t9 | t9 ();
0x000106c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000106c8 sw zero, 0x20(sp) | *(var_20h) = 0;
0x000106cc b 0x101f4 | goto label_2;
| label_14:
0x000106d0 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000106d4 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Could_not_load_data_to_GKeyFile */
0x000106d8 addiu a2, a2, 0x48f8 | a2 += 0x48f8;
0x000106dc addiu a1, zero, 1 | a1 = 1;
0x000106e0 addiu a0, zero, 3 | a0 = 3;
0x000106e4 jalr t9 | t9 ();
0x000106e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000106ec lw a0, 0x48(sp) | a0 = *(var_48h);
0x000106f0 lw t9, -0x7dbc(gp) | t9 = sym.imp.g_error_free;
0x000106f4 sw zero, 0x24(sp) | *(var_24h) = 0;
0x000106f8 jalr t9 | t9 ();
0x000106fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00010700 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x00010704 lw t9, -0x7b7c(gp) | t9 = sym.imp.g_free;
0x00010708 b 0x105cc | goto label_3;
| label_18:
0x0001070c lw t9, -0x7b78(gp) | t9 = sym.imp.__errno_location;
0x00010710 jalr t9 | t9 ();
0x00010714 nop |
0x00010718 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001071c lw v1, (v0) | v1 = *(v0);
0x00010720 addiu v0, zero, 2 | v0 = 2;
0x00010724 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| if (v1 == v0) {
0x00010728 beq v1, v0, 0x10c1c | goto label_21;
| }
0x0001072c lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010730 addiu a1, zero, 1 | a1 = 1;
| /* str.Error_reading_optics_bootblock_parameter___using_default_config */
0x00010734 addiu a2, a2, 0x69a0 | a2 += 0x69a0;
0x00010738 addiu a0, zero, 4 | a0 = 4;
0x0001073c jalr t9 | t9 ();
0x00010740 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010744 b 0x10524 | goto label_4;
| label_20:
0x00010748 lw t9, -0x7e2c(gp) | t9 = sym.imp.g_key_file_load_from_data;
0x0001074c lw a2, 0x50(sp) | a2 = *(var_50h);
0x00010750 lw a1, 0x4c(sp) | a1 = *(var_4ch);
0x00010754 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00010758 move a3, zero | a3 = 0;
0x0001075c move a0, s3 | a0 = s3;
0x00010760 jalr t9 | t9 ();
0x00010764 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00010768 beqz v0, 0x10c38 | goto label_22;
| }
0x0001076c lw t9, -0x7b7c(gp) | t9 = sym.imp.g_free;
0x00010770 lw s4, -0x7fc4(gp) | s4 = *(gp);
0x00010774 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x00010778 jalr t9 | t9 ();
0x0001077c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010780 lw t9, -0x7d94(gp) | t9 = sym.imp.g_io_channel_unref;
0x00010784 move a0, s2 | a0 = s2;
0x00010788 jalr t9 | t9 ();
0x0001078c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010790 move a3, s0 | a3 = s0;
| /* esilref: 'info' */
0x00010794 addiu a1, s4, 0x7014 | a1 = s4 + 0x7014;
0x00010798 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0001079c lw t9, -0x7ca0(gp) | t9 = sym.imp.g_key_file_get_integer;
| /* str.angle_div */
0x000107a0 addiu a2, a2, 0x69e0 | a2 += 0x69e0;
0x000107a4 move a0, s3 | a0 = s3;
0x000107a8 jalr t9 | t9 ();
0x000107ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000107b0 move a3, s0 | a3 = s0;
| /* esilref: 'info' */
0x000107b4 addiu a1, s4, 0x7014 | a1 = s4 + 0x7014;
0x000107b8 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000107bc lw t9, -0x7ca0(gp) | t9 = sym.imp.g_key_file_get_integer;
| /* str.intensity_div */
0x000107c0 addiu a2, a2, 0x69ec | a2 += 0x69ec;
0x000107c4 move a0, s3 | a0 = s3;
0x000107c8 sw v0, 0x148(s1) | *((s1 + 82)) = v0;
0x000107cc jalr t9 | t9 ();
0x000107d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000107d4 addiu a1, sp, 0x54 | a1 = sp + 0x54;
0x000107d8 move a0, s3 | a0 = s3;
0x000107dc lw t9, -0x7d40(gp) | t9 = sym.imp.g_key_file_get_groups;
0x000107e0 sw v0, 0x14c(s1) | *((s1 + 83)) = v0;
0x000107e4 jalr t9 | t9 ();
0x000107e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000107ec sw v0, 0x3c(sp) | *(var_3ch_2) = v0;
0x000107f0 lw a1, 4(v0) | a1 = *((v0 + 1));
0x000107f4 lw v0, 0x54(sp) | v0 = *(var_54h);
0x000107f8 addiu a2, sp, 0x58 | a2 = sp + 0x58;
0x000107fc lw t9, -0x7ba0(gp) | t9 = sym.imp.g_key_file_get_keys;
0x00010800 addiu v0, v0, -1 | v0 += -1;
0x00010804 sw a2, 0x38(sp) | *(var_38h_2) = a2;
0x00010808 move a3, s0 | a3 = s0;
0x0001080c move a0, s3 | a0 = s3;
0x00010810 sw v0, 0x54(sp) | *(var_54h) = v0;
0x00010814 jalr t9 | t9 ();
0x00010818 lw v1, 0x48(sp) | v1 = *(var_48h);
0x0001081c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010820 move s2, v0 | s2 = v0;
| if (v1 == 0) {
0x00010824 beqz v1, 0x108e0 | goto label_23;
| }
0x00010828 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0001082c lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
0x00010830 lw a3, 8(v1) | a3 = *((v1 + 2));
| /* str.Error___s__parsing_key_file */
0x00010834 addiu a2, a2, 0x69fc | a2 += 0x69fc;
0x00010838 addiu a1, zero, 1 | a1 = 1;
0x0001083c addiu a0, zero, 3 | a0 = 3;
0x00010840 jalr t9 | t9 ();
0x00010844 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010848 lw a0, 0x48(sp) | a0 = *(var_48h);
0x0001084c lw t9, -0x7dbc(gp) | t9 = sym.imp.g_error_free;
0x00010850 sw zero, 0x20(sp) | *(var_20h) = 0;
0x00010854 jalr t9 | t9 ();
0x00010858 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001085c lw t9, -0x7dc4(gp) | t9 = sym.imp.g_strfreev;
0x00010860 move a0, s2 | a0 = s2;
0x00010864 jalr t9 | t9 ();
0x00010868 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001086c b 0x101f4 | goto label_2;
0x00010870 lw t9, -0x7c54(gp) | t9 = sym.imp.read;
0x00010874 addiu a2, zero, 1 | a2 = 1;
0x00010878 addiu a1, sp, 0x47 | a1 = sp + 0x47;
0x0001087c move a0, v0 | a0 = v0;
0x00010880 jalr t9 | t9 ();
0x00010884 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010888 move a0, s2 | a0 = s2;
0x0001088c lw t9, -0x7d38(gp) | t9 = sym.imp.close;
0x00010890 move s2, v0 | s2 = v0;
0x00010894 jalr t9 | t9 ();
0x00010898 lb v1, 0x47(sp) | v1 = *(var_47h);
0x0001089c addiu v0, zero, 0x31 | v0 = 0x31;
0x000108a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000108a4 bne v1, v0, 0x1060c |
| }
0x000108a8 lw v0, 0x174(s1) | v0 = *(s1);
0x000108ac addiu v0, zero, 0x33 | v0 = 0x33;
| if (v0 != 0) {
0x000108b0 bnez v0, 0x10ca0 | goto label_24;
| }
0x000108b4 sh v0, 0xf0(sp) | *(var_f0h) = v0;
0x000108b8 sw s2, 0x20(sp) | *(var_20h) = s2;
0x000108bc b 0x10484 | goto label_0;
| label_16:
0x000108c0 move a3, s0 | a3 = s0;
| /* str.poe_class_present */
0x000108c4 addiu a2, s2, 0x68c4 | a2 = s2 + 0x68c4;
| /* str.regulator */
0x000108c8 addiu a1, s7, 0x4de4 | a1 = s7 + 0x4de4;
0x000108cc move a0, s3 | a0 = s3;
0x000108d0 jalr t9 | t9 ();
0x000108d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000108d8 sw v0, 0x174(s1) | *(s1) = v0;
0x000108dc b 0x10424 | goto label_5;
| label_23:
0x000108e0 lw t9, -0x7dc4(gp) | t9 = sym.imp.g_strfreev;
0x000108e4 move a0, v0 | a0 = v0;
0x000108e8 jalr t9 | t9 ();
0x000108ec lw gp, 0x18(sp) | gp = *(var_18h);
0x000108f0 lw a0, 0x54(sp) | a0 = *(var_54h);
0x000108f4 lw t9, -0x7c38(gp) | t9 = sym.imp.g_malloc;
0x000108f8 sll a0, a0, 2 | a0 <<= 2;
0x000108fc jalr t9 | t9 ();
0x00010900 move s2, v0 | s2 = v0;
0x00010904 lw a0, 0x54(sp) | a0 = *(var_54h);
0x00010908 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001090c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010910 mul a0, a0, v0 | __asm ("mul a0, a0, v0");
0x00010914 sw s2, 0x144(s1) | *((s1 + 81)) = s2;
0x00010918 lw t9, -0x7c38(gp) | t9 = sym.imp.g_malloc;
0x0001091c sll a0, a0, 3 | a0 <<= 3;
0x00010920 jalr t9 | t9 ();
0x00010924 lw v1, 0x54(sp) | v1 = *(var_54h);
0x00010928 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001092c sw v0, (s2) | *(s2) = v0;
0x00010930 sltiu v0, v1, 2 | v0 = (v1 < 2) ? 1 : 0;
0x00010934 lw a2, 0x58(sp) | a2 = *(var_58h);
| if (v0 != 0) {
0x00010938 bnez v0, 0x10d78 | goto label_25;
| }
0x0001093c lw a3, 0x144(s1) | a3 = *((s1 + 81));
0x00010940 sll a2, a2, 3 | a2 <<= 3;
0x00010944 sll v1, v1, 2 | v1 <<= 2;
0x00010948 addiu v0, a3, 4 | v0 = a3 + 4;
0x0001094c addu a1, a3, v1 | a1 = a3 + v1;
0x00010950 move a0, a2 | a0 = a2;
| do {
0x00010954 lw v1, (a3) | v1 = *(a3);
0x00010958 addiu v0, v0, 4 | v0 += 4;
0x0001095c addu v1, v1, a0 | v1 += a0;
0x00010960 sw v1, -4(v0) | *((v0 - 1)) = v1;
0x00010964 addu a0, a0, a2 | a0 += a2;
0x00010968 bne a1, v0, 0x10954 |
| } while (a1 != v0);
0x0001096c lw v0, 0x3c(sp) | v0 = *(var_3ch_2);
| label_9:
0x00010970 sw zero, 0x30(sp) | *(var_30h_2) = 0;
0x00010974 addiu s5, v0, 4 | s5 = v0 + 4;
0x00010978 addiu fp, sp, 0x5c | fp = sp + 0x5c;
0x0001097c lw t9, -0x7ba0(gp) | t9 = sym.imp.g_key_file_get_keys;
| label_6:
0x00010980 lw a1, (s5) | a1 = *(s5);
0x00010984 lw a2, 0x38(sp) | a2 = *(var_38h_2);
0x00010988 move a3, s0 | a3 = s0;
0x0001098c move a0, s3 | a0 = s3;
0x00010990 jalr t9 | t9 ();
0x00010994 lw v1, 0x58(sp) | v1 = *(var_58h);
0x00010998 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001099c sw v0, 0x34(sp) | *(var_34h_2) = v0;
| if (v1 == 0) {
0x000109a0 beqz v1, 0x10a68 | goto label_26;
| }
0x000109a4 move s2, v0 | s2 = v0;
0x000109a8 move s4, zero | s4 = 0;
| do {
0x000109ac lw t9, -0x7c0c(gp) | t9 = sym.imp.g_key_file_get_integer_list;
0x000109b0 lw a2, (s2) | a2 = *(s2);
0x000109b4 lw a1, (s5) | a1 = *(s5);
0x000109b8 move a3, fp | a3 = fp;
0x000109bc move a0, s3 | a0 = s3;
0x000109c0 sw s0, 0x10(sp) | *(var_10h) = s0;
0x000109c4 jalr t9 | t9 ();
0x000109c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000109cc lw a0, (s5) | a0 = *(s5);
0x000109d0 addiu a2, zero, 0xa | a2 = 0xa;
0x000109d4 lw t9, -0x7c60(gp) | t9 = sym.imp.strtol;
0x000109d8 move a1, zero | a1 = 0;
0x000109dc move s7, v0 | s7 = v0;
0x000109e0 jalr t9 | t9 ();
0x000109e4 lw v1, 0x148(s1) | v1 = *((s1 + 82));
0x000109e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000109ec div zero, v0, v1 | __asm ("div zero, v0, v1");
0x000109f0 teq v1, zero, 7 | __asm ("teq v1, zero, 7");
0x000109f4 lw a0, (s2) | a0 = *(s2);
0x000109f8 lw t9, -0x7c60(gp) | t9 = sym.imp.strtol;
0x000109fc addiu a2, zero, 0xa | a2 = 0xa;
0x00010a00 move a1, zero | a1 = 0;
0x00010a04 addiu s4, s4, 1 | s4++;
0x00010a08 addiu s2, s2, 4 | s2 += 4;
0x00010a0c mflo s6 | __asm ("mflo s6");
0x00010a10 jalr t9 | t9 ();
0x00010a14 lw a1, 0x14c(s1) | a1 = *((s1 + 83));
0x00010a18 lw v1, 0x144(s1) | v1 = *((s1 + 81));
0x00010a1c div zero, v0, a1 | __asm ("div zero, v0, a1");
0x00010a20 teq a1, zero, 7 | __asm ("teq a1, zero, 7");
0x00010a24 sll a3, s6, 2 | a3 = s6 << 2;
0x00010a28 lw a2, (s7) | a2 = *(s7);
0x00010a2c lwx v1, a3(v1) | __asm ("lwx v1, a3(v1)");
0x00010a30 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010a34 move a0, s7 | a0 = s7;
0x00010a38 lw t9, -0x7b7c(gp) | t9 = sym.imp.g_free;
0x00010a3c mflo v0 | __asm ("mflo v0");
0x00010a40 sll v0, v0, 3 | v0 <<= 3;
0x00010a44 addu v0, v1, v0 | v0 = v1 + v0;
0x00010a48 sw a2, (v0) | *(v0) = a2;
0x00010a4c lw v1, 4(s7) | v1 = *((s7 + 1));
0x00010a50 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x00010a54 jalr t9 | t9 ();
0x00010a58 lw v0, 0x58(sp) | v0 = *(var_58h);
0x00010a5c sltu v0, s4, v0 | v0 = (s4 < v0) ? 1 : 0;
0x00010a60 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010a64 bnez v0, 0x109ac |
| } while (v0 != 0);
| label_26:
0x00010a68 lw t9, -0x7dc4(gp) | t9 = sym.imp.g_strfreev;
0x00010a6c lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x00010a70 addiu s5, s5, 4 | s5 += 4;
0x00010a74 jalr t9 | t9 ();
0x00010a78 lw v0, 0x30(sp) | v0 = *(var_30h_2);
0x00010a7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010a80 addiu v0, v0, 1 | v0++;
0x00010a84 move v1, v0 | v1 = v0;
0x00010a88 sw v0, 0x30(sp) | *(var_30h_2) = v0;
0x00010a8c lw v0, 0x54(sp) | v0 = *(var_54h);
0x00010a90 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x00010a94 lw t9, -0x7ba0(gp) | t9 = sym.imp.g_key_file_get_keys;
| if (v0 != 0) {
0x00010a98 bnez v0, 0x10980 | goto label_6;
| }
0x00010a9c lw t9, -0x7dc4(gp) | t9 = sym.imp.g_strfreev;
| label_8:
0x00010aa0 lw a0, 0x3c(sp) | a0 = *(var_3ch_2);
0x00010aa4 jalr t9 | t9 ();
0x00010aa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010aac lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00010ab0 lw t9, -0x7e00(gp) | t9 = sym.imp.getpwnam;
| /* str.light */
0x00010ab4 addiu a0, a0, 0x3eec | a0 += sym._init;
0x00010ab8 jalr t9 | t9 ();
0x00010abc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00010ac0 beqz v0, 0x10d54 | goto label_27;
| }
0x00010ac4 lw v1, 0x2c(sp) | v1 = *(var_2ch);
0x00010ac8 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00010acc lw t9, -0x7c08(gp) | t9 = sym.imp.g_strconcat;
0x00010ad0 lw a0, 0x98(v1) | a0 = *((v1 + 38));
0x00010ad4 move a2, zero | a2 = 0;
| /* str._led0 */
0x00010ad8 addiu a1, a1, 0x64b4 | a1 += 0x64b4;
0x00010adc lw s0, 0xc(v0) | s0 = *((v0 + 3));
0x00010ae0 jalr t9 | t9 ();
0x00010ae4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010ae8 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00010aec move a2, s0 | a2 = s0;
0x00010af0 lw t9, -0x7dfc(gp) | t9 = sym.imp.chown;
0x00010af4 addiu a1, zero, -1 | a1 = -1;
0x00010af8 move a0, v0 | a0 = v0;
0x00010afc jalr t9 | t9 ();
0x00010b00 addiu s2, zero, -1 | s2 = -1;
0x00010b04 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s2) {
0x00010b08 beq v0, s2, 0x10c74 | goto label_28;
| }
0x00010b0c lw t9, -0x7b7c(gp) | t9 = sym.imp.g_free;
0x00010b10 lw a0, 0x24(sp) | a0 = *(var_24h);
0x00010b14 jalr t9 | t9 ();
0x00010b18 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010b1c lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00010b20 move a2, zero | a2 = 0;
0x00010b24 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00010b28 lw t9, -0x7c08(gp) | t9 = sym.imp.g_strconcat;
0x00010b2c lw a0, 0x98(v0) | a0 = *((v0 + 38));
| /* str._led1 */
0x00010b30 addiu a1, a1, 0x6694 | a1 += 0x6694;
0x00010b34 jalr t9 | t9 ();
0x00010b38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010b3c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00010b40 move a2, s0 | a2 = s0;
0x00010b44 lw t9, -0x7dfc(gp) | t9 = sym.imp.chown;
0x00010b48 addiu a1, zero, -1 | a1 = -1;
0x00010b4c move a0, v0 | a0 = v0;
0x00010b50 jalr t9 | t9 ();
0x00010b54 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s2) {
0x00010b58 beq v0, s2, 0x10c74 | goto label_28;
| }
0x00010b5c lw t9, -0x7b7c(gp) | t9 = sym.imp.g_free;
0x00010b60 lw a0, 0x24(sp) | a0 = *(var_24h);
0x00010b64 jalr t9 | t9 ();
0x00010b68 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010b6c lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00010b70 move a2, zero | a2 = 0;
0x00010b74 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00010b78 lw t9, -0x7c08(gp) | t9 = sym.imp.g_strconcat;
0x00010b7c lw a0, 0x98(v0) | a0 = *((v0 + 38));
| /* str._led2 */
0x00010b80 addiu a1, a1, 0x6a18 | a1 += 0x6a18;
0x00010b84 jalr t9 | t9 ();
0x00010b88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010b8c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00010b90 move a2, s0 | a2 = s0;
0x00010b94 lw t9, -0x7dfc(gp) | t9 = sym.imp.chown;
0x00010b98 addiu a1, zero, -1 | a1 = -1;
0x00010b9c move a0, v0 | a0 = v0;
0x00010ba0 jalr t9 | t9 ();
0x00010ba4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != s2) {
0x00010ba8 bne v0, s2, 0x101f4 | goto label_2;
| }
0x00010bac lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010bb0 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
0x00010bb4 lw a3, 0x24(sp) | a3 = *(var_24h);
0x00010bb8 sw s0, 0x10(sp) | *(var_10h) = s0;
| /* str.Failed_to_chown__s_to_gid__d */
0x00010bbc addiu a2, a2, 0x64bc | a2 += 0x64bc;
0x00010bc0 addiu a1, zero, 1 | a1 = 1;
0x00010bc4 addiu a0, zero, 3 | a0 = 3;
0x00010bc8 sw zero, 0x20(sp) | *(var_20h) = 0;
0x00010bcc jalr t9 | t9 ();
0x00010bd0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010bd4 b 0x101f4 | goto label_2;
| label_19:
0x00010bd8 lw v0, 0x48(sp) | v0 = *(var_48h);
0x00010bdc lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010be0 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
0x00010be4 lw v0, 8(v0) | v0 = *((v0 + 2));
0x00010be8 move a3, s5 | a3 = s5;
| /* str.could_not_open__s:__s */
0x00010bec addiu a2, a2, 0x48cc | a2 += 0x48cc;
0x00010bf0 addiu a1, zero, 1 | a1 = 1;
0x00010bf4 addiu a0, zero, 3 | a0 = 3;
0x00010bf8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00010bfc jalr t9 | t9 ();
0x00010c00 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010c04 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00010c08 lw t9, -0x7dbc(gp) | t9 = sym.imp.g_error_free;
0x00010c0c sw zero, 0x20(sp) | *(var_20h) = 0;
0x00010c10 jalr t9 | t9 ();
0x00010c14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010c18 b 0x101f4 | goto label_2;
| label_21:
0x00010c1c lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010c20 addiu a1, zero, 1 | a1 = 1;
| /* str.No_optics_bootblock_parameter_found___using_default_config */
0x00010c24 addiu a2, a2, 0x6964 | a2 += 0x6964;
0x00010c28 addiu a0, zero, 6 | a0 = 6;
0x00010c2c jalr t9 | t9 ();
0x00010c30 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010c34 b 0x10524 | goto label_4;
| label_22:
0x00010c38 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010c3c lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Could_not_load_data_to_GKeyFile */
0x00010c40 addiu a2, a2, 0x48f8 | a2 += 0x48f8;
0x00010c44 addiu a1, zero, 1 | a1 = 1;
0x00010c48 addiu a0, zero, 3 | a0 = 3;
0x00010c4c jalr t9 | t9 ();
0x00010c50 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010c54 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00010c58 lw t9, -0x7dbc(gp) | t9 = sym.imp.g_error_free;
0x00010c5c sw zero, 0x20(sp) | *(var_20h) = 0;
0x00010c60 jalr t9 | t9 ();
0x00010c64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010c68 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x00010c6c lw t9, -0x7b7c(gp) | t9 = sym.imp.g_free;
0x00010c70 b 0x105d0 | goto label_7;
| label_28:
0x00010c74 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010c78 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
0x00010c7c lw a3, 0x24(sp) | a3 = *(var_24h);
0x00010c80 sw s0, 0x10(sp) | *(var_10h) = s0;
| /* str.Failed_to_chown__s_to_gid__d */
0x00010c84 addiu a2, a2, 0x64bc | a2 += 0x64bc;
0x00010c88 addiu a1, zero, 1 | a1 = 1;
0x00010c8c addiu a0, zero, 3 | a0 = 3;
0x00010c90 jalr t9 | t9 ();
0x00010c94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010c98 sw zero, 0x20(sp) | *(var_20h) = 0;
0x00010c9c b 0x101f4 | goto label_2;
| label_24:
0x00010ca0 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00010ca4 lw t9, -0x7b84(gp) | t9 = sym.imp.open;
0x00010ca8 move a1, zero | a1 = 0;
| /* str._var_run_poeclass */
0x00010cac addiu a0, a0, 0x68d8 | a0 += 0x68d8;
0x00010cb0 jalr t9 | t9 ();
0x00010cb4 move s3, v0 | s3 = v0;
0x00010cb8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00010cbc bltz v0, 0x10d88 | goto label_29;
| }
0x00010cc0 addiu v1, sp, 0xf0 | v1 = sp + 0xf0;
0x00010cc4 lw t9, -0x7c54(gp) | t9 = sym.imp.read;
0x00010cc8 move a1, v1 | a1 = v1;
0x00010ccc sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x00010cd0 addiu a2, zero, 1 | a2 = 1;
0x00010cd4 move a0, v0 | a0 = v0;
0x00010cd8 jalr t9 | t9 ();
0x00010cdc move s2, v0 | s2 = v0;
0x00010ce0 addiu v0, zero, 1 | v0 = 1;
0x00010ce4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010ce8 lw v1, 0x34(sp) | v1 = *(var_34h_2);
| if (s2 != v0) {
0x00010cec beq s2, v0, 0x10d14 |
0x00010cf0 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010cf4 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Could_not_read_poe_class_value */
0x00010cf8 addiu a2, a2, 0x6908 | a2 += 0x6908;
0x00010cfc addiu a1, zero, 1 | a1 = 1;
0x00010d00 addiu a0, zero, 3 | a0 = 3;
0x00010d04 jalr t9 | t9 ();
0x00010d08 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010d0c lw v1, 0x34(sp) | v1 = *(var_34h_2);
0x00010d10 move s2, zero | s2 = 0;
| }
0x00010d14 lw t9, -0x7d38(gp) | t9 = sym.imp.close;
0x00010d18 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x00010d1c move a0, s3 | a0 = s3;
0x00010d20 jalr t9 | t9 ();
0x00010d24 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010d28 lw v1, 0x34(sp) | v1 = *(var_34h_2);
0x00010d2c sb zero, 0xf1(sp) | *(var_f1h) = 0;
| label_10:
0x00010d30 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00010d34 lw t9, -0x7e04(gp) | t9 = sym.imp.strcmp;
0x00010d38 addiu a1, a1, 0x6928 | a1 += 0x6928;
0x00010d3c move a0, v1 | a0 = v1;
0x00010d40 jalr t9 | t9 ();
0x00010d44 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00010d48 bnez v0, 0x10dac | goto label_30;
| }
0x00010d4c sw s2, 0x20(sp) | *(var_20h) = s2;
0x00010d50 b 0x10484 | goto label_0;
| label_27:
0x00010d54 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010d58 lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Lightd_failed_getting_passwd_for_user_light */
0x00010d5c addiu a2, a2, 0x6488 | a2 += 0x6488;
0x00010d60 addiu a1, zero, 1 | a1 = 1;
0x00010d64 addiu a0, zero, 3 | a0 = 3;
0x00010d68 jalr t9 | t9 ();
0x00010d6c lw gp, 0x18(sp) | gp = *(var_18h);
0x00010d70 sw zero, 0x20(sp) | *(var_20h) = 0;
0x00010d74 b 0x101f4 | goto label_2;
| label_25:
0x00010d78 lw t9, -0x7dc4(gp) | t9 = sym.imp.g_strfreev;
| if (v1 == 0) {
0x00010d7c beqz v1, 0x10aa0 | goto label_8;
| }
0x00010d80 lw v0, 0x3c(sp) | v0 = *(var_3ch_2);
0x00010d84 b 0x10970 | goto label_9;
| label_29:
0x00010d88 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010d8c lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Could_not_read_poe_class */
0x00010d90 addiu a2, a2, 0x68ec | a2 += 0x68ec;
0x00010d94 addiu a1, zero, 1 | a1 = 1;
0x00010d98 addiu a0, zero, 3 | a0 = 3;
0x00010d9c jalr t9 | t9 ();
0x00010da0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010da4 addiu v1, sp, 0xf0 | v1 = sp + 0xf0;
0x00010da8 b 0x10d30 | goto label_10;
| label_30:
0x00010dac lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00010db0 lw t9, -0x7d1c(gp) | t9 = sym.imp.g_quark_from_static_string;
| /* str.light_control_error_quark */
0x00010db4 addiu a0, a0, 0x414c | a0 += 0x414c;
0x00010db8 jalr t9 | t9 ();
0x00010dbc lw gp, 0x18(sp) | gp = *(var_18h);
0x00010dc0 move a1, v0 | a1 = v0;
0x00010dc4 addiu a2, zero, 7 | a2 = 7;
0x00010dc8 lw a3, -0x7fc4(gp) | a3 = *(gp);
0x00010dcc lw t9, -0x7d04(gp) | t9 = sym.imp.g_set_error;
| /* str.Must_run_on_poe_class_3 */
0x00010dd0 addiu a3, a3, 0x692c | a3 += 0x692c;
0x00010dd4 move a0, s5 | a0 = s5;
0x00010dd8 jalr t9 | t9 ();
0x00010ddc lw gp, 0x18(sp) | gp = *(var_18h);
0x00010de0 addiu a1, zero, 1 | a1 = 1;
0x00010de4 addiu a0, zero, 6 | a0 = 6;
0x00010de8 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00010dec lw t9, -0x7d30(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Wrong_poe_for_IR_light */
0x00010df0 addiu a2, a2, 0x6944 | a2 += 0x6944;
0x00010df4 jalr t9 | t9 ();
0x00010df8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00010dfc b 0x10484 | goto label_0;
| label_13:
0x00010e00 lw t9, -0x7d5c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00010e04 jalr t9 | t9 ();
0x00010e08 nop |
| }
[*] Function strcpy used 2 times lightd