[*] Binary protection state of temperature_ctrld
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of temperature_ctrld
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/temperature_ctrld @ 0xa0e4 */
| #include <stdint.h>
|
; (fcn) sym.humidity_base_update_safety_state () | void humidity_base_update_safety_state () {
0x0000a0e4 lui gp, 4 |
0x0000a0e8 addiu gp, gp, 0x7f2c |
0x0000a0ec addu gp, gp, t9 | gp += t9;
0x0000a0f0 addiu sp, sp, -0x30 |
0x0000a0f4 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0000a0f8 lw s0, 0x20(a0) | s0 = *((a0 + 8));
0x0000a0fc sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000a100 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0000a104 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0000a108 move s1, a0 | s1 = a0;
| if (s0 == 0) {
0x0000a10c beqz s0, 0xa160 | goto label_0;
| }
0x0000a110 addiu v0, zero, 4 | v0 = 4;
0x0000a114 lw t9, -0x7f44(gp) | t9 = *(gp);
| if (s0 != v0) {
0x0000a118 bne s0, v0, 0xa1ac | goto label_1;
| }
0x0000a11c lw a0, 0x1c(a0) | a0 = *((a0 + 7));
0x0000a120 jalr t9 | t9 ();
0x0000a124 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000a128 lw a0, 0x10(s1) | a0 = *((s1 + 4));
0x0000a12c lw t9, -0x7f84(gp) | t9 = *(gp);
0x0000a130 move a1, v0 | a1 = v0;
0x0000a134 jalr t9 | t9 ();
0x0000a138 lw ra, 0x2c(sp) | ra = *(var_2ch);
| if (v0 >= 0) {
0x0000a13c bgez v0, 0xa14c | goto label_2;
| }
0x0000a140 sw zero, 0x20(s1) | *((s1 + 8)) = 0;
0x0000a144 move s0, zero | s0 = 0;
0x0000a148 lw ra, 0x2c(sp) | ra = *(var_2ch);
| do {
| label_2:
0x0000a14c move v0, s0 | v0 = s0;
0x0000a150 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0000a154 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0000a158 addiu sp, sp, 0x30 |
0x0000a15c jr ra | return v0;
| label_0:
0x0000a160 lw t9, -0x7f70(gp) | t9 = *(gp);
0x0000a164 move a0, a1 | a0 = a1;
0x0000a168 lw a1, 0x1c(s1) | a1 = *((s1 + 7));
0x0000a16c jalr t9 | t9 ();
0x0000a170 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000a174 lw a0, 0x10(s1) | a0 = *((s1 + 4));
0x0000a178 lw t9, -0x7f80(gp) | t9 = *(gp);
0x0000a17c move a1, v0 | a1 = v0;
0x0000a180 jalr t9 | t9 ();
0x0000a184 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0000a188 blez v0, 0xa14c |
| } while (v0 <= 0);
0x0000a18c addiu v0, zero, 4 | v0 = 4;
0x0000a190 addiu s0, zero, 4 | s0 = 4;
0x0000a194 sw v0, 0x20(s1) | *((s1 + 8)) = v0;
0x0000a198 move v0, s0 | v0 = s0;
0x0000a19c lw s1, 0x28(sp) | s1 = *(var_28h);
0x0000a1a0 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0000a1a4 addiu sp, sp, 0x30 |
0x0000a1a8 jr ra | return v0;
| label_1:
0x0000a1ac lw a2, -0x7fc8(gp) | a2 = *(gp);
0x0000a1b0 lw t9, -0x7b74(gp) | t9 = sym.imp.__syslog_chk;
0x0000a1b4 move a3, s0 | a3 = s0;
| /* str.Unknown_safety_state__d */
0x0000a1b8 addiu a2, a2, 0x2fb0 | a2 += 0x2fb0;
0x0000a1bc addiu a1, zero, 1 | a1 = 1;
0x0000a1c0 addiu a0, zero, 4 | a0 = 4;
0x0000a1c4 jalr t9 | t9 ();
0x0000a1c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000a1cc sw zero, 0x10(sp) | *(var_10h) = 0;
0x0000a1d0 addiu a2, zero, 0x73 | a2 = 0x73;
0x0000a1d4 lw a3, -0x7fc8(gp) | a3 = *(gp);
0x0000a1d8 lw a1, -0x7fc8(gp) | a1 = *(gp);
0x0000a1dc lw t9, -0x7a70(gp) | t9 = sym.imp.g_assertion_message_expr;
| /* str.humidity_base_update_safety_state */
0x0000a1e0 addiu a3, a3, 0x372c | a3 += 0x372c;
| /* str.humidity_base.c */
0x0000a1e4 addiu a1, a1, 0x3680 | a1 += 0x3680;
0x0000a1e8 move a0, zero | a0 = 0;
0x0000a1ec jalr t9 | t9 ();
0x0000a1f0 lui gp, 4 |
0x0000a1f4 addiu gp, gp, 0x7e20 |
0x0000a1f8 addu gp, gp, t9 | gp += t9;
0x0000a1fc addiu sp, sp, -0x28 |
0x0000a200 lw t9, -0x7f1c(gp) | t9 = sym.humidity_base_get_type;
0x0000a204 sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x0000a208 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0000a20c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0000a210 sw ra, 0x24(sp) | *(var_24h_2) = ra;
0x0000a214 move s0, a0 | s0 = a0;
0x0000a218 move s1, a1 | s1 = a1;
0x0000a21c bal 0x9ee0 | sym_humidity_base_get_type ();
0x0000a220 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (s0 != 0) {
0x0000a224 beqz s0, 0xa26c |
0x0000a228 lw v1, (s0) | v1 = *(s0);
0x0000a22c lw t9, -0x7b70(gp) | t9 = sym.imp.g_type_check_instance_is_a;
| if (v1 != 0) {
0x0000a230 beqz v1, 0xa240 |
0x0000a234 lw v1, (v1) | v1 = *(v1);
0x0000a238 lw ra, 0x24(sp) | ra = *(var_24h_2);
| if (v1 == v0) {
0x0000a23c beq v1, v0, 0xa258 | goto label_3;
| }
| }
0x0000a240 move a1, v0 | a1 = v0;
0x0000a244 move a0, s0 | a0 = s0;
0x0000a248 jalr t9 | t9 ();
0x0000a24c lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0000a250 beqz v0, 0xa26c | goto label_4;
| }
0x0000a254 lw ra, 0x24(sp) | ra = *(var_24h_2);
| label_3:
0x0000a258 sw s1, 0xc(s0) | *((s0 + 3)) = s1;
0x0000a25c lw s1, 0x20(sp) | s1 = *(var_20h);
0x0000a260 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0000a264 addiu sp, sp, 0x28 |
0x0000a268 jr ra | return v0;
| }
| label_4:
0x0000a26c lw a2, -0x7fc8(gp) | a2 = *(gp);
0x0000a270 lw a1, -0x7fc8(gp) | a1 = *(gp);
0x0000a274 lw ra, 0x24(sp) | ra = *(var_24h_2);
0x0000a278 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0000a27c lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0000a280 lw t9, -0x7b30(gp) | t9 = sym.imp.g_return_if_fail_warning;
| /* str.IS_HUMIDITY_BASE_self_ */
0x0000a284 addiu a2, a2, 0x3668 | a2 += 0x3668;
| /* str.humidity_base_set_sensor_id */
0x0000a288 addiu a1, a1, 0x3710 | a1 += 0x3710;
0x0000a28c move a0, zero | a0 = 0;
0x0000a290 addiu sp, sp, 0x28 |
0x0000a294 jr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/temperature_ctrld @ 0x18348 */
| #include <stdint.h>
|
; (fcn) sym.temperature_controller_setup_params () | void temperature_controller_setup_params () {
0x00018348 lui gp, 4 |
0x0001834c addiu gp, gp, -0x6338 |
0x00018350 addu gp, gp, t9 | gp += t9;
0x00018354 addiu sp, sp, -0x40 |
0x00018358 lw v0, 0x1c(a0) | v0 = *((a0 + 7));
0x0001835c sw gp, 0x10(sp) | *(var_10h) = gp;
0x00018360 sw s3, 0x28(sp) | *(var_28h) = s3;
0x00018364 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00018368 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0001836c sw s7, 0x38(sp) | *(var_38h) = s7;
0x00018370 sw s6, 0x34(sp) | *(var_34h) = s6;
0x00018374 sw s5, 0x30(sp) | *(var_30h) = s5;
0x00018378 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0001837c sw s1, 0x20(sp) | *(var_20h) = s1;
0x00018380 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00018384 move s2, a0 | s2 = a0;
0x00018388 move s3, a3 | s3 = a3;
| if (v0 <= 0) {
0x0001838c blez v0, 0x18428 | goto label_2;
| }
0x00018390 move s4, a2 | s4 = a2;
0x00018394 addiu s0, a0, 0x24 | s0 = a0 + 0x24;
0x00018398 move s1, zero | s1 = 0;
0x0001839c b 0x183c0 |
| while (v0 == 0) {
0x000183a0 lw a0, (s0) | a0 = *(s0);
0x000183a4 addiu s1, s1, 1 | s1++;
0x000183a8 bal 0x71c4 | sym_temperature_base_setup_events ();
0x000183ac lw v0, 0x1c(s2) | v0 = *((s2 + 7));
0x000183b0 lw gp, 0x10(sp) | gp = *(var_10h);
0x000183b4 slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x000183b8 addiu s0, s0, 4 | s0 += 4;
| if (v0 == 0) {
0x000183bc beqz v0, 0x18428 | goto label_2;
| }
0x000183c0 lw t9, -0x7df8(gp) | t9 = sym.temperature_base_read_params;
0x000183c4 lw a0, (s0) | a0 = *(s0);
0x000183c8 move a1, s4 | a1 = s4;
0x000183cc bal 0x7d58 | sym_temperature_base_read_params ();
0x000183d0 lw gp, 0x10(sp) | gp = *(var_10h);
0x000183d4 addiu a1, zero, 1 | a1 = 1;
0x000183d8 lw t9, -0x7df4(gp) | t9 = sym.temperature_base_setup_events;
0x000183dc beqz v0, 0x183a0 |
| }
0x000183e0 lw a2, -0x7fc8(gp) | a2 = *(gp);
0x000183e4 lw t9, -0x7b74(gp) | t9 = sym.imp.__syslog_chk;
0x000183e8 move a3, s1 | a3 = s1;
| /* str.Failure_reported_when_reading_parameter_file_for_temperature_sensor_number__d__n */
0x000183ec addiu a2, a2, 0x5820 | a2 += 0x5820;
0x000183f0 addiu a0, zero, 3 | a0 = 3;
0x000183f4 jalr t9 | t9 ();
0x000183f8 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x000183fc lw s7, 0x38(sp) | s7 = *(var_38h);
0x00018400 lw s6, 0x34(sp) | s6 = *(var_34h);
0x00018404 lw s5, 0x30(sp) | s5 = *(var_30h);
0x00018408 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0001840c lw s3, 0x28(sp) | s3 = *(var_28h);
0x00018410 lw s2, 0x24(sp) | s2 = *(var_24h);
0x00018414 lw s1, 0x20(sp) | s1 = *(var_20h);
0x00018418 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0001841c addiu v0, zero, -1 | v0 = -1;
0x00018420 addiu sp, sp, 0x40 |
0x00018424 jr ra | return v0;
| label_2:
0x00018428 lw v0, 0x20(s2) | v0 = *((s2 + 8));
0x0001842c lw t9, -0x7df0(gp) | t9 = sym.temperature_status_get_type;
| if (v0 > 0) {
0x00018430 bgtz v0, 0x18558 | goto label_3;
| }
0x00018434 lw v0, 0xa8(s2) | v0 = *((s2 + 42));
| if (v0 <= 0) {
0x00018438 blezl v0, 0x185c0 | goto label_4;
| }
0x0001843c lw v0, 0xcc(s2) | v0 = *((s2 + 51));
| label_1:
0x00018440 lw s4, -0x7fc8(gp) | s4 = *(gp);
0x00018444 lw s5, -0x7fc8(gp) | s5 = *(gp);
0x00018448 addiu s0, s2, 0xac | s0 = s2 + 0xac;
0x0001844c move s1, zero | s1 = 0;
| /* esilref: 'Fan' */
0x00018450 addiu s4, s4, 0x5f68 | s4 += 0x5f68;
| /* esilref: 'fan' */
0x00018454 addiu s5, s5, 0x4980 | s5 += 0x4980;
0x00018458 b 0x184d0 |
| while (v0 == 0) {
| label_0:
0x0001845c lw t9, -0x7f00(gp) | t9 = sym.base_device_get_type;
0x00018460 lw s6, (s0) | s6 = *(s0);
0x00018464 bal 0xcbe8 | sym_base_device_get_type ();
0x00018468 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001846c move a0, s6 | a0 = s6;
0x00018470 move a1, v0 | a1 = v0;
0x00018474 lw t9, -0x7bb0(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x00018478 addiu s0, s0, 4 | s0 += 4;
0x0001847c jalr t9 | t9 ();
0x00018480 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018484 lw v0, (v0) | v0 = *(v0);
0x00018488 lw s7, -4(s0) | s7 = *((s0 - 1));
0x0001848c lw t9, -0x7f00(gp) | t9 = sym.base_device_get_type;
0x00018490 lw s6, 0x64(v0) | s6 = *((v0 + 25));
0x00018494 bal 0xcbe8 | sym_base_device_get_type ();
0x00018498 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001849c move a1, v0 | a1 = v0;
0x000184a0 lw t9, -0x7bb0(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x000184a4 move a0, s7 | a0 = s7;
0x000184a8 jalr t9 | t9 ();
0x000184ac move a0, v0 | a0 = v0;
0x000184b0 move a2, s4 | a2 = s4;
0x000184b4 move t9, s6 | t9 = s6;
0x000184b8 move a1, s5 | a1 = s5;
0x000184bc jalr t9 | t9 ();
0x000184c0 lw v0, 0xa8(s2) | v0 = *((s2 + 42));
0x000184c4 slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x000184c8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000184cc beqz v0, 0x185bc | goto label_5;
| }
0x000184d0 lw t9, -0x7f00(gp) | t9 = sym.base_device_get_type;
0x000184d4 lw s6, (s0) | s6 = *(s0);
0x000184d8 bal 0xcbe8 | sym_base_device_get_type ();
0x000184dc lw gp, 0x10(sp) | gp = *(var_10h);
0x000184e0 move a1, v0 | a1 = v0;
0x000184e4 lw t9, -0x7bb0(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x000184e8 move a0, s6 | a0 = s6;
0x000184ec jalr t9 | t9 ();
0x000184f0 lw gp, 0x10(sp) | gp = *(var_10h);
0x000184f4 addiu a3, zero, 1 | a3 = 1;
0x000184f8 move a2, s4 | a2 = s4;
0x000184fc lw t9, -0x7e30(gp) | t9 = sym.base_device_read_params;
0x00018500 move a1, s3 | a1 = s3;
0x00018504 move a0, v0 | a0 = v0;
0x00018508 bal 0xdd04 | sym_base_device_read_params ();
0x0001850c lw gp, 0x10(sp) | gp = *(var_10h);
0x00018510 lw t9, -0x7f00(gp) | t9 = sym.base_device_get_type;
| if (v0 != 0) {
0x00018514 bnez v0, 0x186b0 | goto label_6;
| }
0x00018518 lw s6, (s0) | s6 = *(s0);
0x0001851c bal 0xcbe8 | sym_base_device_get_type ();
0x00018520 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018524 move a1, v0 | a1 = v0;
0x00018528 move a0, s6 | a0 = s6;
0x0001852c lw t9, -0x7bb0(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x00018530 addiu s1, s1, 1 | s1++;
0x00018534 jalr t9 | t9 ();
0x00018538 lw v0, 0x194(v0) | v0 = *(v0);
0x0001853c lw gp, 0x10(sp) | gp = *(var_10h);
0x00018540 beqz v0, 0x1845c |
| }
0x00018544 lw t9, -0x7dec(gp) | t9 = sym.fan_base_setup_events;
0x00018548 lw a0, (s0) | a0 = *(s0);
0x0001854c bal 0x10b20 | sym_fan_base_setup_events ();
0x00018550 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018554 b 0x1845c | goto label_0;
| label_3:
0x00018558 bal 0x64e4 | sym_temperature_status_get_type ();
0x0001855c nop |
0x00018560 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018564 move a1, zero | a1 = 0;
0x00018568 lw t9, -0x7a78(gp) | t9 = sym.imp.g_object_new;
0x0001856c move a0, v0 | a0 = v0;
0x00018570 jalr t9 | t9 ();
0x00018574 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018578 sw v0, 0x10c(s2) | *(s2) = v0;
0x0001857c lw t9, -0x7f94(gp) | t9 = sym.temperature_base_get_type;
0x00018580 move s0, v0 | s0 = v0;
0x00018584 bal 0x6d50 | sym_temperature_base_get_type ();
0x00018588 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001858c move a1, v0 | a1 = v0;
0x00018590 lw t9, -0x7bb0(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x00018594 move a0, s0 | a0 = s0;
0x00018598 jalr t9 | t9 ();
0x0001859c lw gp, 0x10(sp) | gp = *(var_10h);
0x000185a0 move a0, v0 | a0 = v0;
0x000185a4 lw t9, -0x7df4(gp) | t9 = sym.temperature_base_setup_events;
0x000185a8 move a1, zero | a1 = 0;
0x000185ac bal 0x71c4 | sym_temperature_base_setup_events ();
0x000185b0 lw v0, 0xa8(s2) | v0 = *((s2 + 42));
0x000185b4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 > 0) {
0x000185b8 bgtz v0, 0x18440 | goto label_1;
| }
| label_5:
0x000185bc lw v0, 0xcc(s2) | v0 = *((s2 + 51));
| label_4:
0x000185c0 lw s3, -0x7fc8(gp) | s3 = *(gp);
| if (v0 <= 0) {
0x000185c4 blez v0, 0x186fc | goto label_7;
| }
0x000185c8 lw s4, -0x7fc8(gp) | s4 = *(gp);
0x000185cc addiu s0, s2, 0xd0 | s0 = s2 + 0xd0;
0x000185d0 move s1, zero | s1 = 0;
| /* esilref: 'Heater' */
0x000185d4 addiu s3, s3, 0x5f7c | s3 += 0x5f7c;
| /* str.heater */
0x000185d8 addiu s4, s4, 0x4b20 | s4 += 0x4b20;
0x000185dc b 0x18654 |
| while (v0 == 0) {
0x000185e0 lw s5, (s0) | s5 = *(s0);
0x000185e4 bal 0xcbe8 | sym_base_device_get_type ();
0x000185e8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000185ec move a0, s5 | a0 = s5;
0x000185f0 move a1, v0 | a1 = v0;
0x000185f4 lw t9, -0x7bb0(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x000185f8 addiu s1, s1, 1 | s1++;
0x000185fc jalr t9 | t9 ();
0x00018600 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018604 lw v0, (v0) | v0 = *(v0);
0x00018608 lw s6, (s0) | s6 = *(s0);
0x0001860c lw t9, -0x7f00(gp) | t9 = sym.base_device_get_type;
0x00018610 lw s5, 0x64(v0) | s5 = *((v0 + 25));
0x00018614 bal 0xcbe8 | sym_base_device_get_type ();
0x00018618 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001861c move a1, v0 | a1 = v0;
0x00018620 move a0, s6 | a0 = s6;
0x00018624 lw t9, -0x7bb0(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x00018628 addiu s0, s0, 4 | s0 += 4;
0x0001862c jalr t9 | t9 ();
0x00018630 move a0, v0 | a0 = v0;
0x00018634 move a2, s3 | a2 = s3;
0x00018638 move t9, s5 | t9 = s5;
0x0001863c move a1, s4 | a1 = s4;
0x00018640 jalr t9 | t9 ();
0x00018644 lw v0, 0xcc(s2) | v0 = *((s2 + 51));
0x00018648 slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x0001864c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00018650 beqz v0, 0x186fc | goto label_7;
| }
0x00018654 lw t9, -0x7f00(gp) | t9 = sym.base_device_get_type;
0x00018658 lw s5, (s0) | s5 = *(s0);
0x0001865c bal 0xcbe8 | sym_base_device_get_type ();
0x00018660 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018664 move a1, v0 | a1 = v0;
0x00018668 lw t9, -0x7bb0(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x0001866c move a0, s5 | a0 = s5;
0x00018670 jalr t9 | t9 ();
0x00018674 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018678 lw a1, 0x50(sp) | a1 = *(arg_50h);
0x0001867c addiu a3, zero, 1 | a3 = 1;
0x00018680 lw t9, -0x7e30(gp) | t9 = sym.base_device_read_params;
0x00018684 move a2, s3 | a2 = s3;
0x00018688 move a0, v0 | a0 = v0;
0x0001868c bal 0xdd04 | sym_base_device_read_params ();
0x00018690 lw gp, 0x10(sp) | gp = *(var_10h);
0x00018694 lw t9, -0x7f00(gp) | t9 = sym.base_device_get_type;
0x00018698 beqz v0, 0x185e0 |
| }
0x0001869c lw a2, -0x7fc8(gp) | a2 = *(gp);
0x000186a0 lw t9, -0x7b74(gp) | t9 = sym.imp.__syslog_chk;
0x000186a4 move a3, s1 | a3 = s1;
| /* str.Failure_reported_when_reading_parameter_file_for_heater_number__d__n */
0x000186a8 addiu a2, a2, 0x5798 | a2 += 0x5798;
0x000186ac b 0x186c0 | goto label_8;
| label_6:
0x000186b0 lw a2, -0x7fc8(gp) | a2 = *(gp);
0x000186b4 lw t9, -0x7b74(gp) | t9 = sym.imp.__syslog_chk;
0x000186b8 move a3, s1 | a3 = s1;
| /* str.Failure_reported_when_reading_parameter_file_for_fan_number__d__n */
0x000186bc addiu a2, a2, 0x5714 | a2 += 0x5714;
| label_8:
0x000186c0 addiu a1, zero, 1 | a1 = 1;
0x000186c4 addiu a0, zero, 3 | a0 = 3;
0x000186c8 jalr t9 | t9 ();
0x000186cc lw ra, 0x3c(sp) | ra = *(var_3ch);
0x000186d0 lw s7, 0x38(sp) | s7 = *(var_38h);
0x000186d4 lw s6, 0x34(sp) | s6 = *(var_34h);
0x000186d8 lw s5, 0x30(sp) | s5 = *(var_30h);
0x000186dc lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x000186e0 lw s3, 0x28(sp) | s3 = *(var_28h);
0x000186e4 lw s2, 0x24(sp) | s2 = *(var_24h);
0x000186e8 lw s1, 0x20(sp) | s1 = *(var_20h);
0x000186ec lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x000186f0 addiu v0, zero, -1 | v0 = -1;
0x000186f4 addiu sp, sp, 0x40 |
0x000186f8 jr ra | return v0;
| label_7:
0x000186fc lw t9, -0x7de8(gp) | t9 = sym.temperature_logger_start_log;
0x00018700 move a0, s2 | a0 = s2;
0x00018704 bal 0x2088c | sym_temperature_logger_start_log ();
0x00018708 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0001870c lw s7, 0x38(sp) | s7 = *(var_38h);
0x00018710 lw s6, 0x34(sp) | s6 = *(var_34h);
0x00018714 lw s5, 0x30(sp) | s5 = *(var_30h);
0x00018718 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0001871c lw s3, 0x28(sp) | s3 = *(var_28h);
0x00018720 lw s2, 0x24(sp) | s2 = *(var_24h);
0x00018724 lw s1, 0x20(sp) | s1 = *(var_20h);
0x00018728 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0001872c move v0, zero | v0 = 0;
0x00018730 addiu sp, sp, 0x40 |
0x00018734 jr ra | return v0;
| }
[*] Function strcpy used 1 times temperature_ctrld