[*] Binary protection state of triggerd
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of triggerd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/triggerd @ 0x8138 */
| #include <stdint.h>
|
; (fcn) fcn.00008138 () | void fcn_00008138 () {
0x00008138 lui gp, 2 |
0x0000813c addiu gp, gp, -0x3128 |
0x00008140 addu gp, gp, t9 | gp += t9;
0x00008144 lw v0, -0x7e50(gp) | v0 = *((gp - 8084));
0x00008148 addiu sp, sp, -0xc0 |
0x0000814c lw t9, -0x7f84(gp) | t9 = sym.motion_detection_trigger_get_type;
0x00008150 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00008154 lw v0, (v0) | v0 = *(v0);
0x00008158 sw ra, 0xbc(sp) | *(var_bch) = ra;
0x0000815c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00008160 sw s5, 0xac(sp) | *(var_ach) = s5;
0x00008164 sw a0, 0x2c(sp) | *(var_2ch) = a0;
0x00008168 sw fp, 0xb8(sp) | *(var_b8h) = fp;
0x0000816c sw s7, 0xb4(sp) | *(var_b4h) = s7;
0x00008170 sw s6, 0xb0(sp) | *(var_b0h) = s6;
0x00008174 sw s4, 0xa8(sp) | *(var_a8h) = s4;
0x00008178 sw s3, 0xa4(sp) | *(var_a4h) = s3;
0x0000817c sw s2, 0xa0(sp) | *(var_a0h) = s2;
0x00008180 sw s1, 0x9c(sp) | *(var_9ch) = s1;
0x00008184 sw s0, 0x98(sp) | *(var_98h) = s0;
0x00008188 sw v0, 0x94(sp) | *(var_94h) = v0;
0x0000818c bal 0x80a8 | sym_motion_detection_trigger_get_type ();
0x00008190 nop |
0x00008194 lw gp, 0x20(sp) | gp = *(var_20h);
0x00008198 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0000819c lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x000081a0 move a1, v0 | a1 = v0;
0x000081a4 jalr t9 | t9 ();
0x000081a8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000081ac lw a0, 0x1c(v0) | a0 = *((v0 + 7));
0x000081b0 addiu v1, sp, 0x50 | v1 = sp + 0x50;
0x000081b4 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000081b8 lw t9, -0x7d84(gp) | t9 = sym.imp.g_dbus_proxy_call_sync;
0x000081bc move s5, v0 | s5 = v0;
0x000081c0 addiu v0, zero, -1 | v0 = -1;
0x000081c4 sw v1, 0x18(sp) | *(var_18h) = v1;
0x000081c8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x000081cc sw v0, 0x10(sp) | *(var_10h) = v0;
0x000081d0 move a3, zero | a3 = 0;
0x000081d4 move a2, zero | a2 = 0;
0x000081d8 addiu a1, a1, -0x3914 | a1 += -0x3914;
0x000081dc sw zero, 0x44(sp) | *(var_44h) = 0;
0x000081e0 sw v0, 0x48(sp) | *(var_48h) = v0;
0x000081e4 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x000081e8 sw zero, 0x50(sp) | *(var_50h) = 0;
0x000081ec jalr t9 | t9 ();
0x000081f0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000081f4 beqz v0, 0x844c | goto label_3;
| }
0x000081f8 lw a3, -0x7cfc(gp) | a3 = *((gp - 7999));
0x000081fc lw t9, -0x7e0c(gp) | t9 = sym.imp.g_hash_table_new_full;
0x00008200 lw a1, -0x7df4(gp) | a1 = *((gp - 8061));
0x00008204 lw a0, -0x7e64(gp) | a0 = *((gp - 8089));
0x00008208 move a2, a3 | a2 = a3;
0x0000820c move s3, v0 | s3 = v0;
0x00008210 jalr t9 | t9 ();
0x00008214 lw gp, 0x20(sp) | gp = *(var_20h);
0x00008218 addiu s0, sp, 0x54 | s0 = sp + 0x54;
0x0000821c addiu a2, sp, 0x44 | a2 = sp + 0x44;
0x00008220 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00008224 lw t9, -0x7e44(gp) | t9 = sym.imp.g_variant_get;
0x00008228 addiu a1, a1, -0x3900 | a1 += -0x3900;
0x0000822c move a0, s3 | a0 = s3;
0x00008230 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x00008234 move s6, v0 | s6 = v0;
0x00008238 jalr t9 | t9 ();
0x0000823c lw gp, 0x20(sp) | gp = *(var_20h);
0x00008240 lw a1, 0x44(sp) | a1 = *(var_44h);
0x00008244 move a0, s0 | a0 = s0;
0x00008248 lw t9, -0x7e54(gp) | t9 = sym.imp.g_variant_iter_init;
0x0000824c addiu s7, sp, 0x4c | s7 = sp + 0x4c;
0x00008250 jalr t9 | t9 ();
0x00008254 lw gp, 0x20(sp) | gp = *(var_20h);
0x00008258 addiu fp, sp, 0x48 | fp = sp + 0x48;
0x0000825c lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x00008260 lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x00008264 addiu v0, s2, -0x38bc | v0 = s2 + -0x38bc;
0x00008268 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0000826c addiu v0, s1, -0x38f0 | v0 = s1 + -0x38f0;
0x00008270 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00008274 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00008278 addiu v0, v0, -0x42ac | v0 += -0x42ac;
0x0000827c sw v0, 0x38(sp) | *(var_38h) = v0;
0x00008280 b 0x8340 |
| while (v0 != 0) {
0x00008284 lw t9, -0x7e68(gp) | t9 = sym.imp.g_variant_dict_new;
0x00008288 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000828c jalr t9 | t9 ();
0x00008290 lw gp, 0x20(sp) | gp = *(var_20h);
0x00008294 addiu a0, zero, 4 | a0 = 4;
0x00008298 lw t9, -0x7d8c(gp) | t9 = sym.imp.g_malloc;
0x0000829c move s4, v0 | s4 = v0;
0x000082a0 jalr t9 | t9 ();
0x000082a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000082a8 move s0, v0 | s0 = v0;
0x000082ac lw v0, 0x48(sp) | v0 = *(var_48h);
0x000082b0 lw t9, -0x7ec0(gp) | t9 = sym.imp.g_malloc0;
0x000082b4 addiu a0, zero, 0xc | a0 = 0xc;
0x000082b8 sw v0, (s0) | *(s0) = v0;
0x000082bc jalr t9 | t9 ();
0x000082c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000082c4 move s2, v0 | s2 = v0;
0x000082c8 lw a1, 0x34(sp) | a1 = *(var_34h);
0x000082cc lw t9, -0x7ea8(gp) | t9 = sym.imp.g_variant_dict_lookup_value;
0x000082d0 addiu v0, zero, 1 | v0 = 1;
0x000082d4 move a2, zero | a2 = 0;
0x000082d8 move a0, s4 | a0 = s4;
0x000082dc sw v0, 4(s2) | *((s2 + 1)) = v0;
0x000082e0 jalr t9 | t9 ();
0x000082e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000082e8 lw a1, 0x38(sp) | a1 = *(var_38h);
0x000082ec move a0, v0 | a0 = v0;
0x000082f0 lw t9, -0x7e44(gp) | t9 = sym.imp.g_variant_get;
0x000082f4 move a2, s2 | a2 = s2;
0x000082f8 move s1, v0 | s1 = v0;
0x000082fc jalr t9 | t9 ();
0x00008300 lw gp, 0x20(sp) | gp = *(var_20h);
0x00008304 move a2, s2 | a2 = s2;
0x00008308 move a1, s0 | a1 = s0;
0x0000830c lw t9, -0x7d6c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00008310 move a0, s6 | a0 = s6;
0x00008314 jalr t9 | t9 ();
0x00008318 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000831c beqz v0, 0x8428 | goto label_4;
| }
0x00008320 lw t9, -0x7e9c(gp) | t9 = sym.imp.g_variant_unref;
0x00008324 move a0, s1 | a0 = s1;
0x00008328 jalr t9 | t9 ();
0x0000832c lw gp, 0x20(sp) | gp = *(var_20h);
0x00008330 lw t9, -0x7d74(gp) | t9 = sym.imp.g_variant_dict_unref;
0x00008334 move a0, s4 | a0 = s4;
0x00008338 jalr t9 | t9 ();
0x0000833c lw gp, 0x20(sp) | gp = *(var_20h);
0x00008340 lw t9, -0x7e28(gp) | t9 = sym.imp.g_variant_iter_loop;
0x00008344 lw a1, 0x30(sp) | a1 = *(var_30h);
0x00008348 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0000834c move a3, s7 | a3 = s7;
0x00008350 move a2, fp | a2 = fp;
0x00008354 jalr t9 | t9 ();
0x00008358 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000835c bnez v0, 0x8284 |
| }
0x00008360 lw t9, -0x7e9c(gp) | t9 = sym.imp.g_variant_unref;
0x00008364 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00008368 jalr t9 | t9 ();
0x0000836c lw gp, 0x20(sp) | gp = *(var_20h);
0x00008370 lw t9, -0x7e9c(gp) | t9 = sym.imp.g_variant_unref;
0x00008374 move a0, s3 | a0 = s3;
0x00008378 jalr t9 | t9 ();
0x0000837c lw v0, 0x50(sp) | v0 = *(var_50h);
0x00008380 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00008384 beqz v0, 0x83c4 |
0x00008388 lw v0, 8(v0) | v0 = *((v0 + 2));
| label_0:
0x0000838c lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x00008390 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00008394 lw t9, -0x7f48(gp) | t9 = sym.imp.g_log;
0x00008398 addiu a3, a3, -0x45cc | a3 += -0x45cc;
0x0000839c addiu a2, a2, -0x38b0 | a2 += -0x38b0;
0x000083a0 addiu a1, zero, 0x40 | a1 = 0x40;
0x000083a4 move a0, zero | a0 = 0;
0x000083a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000083ac jalr t9 | t9 ();
0x000083b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000083b4 lw t9, -0x7ef0(gp) | t9 = sym.imp.g_error_free;
0x000083b8 lw a0, 0x50(sp) | a0 = *(var_50h);
0x000083bc jalr t9 | t9 ();
0x000083c0 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x000083c4 lw v0, 0x3c(sp) | v0 = *(var_3ch);
| if (s6 == 0) {
0x000083c8 beqz s6, 0x83ec | goto label_5;
| }
0x000083cc lw a0, 0x2c(s5) | a0 = *((s5 + 11));
0x000083d0 lw t9, -0x7ee8(gp) | t9 = sym.imp.g_hash_table_unref;
| if (a0 != 0) {
0x000083d4 beqz a0, 0x83e4 |
0x000083d8 jalr t9 | t9 ();
0x000083dc nop |
0x000083e0 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x000083e4 sw s6, 0x2c(s5) | *((s5 + 11)) = s6;
| do {
0x000083e8 lw v0, 0x3c(sp) | v0 = *(var_3ch);
| label_5:
0x000083ec lw v1, 0x94(sp) | v1 = *(var_94h);
0x000083f0 lw v0, (v0) | v0 = *(v0);
0x000083f4 lw ra, 0xbc(sp) | ra = *(var_bch);
| if (v1 != v0) {
0x000083f8 bne v1, v0, 0x8460 | goto label_6;
| }
0x000083fc lw fp, 0xb8(sp) | fp = *(var_b8h);
0x00008400 lw s7, 0xb4(sp) | s7 = *(var_b4h);
0x00008404 lw s6, 0xb0(sp) | s6 = *(var_b0h);
0x00008408 lw s5, 0xac(sp) | s5 = *(var_ach);
0x0000840c lw s4, 0xa8(sp) | s4 = *(var_a8h);
0x00008410 lw s3, 0xa4(sp) | s3 = *(var_a4h);
0x00008414 lw s2, 0xa0(sp) | s2 = *(var_a0h);
0x00008418 lw s1, 0x9c(sp) | s1 = *(var_9ch);
0x0000841c lw s0, 0x98(sp) | s0 = *(var_98h);
0x00008420 addiu sp, sp, 0xc0 |
0x00008424 jr ra | return v0;
| label_4:
0x00008428 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x0000842c lw a3, (s0) | a3 = *(s0);
0x00008430 lw t9, -0x7f48(gp) | t9 = sym.imp.g_log;
0x00008434 addiu a2, a2, -0x38e4 | a2 += -0x38e4;
0x00008438 addiu a1, zero, 4 | a1 = 4;
0x0000843c move a0, zero | a0 = 0;
0x00008440 jalr t9 | t9 ();
0x00008444 b 0x8444 |
0x00008448 nop |
| label_3:
0x0000844c lw v0, 0x50(sp) | v0 = *(var_50h);
0x00008450 move s6, zero | s6 = 0;
0x00008454 beqz v0, 0x83e8 |
| } while (v0 == 0);
0x00008458 lw v0, 8(v0) | v0 = *((v0 + 2));
0x0000845c b 0x838c | goto label_0;
| label_6:
0x00008460 lw t9, -0x7e98(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008464 jalr t9 | t9 ();
0x00008468 nop |
0x0000846c lui gp, 2 |
0x00008470 addiu gp, gp, -0x345c |
0x00008474 addu gp, gp, t9 | gp += t9;
0x00008478 addiu sp, sp, -0x70 |
0x0000847c lw t9, -0x7f84(gp) | t9 = sym.motion_detection_trigger_get_type;
0x00008480 sw s5, 0x60(sp) | *(var_60h) = s5;
0x00008484 lw s5, -0x7e50(gp) | s5 = *((gp - 8084));
0x00008488 sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x0000848c sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x00008490 lw v0, (s5) | v0 = *(s5);
0x00008494 sw s3, 0x58(sp) | *(var_58h) = s3;
0x00008498 sw s2, 0x54(sp) | *(var_54h) = s2;
0x0000849c sw s0, 0x4c(sp) | *(var_4ch_2) = s0;
0x000084a0 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x000084a4 sw s7, 0x68(sp) | *(var_68h) = s7;
0x000084a8 sw s6, 0x64(sp) | *(var_64h) = s6;
0x000084ac sw s4, 0x5c(sp) | *(var_5ch) = s4;
0x000084b0 sw s1, 0x50(sp) | *(var_50h_2) = s1;
0x000084b4 sw v0, 0x44(sp) | *(var_44h_2) = v0;
0x000084b8 move s2, a1 | s2 = a1;
0x000084bc bal 0x80a8 | sym_motion_detection_trigger_get_type ();
0x000084c0 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000084c4 lw a0, 0x1c(sp) | a0 = *(var_1ch);
0x000084c8 lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x000084cc move a1, v0 | a1 = v0;
0x000084d0 jalr t9 | t9 ();
0x000084d4 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000084d8 move s0, v0 | s0 = v0;
0x000084dc sw zero, 0x24(sp) | *(var_24h) = 0;
0x000084e0 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x000084e4 lw t9, -0x7d94(gp) | t9 = sym.imp.g_string_new;
0x000084e8 addiu a0, a0, -0x4580 | a0 += -0x4580;
0x000084ec jalr t9 | t9 ();
0x000084f0 lw a1, 0x2c(s0) | a1 = *((s0 + 11));
0x000084f4 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000084f8 move s3, v0 | s3 = v0;
| if (a1 == 0) {
0x000084fc beqz a1, 0x85ac | goto label_7;
| }
0x00008500 lw t9, -0x7e08(gp) | t9 = sym.imp.g_hash_table_iter_init;
0x00008504 addiu s1, sp, 0x2c | s1 = sp + 0x2c;
0x00008508 move a0, s1 | a0 = s1;
0x0000850c jalr t9 | t9 ();
0x00008510 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00008514 addiu s7, sp, 0x24 | s7 = sp + 0x24;
0x00008518 addiu s6, sp, 0x28 | s6 = sp + 0x28;
0x0000851c lw s4, -0x7fd8(gp) | s4 = *((gp - 8182));
0x00008520 addiu s4, s4, -0x3888 | s4 += -0x3888;
0x00008524 lw t9, -0x7e04(gp) | t9 = sym.imp.g_hash_table_iter_next;
| do {
0x00008528 move a2, s7 | a2 = s7;
| label_1:
0x0000852c move a1, s6 | a1 = s6;
0x00008530 move a0, s1 | a0 = s1;
0x00008534 jalr t9 | t9 ();
0x00008538 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0000853c beqz v0, 0x85ac | goto label_7;
| }
| label_2:
0x00008540 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00008544 lw t9, -0x7e04(gp) | t9 = sym.imp.g_hash_table_iter_next;
0x00008548 beqz v0, 0x8528 |
| } while (v0 == 0);
0x0000854c lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x00008550 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 != 0) {
0x00008554 bnez a0, 0x8570 | goto label_8;
| }
0x00008558 lw a0, 0x24(s0) | a0 = *((s0 + 9));
| if (a0 == s2) {
0x0000855c beql a0, s2, 0x8574 | goto label_9;
| }
0x00008560 lw a3, 8(v1) | a3 = *((v1 + 2));
0x00008564 lw a0, (v1) | a0 = *(v1);
0x00008568 move a2, s7 | a2 = s7;
| if (a0 != s2) {
0x0000856c bne a0, s2, 0x852c | goto label_1;
| }
| label_8:
0x00008570 lw a3, 8(v1) | a3 = *((v1 + 2));
| label_9:
0x00008574 lw t9, -0x7f44(gp) | t9 = sym.imp.g_string_append_printf
0x00008578 lw a2, (v0) | a2 = *(v0);
0x0000857c sltu a3, zero, a3 | a3 = (0 < a3) ? 1 : 0;
0x00008580 move a1, s4 | a1 = s4;
0x00008584 move a0, s3 | a0 = s3;
0x00008588 jalr t9 | t9 ();
0x0000858c lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00008590 move a2, s7 | a2 = s7;
0x00008594 move a1, s6 | a1 = s6;
0x00008598 lw t9, -0x7e04(gp) | t9 = sym.imp.g_hash_table_iter_next;
0x0000859c move a0, s1 | a0 = s1;
0x000085a0 jalr t9 | t9 ();
0x000085a4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 != 0) {
0x000085a8 bnez v0, 0x8540 | goto label_2;
| }
| label_7:
0x000085ac lw a0, 0x44(sp) | a0 = *(var_44h_2);
0x000085b0 lw v1, (s5) | v1 = *(s5);
0x000085b4 move v0, s3 | v0 = s3;
| if (a0 == v1) {
0x000085b8 bne a0, v1, 0x85e8 |
0x000085bc lw ra, 0x6c(sp) | ra = *(var_6ch);
0x000085c0 lw s7, 0x68(sp) | s7 = *(var_68h);
0x000085c4 lw s6, 0x64(sp) | s6 = *(var_64h);
0x000085c8 lw s5, 0x60(sp) | s5 = *(var_60h);
0x000085cc lw s4, 0x5c(sp) | s4 = *(var_5ch);
0x000085d0 lw s3, 0x58(sp) | s3 = *(var_58h);
0x000085d4 lw s2, 0x54(sp) | s2 = *(var_54h);
0x000085d8 lw s1, 0x50(sp) | s1 = *(var_50h_2);
0x000085dc lw s0, 0x4c(sp) | s0 = *(var_4ch_2);
0x000085e0 addiu sp, sp, 0x70 |
0x000085e4 jr ra | return v0;
| }
0x000085e8 lw t9, -0x7e98(gp) | t9 = sym.imp.__stack_chk_fail;
0x000085ec jalr t9 | t9 ();
0x000085f0 nop |
0x000085f4 lui gp, 2 |
0x000085f8 addiu gp, gp, -0x35e4 |
0x000085fc addu gp, gp, t9 | gp += t9;
0x00008600 addiu sp, sp, -0x28 |
0x00008604 lw t9, -0x7f84(gp) | t9 = sym.motion_detection_trigger_get_type;
0x00008608 sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x0000860c sw ra, 0x24(sp) | *(var_24h_2) = ra;
0x00008610 sw s1, 0x20(sp) | *(var_20h_2) = s1;
0x00008614 sw s0, 0x1c(sp) | *(var_1ch_2) = s0;
0x00008618 move s1, a0 | s1 = a0;
0x0000861c bal 0x80a8 | sym_motion_detection_trigger_get_type ();
0x00008620 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00008624 move a0, s1 | a0 = s1;
0x00008628 lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x0000862c move a1, v0 | a1 = v0;
0x00008630 jalr t9 | t9 ();
0x00008634 lw a0, 0x2c(v0) | a0 = *((v0 + 11));
0x00008638 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0000863c move s0, v0 | s0 = v0;
| if (a0 != 0) {
0x00008640 beqz a0, 0x8658 |
0x00008644 lw t9, -0x7ee8(gp) | t9 = sym.imp.g_hash_table_unref;
0x00008648 jalr t9 | t9 ();
0x0000864c nop |
0x00008650 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00008654 sw zero, 0x2c(s0) | *((s0 + 11)) = 0;
| }
0x00008658 lw a0, 0x1c(s0) | a0 = *((s0 + 7));
0x0000865c lw t9, -0x7d38(gp) | t9 = sym.imp.g_object_unref;
| if (a0 == 0) {
0x00008660 beqz a0, 0x8674 | goto label_10;
| }
0x00008664 jalr t9 | t9 ();
0x00008668 nop |
| while (1);
0x0000866c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00008670 sw zero, 0x1c(s0) | *((s0 + 7)) = 0;
| label_10:
0x00008674 lw v0, -0x7fc4(gp) | v0 = *((gp - 8177));
0x00008678 lw t9, -0x7dfc(gp) | t9 = sym.imp.g_type_check_class_cast;
0x0000867c addiu a1, zero, 0x50 | a1 = 0x50;
0x00008680 lw a0, -0x2c88(v0) | a0 = *((v0 - 2850));
0x00008684 jalr t9 | t9 ();
0x00008688 lw t9, 0x14(v0) | t9 = *((v0 + 5));
0x0000868c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00008690 lw ra, 0x24(sp) | ra = *(var_24h_2);
0x00008694 lw s0, 0x1c(sp) | s0 = *(var_1ch_2);
0x00008698 move a0, s1 | a0 = s1;
0x0000869c lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x000086a0 addiu sp, sp, 0x28 |
0x000086a4 jr t9 | t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/triggerd @ 0x91c4 */
| #include <stdint.h>
|
; (fcn) fcn.000091c4 () | void fcn_000091c4 () {
0x000091c4 lui gp, 2 |
0x000091c8 addiu gp, gp, -0x41b4 |
0x000091cc addu gp, gp, t9 | gp += t9;
0x000091d0 lw v0, -0x7e50(gp) | v0 = *((gp - 8084));
0x000091d4 addiu sp, sp, -0xc0 |
0x000091d8 lw t9, -0x7f80(gp) | t9 = sym.motion_level_trigger_get_type;
0x000091dc sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x000091e0 lw v0, (v0) | v0 = *(v0);
0x000091e4 sw ra, 0xbc(sp) | *(var_bch) = ra;
0x000091e8 sw gp, 0x20(sp) | *(var_20h) = gp;
0x000091ec sw s0, 0x98(sp) | *(var_98h) = s0;
0x000091f0 sw a0, 0x2c(sp) | *(var_2ch) = a0;
0x000091f4 sw fp, 0xb8(sp) | *(var_b8h) = fp;
0x000091f8 sw s7, 0xb4(sp) | *(var_b4h) = s7;
0x000091fc sw s6, 0xb0(sp) | *(var_b0h) = s6;
0x00009200 sw s5, 0xac(sp) | *(var_ach) = s5;
0x00009204 sw s4, 0xa8(sp) | *(var_a8h) = s4;
0x00009208 sw s3, 0xa4(sp) | *(var_a4h) = s3;
0x0000920c sw s2, 0xa0(sp) | *(var_a0h) = s2;
0x00009210 sw s1, 0x9c(sp) | *(var_9ch) = s1;
0x00009214 sw v0, 0x94(sp) | *(var_94h) = v0;
0x00009218 bal 0x9134 | sym_motion_level_trigger_get_type ();
0x0000921c nop |
0x00009220 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009224 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00009228 lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x0000922c move a1, v0 | a1 = v0;
0x00009230 jalr t9 | t9 ();
0x00009234 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009238 move s0, v0 | s0 = v0;
0x0000923c lw a0, 0x30(v0) | a0 = *((v0 + 12));
0x00009240 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00009244 addiu v0, zero, -1 | v0 = -1;
0x00009248 lw t9, -0x7d84(gp) | t9 = sym.imp.g_dbus_proxy_call_sync;
0x0000924c addiu v1, sp, 0x50 | v1 = sp + 0x50;
0x00009250 sw zero, 0x3c(s0) | *((s0 + 15)) = 0;
0x00009254 move a3, zero | a3 = 0;
0x00009258 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0000925c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00009260 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00009264 move a2, zero | a2 = 0;
0x00009268 addiu a1, a1, -0x3914 | a1 += -0x3914;
0x0000926c sw zero, 0x44(sp) | *(var_44h) = 0;
0x00009270 sw v0, 0x48(sp) | *(var_48h) = v0;
0x00009274 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00009278 sw zero, 0x50(sp) | *(var_50h) = 0;
0x0000927c jalr t9 | t9 ();
0x00009280 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00009284 beqz v0, 0x94f0 | goto label_10;
| }
0x00009288 lw a3, -0x7cfc(gp) | a3 = *((gp - 7999));
0x0000928c lw t9, -0x7e0c(gp) | t9 = sym.imp.g_hash_table_new_full;
0x00009290 lw a1, -0x7df4(gp) | a1 = *((gp - 8061));
0x00009294 lw a0, -0x7e64(gp) | a0 = *((gp - 8089));
0x00009298 move a2, a3 | a2 = a3;
0x0000929c move s4, v0 | s4 = v0;
0x000092a0 jalr t9 | t9 ();
0x000092a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000092a8 addiu s1, sp, 0x54 | s1 = sp + 0x54;
0x000092ac addiu a2, sp, 0x44 | a2 = sp + 0x44;
0x000092b0 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000092b4 lw t9, -0x7e44(gp) | t9 = sym.imp.g_variant_get;
0x000092b8 addiu a1, a1, -0x3900 | a1 += -0x3900;
0x000092bc move a0, s4 | a0 = s4;
0x000092c0 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x000092c4 move s6, v0 | s6 = v0;
0x000092c8 jalr t9 | t9 ();
0x000092cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000092d0 lw a1, 0x44(sp) | a1 = *(var_44h);
0x000092d4 move a0, s1 | a0 = s1;
0x000092d8 lw t9, -0x7e54(gp) | t9 = sym.imp.g_variant_iter_init;
0x000092dc addiu s7, sp, 0x4c | s7 = sp + 0x4c;
0x000092e0 jalr t9 | t9 ();
0x000092e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000092e8 addiu fp, sp, 0x48 | fp = sp + 0x48;
0x000092ec lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x000092f0 lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x000092f4 addiu v0, s3, -0x38bc | v0 = s3 + -0x38bc;
0x000092f8 sw v0, 0x30(sp) | *(var_30h) = v0;
0x000092fc addiu v0, s2, -0x38f0 | v0 = s2 + -0x38f0;
0x00009300 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00009304 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00009308 addiu v0, v0, -0x42ac | v0 += -0x42ac;
0x0000930c sw v0, 0x38(sp) | *(var_38h) = v0;
0x00009310 b 0x93d0 |
| while (v0 != 0) {
0x00009314 lw t9, -0x7e68(gp) | t9 = sym.imp.g_variant_dict_new;
0x00009318 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000931c jalr t9 | t9 ();
0x00009320 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009324 addiu a0, zero, 4 | a0 = 4;
0x00009328 lw t9, -0x7d8c(gp) | t9 = sym.imp.g_malloc;
0x0000932c move s5, v0 | s5 = v0;
0x00009330 jalr t9 | t9 ();
0x00009334 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009338 move s1, v0 | s1 = v0;
0x0000933c lw v0, 0x48(sp) | v0 = *(var_48h);
0x00009340 lw t9, -0x7ec0(gp) | t9 = sym.imp.g_malloc0;
0x00009344 addiu a0, zero, 0x10 | a0 = 0x10;
0x00009348 sw v0, (s1) | *(s1) = v0;
0x0000934c jalr t9 | t9 ();
0x00009350 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009354 move s3, v0 | s3 = v0;
0x00009358 lw a1, 0x34(sp) | a1 = *(var_34h);
0x0000935c lw t9, -0x7ea8(gp) | t9 = sym.imp.g_variant_dict_lookup_value;
0x00009360 addiu v0, zero, 1 | v0 = 1;
0x00009364 move a2, zero | a2 = 0;
0x00009368 move a0, s5 | a0 = s5;
0x0000936c sw v0, 4(s3) | *((s3 + 1)) = v0;
0x00009370 jalr t9 | t9 ();
0x00009374 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009378 lw a1, 0x38(sp) | a1 = *(var_38h);
0x0000937c move a0, v0 | a0 = v0;
0x00009380 lw t9, -0x7e44(gp) | t9 = sym.imp.g_variant_get;
0x00009384 move a2, s3 | a2 = s3;
0x00009388 move s2, v0 | s2 = v0;
0x0000938c jalr t9 | t9 ();
0x00009390 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009394 move a2, s3 | a2 = s3;
0x00009398 move a1, s1 | a1 = s1;
0x0000939c lw t9, -0x7d6c(gp) | t9 = sym.imp.g_hash_table_insert;
0x000093a0 move a0, s6 | a0 = s6;
0x000093a4 jalr t9 | t9 ();
0x000093a8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000093ac beqz v0, 0x94cc | goto label_11;
| }
0x000093b0 lw t9, -0x7e9c(gp) | t9 = sym.imp.g_variant_unref;
0x000093b4 move a0, s2 | a0 = s2;
0x000093b8 jalr t9 | t9 ();
0x000093bc lw gp, 0x20(sp) | gp = *(var_20h);
0x000093c0 lw t9, -0x7d74(gp) | t9 = sym.imp.g_variant_dict_unref;
0x000093c4 move a0, s5 | a0 = s5;
0x000093c8 jalr t9 | t9 ();
0x000093cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000093d0 lw t9, -0x7e28(gp) | t9 = sym.imp.g_variant_iter_loop;
0x000093d4 lw a1, 0x30(sp) | a1 = *(var_30h);
0x000093d8 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x000093dc move a3, s7 | a3 = s7;
0x000093e0 move a2, fp | a2 = fp;
0x000093e4 jalr t9 | t9 ();
0x000093e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000093ec bnez v0, 0x9314 |
| }
0x000093f0 lw t9, -0x7e9c(gp) | t9 = sym.imp.g_variant_unref;
0x000093f4 lw a0, 0x44(sp) | a0 = *(var_44h);
0x000093f8 jalr t9 | t9 ();
0x000093fc lw gp, 0x20(sp) | gp = *(var_20h);
0x00009400 lw t9, -0x7e9c(gp) | t9 = sym.imp.g_variant_unref;
0x00009404 move a0, s4 | a0 = s4;
0x00009408 jalr t9 | t9 ();
0x0000940c lw v0, 0x50(sp) | v0 = *(var_50h);
0x00009410 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009414 beqz v0, 0x9454 |
| while (v0 != 0) {
0x00009418 lw v0, 8(v0) | v0 = *((v0 + 2));
0x0000941c lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x00009420 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00009424 lw t9, -0x7f48(gp) | t9 = sym.imp.g_log;
0x00009428 addiu a3, a3, -0x45cc | a3 += -0x45cc;
0x0000942c addiu a2, a2, -0x38b0 | a2 += -0x38b0;
0x00009430 addiu a1, zero, 0x40 | a1 = 0x40;
0x00009434 move a0, zero | a0 = 0;
0x00009438 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000943c jalr t9 | t9 ();
0x00009440 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009444 lw t9, -0x7ef0(gp) | t9 = sym.imp.g_error_free;
0x00009448 lw a0, 0x50(sp) | a0 = *(var_50h);
0x0000944c jalr t9 | t9 ();
0x00009450 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s6 == 0) {
0x00009454 beql s6, zero, 0x9500 | goto label_12;
| }
0x00009458 lw v0, 0x3c(s0) | v0 = *((s0 + 15));
0x0000945c lw a0, 0x4c(s0) | a0 = *((s0 + 19));
0x00009460 lw t9, -0x7ee8(gp) | t9 = sym.imp.g_hash_table_unref;
| if (a0 != 0) {
0x00009464 beqz a0, 0x9474 |
0x00009468 jalr t9 | t9 ();
0x0000946c nop |
0x00009470 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00009474 addiu v0, zero, 1 | v0 = 1;
0x00009478 sw v0, 0x3c(s0) | *((s0 + 15)) = v0;
0x0000947c sw s6, 0x4c(s0) | *((s0 + 19)) = s6;
0x00009480 lw v0, 0x2c(s0) | v0 = *((s0 + 11));
| label_1:
0x00009484 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (v0 == 0) {
0x00009488 beqz v0, 0x9510 | goto label_13;
| }
| label_2:
0x0000948c lw v0, 0x3c(sp) | v0 = *(var_3ch);
| label_0:
0x00009490 lw v1, 0x94(sp) | v1 = *(var_94h);
0x00009494 lw v0, (v0) | v0 = *(v0);
0x00009498 lw ra, 0xbc(sp) | ra = *(var_bch);
| if (v1 != v0) {
0x0000949c bne v1, v0, 0x9530 | goto label_14;
| }
0x000094a0 lw fp, 0xb8(sp) | fp = *(var_b8h);
0x000094a4 lw s7, 0xb4(sp) | s7 = *(var_b4h);
0x000094a8 lw s6, 0xb0(sp) | s6 = *(var_b0h);
0x000094ac lw s5, 0xac(sp) | s5 = *(var_ach);
0x000094b0 lw s4, 0xa8(sp) | s4 = *(var_a8h);
0x000094b4 lw s3, 0xa4(sp) | s3 = *(var_a4h);
0x000094b8 lw s2, 0xa0(sp) | s2 = *(var_a0h);
0x000094bc lw s1, 0x9c(sp) | s1 = *(var_9ch);
0x000094c0 lw s0, 0x98(sp) | s0 = *(var_98h);
0x000094c4 addiu sp, sp, 0xc0 |
0x000094c8 jr ra | return v0;
| label_11:
0x000094cc lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000094d0 lw a3, (s1) | a3 = *(s1);
0x000094d4 lw t9, -0x7f48(gp) | t9 = sym.imp.g_log;
0x000094d8 addiu a2, a2, -0x38e4 | a2 += -0x38e4;
0x000094dc addiu a1, zero, 4 | a1 = 4;
0x000094e0 move a0, zero | a0 = 0;
0x000094e4 jalr t9 | t9 ();
0x000094e8 b 0x94e8 |
0x000094ec nop |
| label_10:
0x000094f0 lw v0, 0x50(sp) | v0 = *(var_50h);
0x000094f4 move s6, zero | s6 = 0;
0x000094f8 bnez v0, 0x9418 |
| }
0x000094fc lw v0, 0x3c(s0) | v0 = *((s0 + 15));
| if (v0 == 0) {
| label_12:
0x00009500 beql v0, zero, 0x9490 | goto label_0;
| }
0x00009504 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00009508 lw v0, 0x2c(s0) | v0 = *((s0 + 11));
0x0000950c b 0x9484 | goto label_1;
| label_13:
0x00009510 lw t9, -0x7f08(gp) | t9 = sym.imp.g_timeout_add;
0x00009514 move a2, s0 | a2 = s0;
0x00009518 addiu a1, a1, -0x7250 | a1 += -0x7250;
0x0000951c addiu a0, zero, 0x3e8 | a0 = 0x3e8;
0x00009520 jalr t9 | t9 ();
0x00009524 lw gp, 0x20(sp) | gp = *(var_20h);
0x00009528 sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
0x0000952c b 0x948c | goto label_2;
| label_14:
0x00009530 lw t9, -0x7e98(gp) | t9 = sym.imp.__stack_chk_fail;
0x00009534 jalr t9 | t9 ();
0x00009538 nop |
0x0000953c lui gp, 2 |
0x00009540 addiu gp, gp, -0x452c |
0x00009544 addu gp, gp, t9 | gp += t9;
0x00009548 addiu sp, sp, -0x70 |
0x0000954c lw t9, -0x7f80(gp) | t9 = sym.motion_level_trigger_get_type;
0x00009550 sw s2, 0x54(sp) | *(var_54h) = s2;
0x00009554 lw s2, -0x7e50(gp) | s2 = *((gp - 8084));
0x00009558 sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x0000955c sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00009560 lw v0, (s2) | v0 = *(s2);
0x00009564 sw s1, 0x50(sp) | *(var_50h_2) = s1;
0x00009568 sw s0, 0x4c(sp) | *(var_4ch_2) = s0;
0x0000956c sw s7, 0x68(sp) | *(var_68h) = s7;
0x00009570 sw s6, 0x64(sp) | *(var_64h) = s6;
0x00009574 sw s5, 0x60(sp) | *(var_60h) = s5;
0x00009578 sw s4, 0x5c(sp) | *(var_5ch) = s4;
0x0000957c sw s3, 0x58(sp) | *(var_58h) = s3;
0x00009580 sw v0, 0x44(sp) | *(var_44h_2) = v0;
0x00009584 lw s1, -0x7fc4(gp) | s1 = *((gp - 8177));
0x00009588 move s0, a2 | s0 = a2;
0x0000958c bal 0x9134 | sym_motion_level_trigger_get_type ();
0x00009590 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00009594 move a0, s0 | a0 = s0;
0x00009598 lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x0000959c move a1, v0 | a1 = v0;
0x000095a0 jalr t9 | t9 ();
0x000095a4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000095a8 lw a0, 0x20(v0) | a0 = *((v0 + 8));
0x000095ac addiu a3, sp, 0x20 | a3 = sp + 0x20;
0x000095b0 lw t9, -0x7e74(gp) | t9 = sym.imp.g_io_channel_read_chars;
0x000095b4 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x000095b8 addiu a2, zero, 0x3ff | a2 = 0x3ff;
0x000095bc addiu a1, s1, -0x2c80 | a1 = s1 + -0x2c80;
0x000095c0 sw zero, 0x24(sp) | *(var_24h) = 0;
0x000095c4 move s0, v0 | s0 = v0;
0x000095c8 jalr t9 | t9 ();
0x000095cc addiu v1, zero, 1 | v1 = 1;
0x000095d0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != v1) {
0x000095d4 bne v0, v1, 0x96e4 | goto label_15;
| }
0x000095d8 lw v0, 0x20(sp) | v0 = *(var_20h_2);
0x000095dc addiu a0, s1, -0x2c80 | a0 = s1 + -0x2c80;
0x000095e0 addu v0, v0, a0 | v0 += a0;
0x000095e4 sb zero, (v0) | *(v0) = 0;
0x000095e8 lw v0, 0x4c(s0) | v0 = *((s0 + 19));
0x000095ec lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (v0 == 0) {
0x000095f0 beqz v0, 0x96a8 | goto label_7;
| }
0x000095f4 lw t9, -0x7eb0(gp) | t9 = sym.imp.g_strsplit;
0x000095f8 move a2, zero | a2 = 0;
0x000095fc addiu a1, a1, -0x371c | a1 += -0x371c;
0x00009600 jalr t9 | t9 ();
0x00009604 lw a0, (v0) | a0 = *(v0);
0x00009608 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0000960c move s6, v0 | s6 = v0;
| if (a0 == 0) {
0x00009610 beqz a0, 0x9690 | goto label_16;
| }
0x00009614 lw s4, -0x7fd8(gp) | s4 = *((gp - 8182));
0x00009618 addiu s1, v0, 4 | s1 = v0 + 4;
0x0000961c addiu s3, sp, 0x2c | s3 = sp + 0x2c;
0x00009620 addiu s7, sp, 0x28 | s7 = sp + 0x28;
0x00009624 addiu s4, s4, -0x3718 | s4 += -0x3718;
0x00009628 addiu s5, zero, 2 | s5 = 2;
0x0000962c b 0x9640 |
| while (v0 != s5) {
| label_3:
0x00009630 addiu s1, s1, 4 | s1 += 4;
0x00009634 lw a0, -4(s1) | a0 = *((s1 - 1));
0x00009638 lw t9, -0x7ef4(gp) | t9 = sym.imp.g_strfreev;
| if (a0 == 0) {
0x0000963c beqz a0, 0x9694 | goto label_17;
| }
| label_4:
0x00009640 lw t9, -0x7d44(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00009644 move a3, s3 | a3 = s3;
0x00009648 move a2, s7 | a2 = s7;
0x0000964c move a1, s4 | a1 = s4;
0x00009650 jalr t9 | t9 ();
0x00009654 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00009658 bne v0, s5, 0x9630 |
| }
0x0000965c lw t9, -0x7eb4(gp) | t9 = sym.imp.g_hash_table_lookup;
0x00009660 lw a0, 0x4c(s0) | a0 = *((s0 + 19));
0x00009664 move a1, s7 | a1 = s7;
0x00009668 jalr t9 | t9 ();
0x0000966c lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00009670 beqz v0, 0x9630 | goto label_3;
| }
0x00009674 lw v1, 0xc(v0) | v1 = *((v0 + 3));
0x00009678 addiu s1, s1, 4 | s1 += 4;
0x0000967c sw v1, 8(v0) | *((v0 + 2)) = v1;
0x00009680 lw v1, 0x2c(sp) | v1 = *(var_2ch_3);
0x00009684 lw a0, -4(s1) | a0 = *((s1 - 1));
0x00009688 sw v1, 0xc(v0) | *((v0 + 3)) = v1;
| if (a0 != 0) {
0x0000968c bnez a0, 0x9640 | goto label_4;
| }
| label_16:
0x00009690 lw t9, -0x7ef4(gp) | t9 = sym.imp.g_strfreev;
| label_17:
0x00009694 move a0, s6 | a0 = s6;
0x00009698 jalr t9 | t9 ();
0x0000969c lw v0, 0x3c(s0) | v0 = *((s0 + 15));
0x000096a0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x000096a4 bnez v0, 0x9744 | goto label_18;
| }
| label_7:
0x000096a8 addiu v0, zero, 1 | v0 = 1;
| label_5:
0x000096ac lw a0, 0x44(sp) | a0 = *(var_44h_2);
0x000096b0 lw v1, (s2) | v1 = *(s2);
0x000096b4 lw ra, 0x6c(sp) | ra = *(var_6ch);
| if (a0 != v1) {
0x000096b8 bne a0, v1, 0x9838 | goto label_19;
| }
0x000096bc lw s7, 0x68(sp) | s7 = *(var_68h);
0x000096c0 lw s6, 0x64(sp) | s6 = *(var_64h);
0x000096c4 lw s5, 0x60(sp) | s5 = *(var_60h);
0x000096c8 lw s4, 0x5c(sp) | s4 = *(var_5ch);
0x000096cc lw s3, 0x58(sp) | s3 = *(var_58h);
0x000096d0 lw s2, 0x54(sp) | s2 = *(var_54h);
0x000096d4 lw s1, 0x50(sp) | s1 = *(var_50h_2);
0x000096d8 lw s0, 0x4c(sp) | s0 = *(var_4ch_2);
0x000096dc addiu sp, sp, 0x70 |
0x000096e0 jr ra | return v0;
| label_15:
0x000096e4 lw a0, 0x24(s0) | a0 = *((s0 + 9));
0x000096e8 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
| if (a0 != 0) {
0x000096ec bnez a0, 0x97c0 | goto label_20;
| }
| label_6:
0x000096f0 lw a0, 0x20(s0) | a0 = *((s0 + 8));
0x000096f4 lw t9, -0x7ed0(gp) | t9 = sym.imp.g_io_channel_unref;
| if (a0 != 0) {
0x000096f8 beqz a0, 0x970c |
0x000096fc jalr t9 | t9 ();
0x00009700 nop |
0x00009704 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00009708 sw zero, 0x20(s0) | *((s0 + 8)) = 0;
| }
0x0000970c lw a0, 0x1c(s0) | a0 = *((s0 + 7));
| if (a0 < 0) {
0x00009710 bltzl a0, 0x9734 | goto label_21;
| }
| while (1);
0x00009714 lw v0, 0x2c(s0) | v0 = *((s0 + 11));
0x00009718 lw t9, -0x7e78(gp) | t9 = sym.imp.close;
0x0000971c jalr t9 | t9 ();
0x00009720 nop |
0x00009724 addiu v0, zero, -1 | v0 = -1;
0x00009728 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0000972c sw v0, 0x1c(s0) | *((s0 + 7)) = v0;
0x00009730 lw v0, 0x2c(s0) | v0 = *((s0 + 11));
| label_21:
0x00009734 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
| if (v0 == 0) {
0x00009738 beqz v0, 0x979c | goto label_22;
| }
0x0000973c move v0, zero | v0 = 0;
0x00009740 b 0x96ac | goto label_5;
| label_18:
0x00009744 lw t9, -0x7e08(gp) | t9 = sym.imp.g_hash_table_iter_init;
0x00009748 addiu s3, sp, 0x2c | s3 = sp + 0x2c;
0x0000974c lw a1, 0x4c(s0) | a1 = *((s0 + 19));
0x00009750 move a0, s3 | a0 = s3;
0x00009754 jalr t9 | t9 ();
0x00009758 addiu s1, sp, 0x24 | s1 = sp + 0x24;
0x0000975c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00009760 b 0x9778 |
| while (v0 != 0) {
0x00009764 lw v0, 0x24(sp) | v0 = *(var_24h);
0x00009768 lw v1, 8(v0) | v1 = *((v0 + 2));
0x0000976c lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00009770 lw t9, -0x7fac(gp) | t9 = sym.trigger_get_type;
| if (v1 != v0) {
0x00009774 bne v1, v0, 0x97d8 | goto label_23;
| }
0x00009778 lw t9, -0x7e04(gp) | t9 = sym.imp.g_hash_table_iter_next;
0x0000977c move a2, s1 | a2 = s1;
0x00009780 move a1, zero | a1 = 0;
0x00009784 move a0, s3 | a0 = s3;
0x00009788 jalr t9 | t9 ();
0x0000978c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00009790 bnez v0, 0x9764 |
| }
0x00009794 addiu v0, zero, 1 | v0 = 1;
0x00009798 b 0x96ac | goto label_5;
| label_22:
0x0000979c lw t9, -0x7f08(gp) | t9 = sym.imp.g_timeout_add;
0x000097a0 move a2, s0 | a2 = s0;
0x000097a4 addiu a1, a1, -0x7250 | a1 += -0x7250;
0x000097a8 addiu a0, zero, 0x3e8 | a0 = 0x3e8;
0x000097ac jalr t9 | t9 ();
0x000097b0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000097b4 sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
0x000097b8 move v0, zero | v0 = 0;
0x000097bc b 0x96ac | goto label_5;
| label_20:
0x000097c0 addiu t9, t9, -0x72bc | t9 += -0x72bc;
0x000097c4 bal 0x8d44 | fcn_00008d44 ();
0x000097c8 nop |
0x000097cc lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000097d0 sw zero, 0x24(s0) | *((s0 + 9)) = 0;
0x000097d4 b 0x96f0 | goto label_6;
| label_23:
0x000097d8 bal 0x6614 | sym_trigger_get_type ();
0x000097dc nop |
0x000097e0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000097e4 move a1, v0 | a1 = v0;
0x000097e8 lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x000097ec move a0, s0 | a0 = s0;
0x000097f0 jalr t9 | t9 ();
0x000097f4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000097f8 lw t9, -0x7fac(gp) | t9 = sym.trigger_get_type;
0x000097fc lw s1, 0x18(v0) | s1 = *((v0 + 6));
0x00009800 bal 0x6614 | sym_trigger_get_type ();
0x00009804 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00009808 move a1, v0 | a1 = v0;
0x0000980c lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x00009810 move a0, s0 | a0 = s0;
0x00009814 jalr t9 | t9 ();
0x00009818 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0000981c lw a1, 0x14(v0) | a1 = *((v0 + 5));
0x00009820 move a2, zero | a2 = 0;
0x00009824 lw t9, -0x7f18(gp) | t9 = sym.imp.command_source_execute_async;
0x00009828 move a0, s1 | a0 = s1;
0x0000982c jalr t9 | t9 ();
0x00009830 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00009834 b 0x96a8 | goto label_7;
| label_19:
0x00009838 lw t9, -0x7e98(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000983c jalr t9 | t9 ();
0x00009840 nop |
0x00009844 lui gp, 2 |
0x00009848 addiu gp, gp, -0x4834 |
0x0000984c addu gp, gp, t9 | gp += t9;
0x00009850 addiu sp, sp, -0x70 |
0x00009854 lw t9, -0x7f80(gp) | t9 = sym.motion_level_trigger_get_type;
0x00009858 sw s5, 0x60(sp) | *(var_60h_2) = s5;
0x0000985c lw s5, -0x7e50(gp) | s5 = *((gp - 8084));
0x00009860 sw ra, 0x6c(sp) | *(var_6ch_2) = ra;
0x00009864 sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x00009868 lw v0, (s5) | v0 = *(s5);
0x0000986c sw s3, 0x58(sp) | *(var_58h_2) = s3;
0x00009870 sw s2, 0x54(sp) | *(var_54h_2) = s2;
0x00009874 sw s0, 0x4c(sp) | *(var_4ch_3) = s0;
0x00009878 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x0000987c sw s7, 0x68(sp) | *(var_68h_2) = s7;
0x00009880 sw s6, 0x64(sp) | *(var_64h_2) = s6;
0x00009884 sw s4, 0x5c(sp) | *(var_5ch_2) = s4;
0x00009888 sw s1, 0x50(sp) | *(var_50h_3) = s1;
0x0000988c sw v0, 0x44(sp) | *(var_44h_3) = v0;
0x00009890 move s2, a1 | s2 = a1;
0x00009894 bal 0x9134 | sym_motion_level_trigger_get_type ();
0x00009898 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0000989c lw a0, 0x1c(sp) | a0 = *(var_1ch);
0x000098a0 lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x000098a4 move a1, v0 | a1 = v0;
0x000098a8 jalr t9 | t9 ();
0x000098ac lw gp, 0x10(sp) | gp = *(var_10h_3);
0x000098b0 move s0, v0 | s0 = v0;
0x000098b4 sw zero, 0x24(sp) | *(var_24h_2) = 0;
0x000098b8 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x000098bc lw t9, -0x7d94(gp) | t9 = sym.imp.g_string_new;
0x000098c0 addiu a0, a0, -0x4580 | a0 += -0x4580;
0x000098c4 jalr t9 | t9 ();
0x000098c8 lw a1, 0x4c(s0) | a1 = *((s0 + 19));
0x000098cc lw gp, 0x10(sp) | gp = *(var_10h_3);
0x000098d0 move s3, v0 | s3 = v0;
| if (a1 == 0) {
0x000098d4 beqz a1, 0x9980 | goto label_24;
| }
0x000098d8 lw t9, -0x7e08(gp) | t9 = sym.imp.g_hash_table_iter_init;
0x000098dc addiu s1, sp, 0x2c | s1 = sp + 0x2c;
0x000098e0 move a0, s1 | a0 = s1;
0x000098e4 jalr t9 | t9 ();
0x000098e8 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x000098ec addiu s7, sp, 0x24 | s7 = sp + 0x24;
0x000098f0 addiu s6, sp, 0x28 | s6 = sp + 0x28;
0x000098f4 lw s4, -0x7fd8(gp) | s4 = *((gp - 8182));
0x000098f8 addiu s4, s4, -0x36f8 | s4 += -0x36f8;
0x000098fc lw t9, -0x7e04(gp) | t9 = sym.imp.g_hash_table_iter_next;
| do {
| label_8:
0x00009900 move a2, s7 | a2 = s7;
0x00009904 move a1, s6 | a1 = s6;
0x00009908 move a0, s1 | a0 = s1;
0x0000990c jalr t9 | t9 ();
0x00009910 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x00009914 beqz v0, 0x9980 | goto label_24;
| }
| label_9:
0x00009918 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0000991c lw t9, -0x7e04(gp) | t9 = sym.imp.g_hash_table_iter_next;
0x00009920 beqz v0, 0x9900 |
| } while (v0 == 0);
0x00009924 lw a0, 0x48(s0) | a0 = *((s0 + 18));
0x00009928 lw v1, 0x24(sp) | v1 = *(var_24h_2);
| if (a0 != 0) {
0x0000992c bnez a0, 0x9948 | goto label_25;
| }
0x00009930 lw a0, 0x44(s0) | a0 = *((s0 + 17));
0x00009934 lw t9, -0x7f44(gp) | t9 = sym.imp.g_string_append_printf
| if (a0 == s2) {
0x00009938 beq a0, s2, 0x994c | goto label_26;
| }
0x0000993c lw a0, (v1) | a0 = *(v1);
0x00009940 lw t9, -0x7e04(gp) | t9 = sym.imp.g_hash_table_iter_next;
| if (a0 != s2) {
0x00009944 bne a0, s2, 0x9900 | goto label_8;
| }
| label_25:
0x00009948 lw t9, -0x7f44(gp) | t9 = sym.imp.g_string_append_printf
| label_26:
0x0000994c lw a2, (v0) | a2 = *(v0);
0x00009950 lw a3, 0xc(v1) | a3 = *((v1 + 3));
0x00009954 move a1, s4 | a1 = s4;
0x00009958 move a0, s3 | a0 = s3;
0x0000995c jalr t9 | t9 ();
0x00009960 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00009964 move a2, s7 | a2 = s7;
0x00009968 move a1, s6 | a1 = s6;
0x0000996c lw t9, -0x7e04(gp) | t9 = sym.imp.g_hash_table_iter_next;
0x00009970 move a0, s1 | a0 = s1;
0x00009974 jalr t9 | t9 ();
0x00009978 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 != 0) {
0x0000997c bnez v0, 0x9918 | goto label_9;
| }
| label_24:
0x00009980 lw a0, 0x44(sp) | a0 = *(var_44h_3);
0x00009984 lw v1, (s5) | v1 = *(s5);
0x00009988 move v0, s3 | v0 = s3;
| if (a0 == v1) {
0x0000998c bne a0, v1, 0x99bc |
0x00009990 lw ra, 0x6c(sp) | ra = *(var_6ch_2);
0x00009994 lw s7, 0x68(sp) | s7 = *(var_68h_2);
0x00009998 lw s6, 0x64(sp) | s6 = *(var_64h_2);
0x0000999c lw s5, 0x60(sp) | s5 = *(var_60h_2);
0x000099a0 lw s4, 0x5c(sp) | s4 = *(var_5ch_2);
0x000099a4 lw s3, 0x58(sp) | s3 = *(var_58h_2);
0x000099a8 lw s2, 0x54(sp) | s2 = *(var_54h_2);
0x000099ac lw s1, 0x50(sp) | s1 = *(var_50h_3);
0x000099b0 lw s0, 0x4c(sp) | s0 = *(var_4ch_3);
0x000099b4 addiu sp, sp, 0x70 |
0x000099b8 jr ra | return v0;
| }
0x000099bc lw t9, -0x7e98(gp) | t9 = sym.imp.__stack_chk_fail;
0x000099c0 jalr t9 | t9 ();
0x000099c4 nop |
0x000099c8 lui gp, 2 |
0x000099cc addiu gp, gp, -0x49b8 |
0x000099d0 addu gp, gp, t9 | gp += t9;
0x000099d4 addiu sp, sp, -0x28 |
0x000099d8 lw t9, -0x7f80(gp) | t9 = sym.motion_level_trigger_get_type;
0x000099dc sw gp, 0x10(sp) | *(var_10h_4) = gp;
0x000099e0 sw ra, 0x24(sp) | *(var_24h_3) = ra;
0x000099e4 sw s1, 0x20(sp) | *(var_20h_3) = s1;
0x000099e8 sw s0, 0x1c(sp) | *(var_1ch_2) = s0;
0x000099ec move s1, a0 | s1 = a0;
0x000099f0 bal 0x9134 | sym_motion_level_trigger_get_type ();
0x000099f4 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x000099f8 move a0, s1 | a0 = s1;
0x000099fc lw t9, -0x7e90(gp) | t9 = sym.imp.g_type_check_instance_cast;
0x00009a00 move a1, v0 | a1 = v0;
0x00009a04 jalr t9 | t9 ();
0x00009a08 lw a0, 0x4c(v0) | a0 = *((v0 + 19));
0x00009a0c lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009a10 move s0, v0 | s0 = v0;
| if (a0 != 0) {
0x00009a14 beqz a0, 0x9a2c |
0x00009a18 lw t9, -0x7ee8(gp) | t9 = sym.imp.g_hash_table_unref;
0x00009a1c jalr t9 | t9 ();
0x00009a20 nop |
0x00009a24 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009a28 sw zero, 0x4c(s0) | *((s0 + 19)) = 0;
| }
0x00009a2c lw a0, 0x30(s0) | a0 = *((s0 + 12));
0x00009a30 lw t9, -0x7d38(gp) | t9 = sym.imp.g_object_unref;
| if (a0 != 0) {
0x00009a34 beqz a0, 0x9a48 |
0x00009a38 jalr t9 | t9 ();
0x00009a3c nop |
0x00009a40 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009a44 sw zero, 0x30(s0) | *((s0 + 12)) = 0;
| }
0x00009a48 lw v0, -0x7fc4(gp) | v0 = *((gp - 8177));
0x00009a4c lw t9, -0x7dfc(gp) | t9 = sym.imp.g_type_check_class_cast;
0x00009a50 addiu a1, zero, 0x50 | a1 = 0x50;
0x00009a54 lw a0, -0x2878(v0) | a0 = *((v0 - 2590));
0x00009a58 jalr t9 | t9 ();
0x00009a5c lw t9, 0x14(v0) | t9 = *((v0 + 5));
0x00009a60 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009a64 lw ra, 0x24(sp) | ra = *(var_24h_3);
0x00009a68 lw s0, 0x1c(sp) | s0 = *(var_1ch_2);
0x00009a6c move a0, s1 | a0 = s1;
0x00009a70 lw s1, 0x20(sp) | s1 = *(var_20h_3);
0x00009a74 addiu sp, sp, 0x28 |
0x00009a78 jr t9 | t9 ();
| }
[*] Function printf used 4 times triggerd