[*] Binary protection state of audiocontrol
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function system tear down of audiocontrol
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/audiocontrol @ 0x8980 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 216512 named .text */
0x00008980 lui gp, 6 |
0x00008984 addiu gp, gp, -0x48a0 |
0x00008988 addu gp, gp, t9 | gp += t9;
0x0000898c addiu sp, sp, -0xd8 |
0x00008990 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008994 sw s7, 0xd0(sp) | *(var_d0h) = s7;
0x00008998 lw s7, -0x7934(gp) | s7 = *((gp - 7757));
0x0000899c lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
0x000089a0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000089a4 lw v0, (s7) | v0 = *(s7);
0x000089a8 sw s6, 0xcc(sp) | *(var_cch) = s6;
0x000089ac sw s5, 0xc8(sp) | *(var_c8h) = s5;
0x000089b0 sw s4, 0xc4(sp) | *(var_c4h) = s4;
0x000089b4 sw s3, 0xc0(sp) | *(var_c0h) = s3;
0x000089b8 sw s2, 0xbc(sp) | *(var_bch) = s2;
0x000089bc sw s1, 0xb8(sp) | *(var_b8h) = s1;
0x000089c0 sw s0, 0xb4(sp) | *(var_b4h) = s0;
0x000089c4 sw ra, 0xd4(sp) | *(var_d4h) = ra;
0x000089c8 move s5, a0 | s5 = a0;
0x000089cc move s4, a1 | s4 = a1;
| /* str.Audiocontrol_starting. */
0x000089d0 addiu a2, a2, -0x28c | a2 += -aav.0x0000028c;
0x000089d4 addiu a1, zero, 1 | a1 = 1;
0x000089d8 addiu a0, zero, 6 | a0 = 6;
0x000089dc sw v0, 0xac(sp) | *(var_ach) = v0;
0x000089e0 sw zero, 0x20(sp) | *(var_20h) = 0;
0x000089e4 sw zero, 0x24(sp) | *(var_24h) = 0;
0x000089e8 sw zero, 0x28(sp) | *(var_28h) = 0;
0x000089ec move s0, zero | s0 = 0;
0x000089f0 jalr t9 | t9 ();
0x000089f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000089f8 addiu s3, zero, -1 | s3 = -1;
0x000089fc lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x00008a00 lw s1, -0x7fdc(gp) | s1 = *(gp);
| /* esilref: 'x' */
0x00008a04 addiu s2, s2, -0x3ff0 | s2 += -0x3ff0;
0x00008a08 addiu s1, s1, -0x274 | s1 += -0x274;
0x00008a0c addiu s6, zero, 1 | s6 = 1;
0x00008a10 b 0x8a1c |
| while (v0 != s3) {
0x00008a14 xori v0, v0, 0x45 | v0 ^= 0x45;
| if (v0 != 0) {
0x00008a18 movz s0, s6, v0 | s0 = s6;
| }
0x00008a1c lw t9, -0x7898(gp) | t9 = sym.imp.getopt_long;
0x00008a20 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00008a24 move a3, s2 | a3 = s2;
0x00008a28 move a2, s1 | a2 = s1;
0x00008a2c move a1, s4 | a1 = s4;
0x00008a30 move a0, s5 | a0 = s5;
0x00008a34 jalr t9 | t9 ();
0x00008a38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a3c bne v0, s3, 0x8a14 |
| }
| if (s0 == 0) {
0x00008a40 beql s0, zero, 0x8aa0 | goto label_8;
| }
0x00008a44 move s4, zero | s4 = 0;
0x00008a48 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00008a4c lw t9, -0x7fd4(gp) | t9 = sym.product_conf_parse_json;
0x00008a50 addiu a1, sp, 0x20 | a1 = sp + 0x20;
| /* str._usr_share_audiocontrol_devices.json */
0x00008a54 addiu a0, a0, -0x270 | a0 += -aav.0x00000270;
0x00008a58 jalr t9 | t9 ();
0x00008a5c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00008a60 bnez v0, 0x8cac | goto label_9;
| }
0x00008a64 addiu v0, zero, 1 | v0 = 1;
| label_0:
0x00008a68 lw a0, 0xac(sp) | a0 = *(var_ach);
0x00008a6c lw v1, (s7) | v1 = *(s7);
0x00008a70 lw ra, 0xd4(sp) | ra = *(var_d4h);
| if (a0 != v1) {
0x00008a74 bne a0, v1, 0x9048 | goto label_10;
| }
0x00008a78 lw s7, 0xd0(sp) | s7 = *(var_d0h);
0x00008a7c lw s6, 0xcc(sp) | s6 = *(var_cch);
0x00008a80 lw s5, 0xc8(sp) | s5 = *(var_c8h);
0x00008a84 lw s4, 0xc4(sp) | s4 = *(var_c4h);
0x00008a88 lw s3, 0xc0(sp) | s3 = *(var_c0h);
0x00008a8c lw s2, 0xbc(sp) | s2 = *(var_bch);
0x00008a90 lw s1, 0xb8(sp) | s1 = *(var_b8h);
0x00008a94 lw s0, 0xb4(sp) | s0 = *(var_b4h);
0x00008a98 addiu sp, sp, 0xd8 |
0x00008a9c jr ra | return v0;
| do {
| label_8:
0x00008aa0 lw t9, -0x7fd0(gp) | t9 = sym.cards_populate_card_types;
0x00008aa4 bal 0xab10 | sym_cards_populate_card_types ();
0x00008aa8 nop |
0x00008aac lw gp, 0x18(sp) | gp = *(var_18h);
0x00008ab0 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x00008ab4 lw t9, -0x78fc(gp) | t9 = sym.imp.sd_bus_open_system
0x00008ab8 jalr t9 | t9 ();
0x00008abc nop |
0x00008ac0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008ac4 bltz v0, 0x8dd8 | goto label_11;
| }
0x00008ac8 lw s1, -0x7fcc(gp) | s1 = *(gp);
0x00008acc lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x00008ad0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008ad4 lw t9, -0x78bc(gp) | t9 = sym.imp.sd_bus_add_object_manager;
0x00008ad8 lw a0, (s1) | a0 = *(s1);
| /* str._com_axis_AudioControl_Device */
0x00008adc addiu a2, a2, -0x178 | a2 += -aav.0x00000178;
0x00008ae0 addiu a1, s2, -0x3538 | a1 = s2 + -0x3538;
0x00008ae4 jalr t9 | t9 ();
0x00008ae8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008aec bltz v0, 0x8cf8 | goto label_12;
| }
0x00008af0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008af4 lw t9, -0x78bc(gp) | t9 = sym.imp.sd_bus_add_object_manager;
0x00008af8 lw a0, (s1) | a0 = *(s1);
| /* str._com_axis_AudioControl */
0x00008afc addiu a2, a2, -0x1808 | a2 += -0x1808;
0x00008b00 addiu a1, s2, -0x3538 | a1 = s2 + -0x3538;
0x00008b04 jalr t9 | t9 ();
0x00008b08 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008b0c bltz v0, 0x8cf8 | goto label_12;
| }
0x00008b10 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00008b14 lw t9, -0x78e4(gp) | t9 = sym.imp.sd_event_default;
0x00008b18 addiu a0, s3, -0x353c | a0 = s3 + -0x353c;
0x00008b1c jalr t9 | t9 ();
0x00008b20 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008b24 bltz v0, 0x8e90 | goto label_13;
| }
0x00008b28 lw t9, -0x770c(gp) | t9 = sym.imp.sigemptyset;
0x00008b2c addiu s5, sp, 0x2c | s5 = sp + 0x2c;
0x00008b30 move a0, s5 | a0 = s5;
0x00008b34 jalr t9 | t9 ();
0x00008b38 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008b3c bltz v0, 0x8ec8 | goto label_14;
| }
0x00008b40 lw t9, -0x79d4(gp) | t9 = sym.imp.sigaddset;
0x00008b44 addiu a1, zero, 0xf | a1 = 0xf;
0x00008b48 move a0, s5 | a0 = s5;
0x00008b4c jalr t9 | t9 ();
0x00008b50 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008b54 bltz v0, 0x8ec8 | goto label_14;
| }
0x00008b58 lw t9, -0x79d4(gp) | t9 = sym.imp.sigaddset;
0x00008b5c addiu a1, zero, 2 | a1 = 2;
0x00008b60 move a0, s5 | a0 = s5;
0x00008b64 jalr t9 | t9 ();
0x00008b68 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008b6c bltz v0, 0x8ec8 | goto label_14;
| }
0x00008b70 lw t9, -0x7998(gp) | t9 = sym.imp.sigprocmask;
0x00008b74 move a2, zero | a2 = 0;
0x00008b78 move a1, s5 | a1 = s5;
0x00008b7c addiu a0, zero, 1 | a0 = 1;
0x00008b80 jalr t9 | t9 ();
0x00008b84 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008b88 bltz v0, 0x8ef8 | goto label_15;
| }
0x00008b8c lw t9, -0x7a78(gp) | t9 = sym.imp.sd_event_add_signal;
0x00008b90 lw a0, -0x353c(s3) | a0 = *((s3 - 3407));
0x00008b94 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00008b98 move a3, zero | a3 = 0;
0x00008b9c addiu a2, zero, 0xf | a2 = 0xf;
0x00008ba0 move a1, zero | a1 = 0;
0x00008ba4 jalr t9 | t9 ();
0x00008ba8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008bac bltz v0, 0x8f18 | goto label_16;
| }
0x00008bb0 lw t9, -0x7a78(gp) | t9 = sym.imp.sd_event_add_signal;
0x00008bb4 lw a0, -0x353c(s3) | a0 = *((s3 - 3407));
0x00008bb8 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00008bbc move a3, zero | a3 = 0;
0x00008bc0 addiu a2, zero, 2 | a2 = 2;
0x00008bc4 move a1, zero | a1 = 0;
0x00008bc8 jalr t9 | t9 ();
0x00008bcc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008bd0 bltz v0, 0x8f38 | goto label_17;
| }
0x00008bd4 lw t9, -0x79bc(gp) | t9 = sym.imp.sd_bus_attach_event;
0x00008bd8 lw a1, -0x353c(s3) | a1 = *((s3 - 3407));
0x00008bdc lw a0, (s1) | a0 = *(s1);
0x00008be0 move a2, zero | a2 = 0;
0x00008be4 jalr t9 | t9 ();
0x00008be8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008bec bltz v0, 0x8f58 | goto label_18;
| }
0x00008bf0 lw t9, -0x7fc8(gp) | t9 = sym.cards_get_internal_card_names;
0x00008bf4 addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x00008bf8 bal 0x9ec0 | sym_cards_get_internal_card_names ();
0x00008bfc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008c00 beqz v0, 0x8d2c | goto label_2;
| }
0x00008c04 lw t9, -0x7fc4(gp) | t9 = sym.internal_device_setup;
0x00008c08 lw a1, -0x353c(s3) | a1 = *((s3 - 3407));
0x00008c0c lw a0, -0x3538(s2) | a0 = *((s2 - 3406));
0x00008c10 bal 0xa0b4 | sym_internal_device_setup ();
0x00008c14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00008c18 blez v0, 0x9028 | goto label_19;
| }
| label_7:
0x00008c1c lw t9, -0x7fc0(gp) | t9 = sym.internal_device_setup_dbus_api;
0x00008c20 lw a0, -0x3538(s2) | a0 = *((s2 - 3406));
0x00008c24 move a1, s4 | a1 = s4;
0x00008c28 bal 0xa7a0 | sym_internal_device_setup_dbus_api ();
0x00008c2c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008c30 bltz v0, 0x9008 | goto label_20;
| }
| label_6:
0x00008c34 lw t9, -0x7fbc(gp) | t9 = sym.settings_dbus_add_interface;
| if (s0 != 0) {
0x00008c38 bnez s0, 0x8f9c | goto label_21;
| }
| label_5:
0x00008c3c lw t9, -0x7fb8(gp) | t9 = sym.external_dbus_add_interface;
0x00008c40 lw a0, (s1) | a0 = *(s1);
0x00008c44 jalr t9 | t9 ();
0x00008c48 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008c4c beqz v0, 0x8f7c | goto label_22;
| }
| label_4:
0x00008c50 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00008c54 lw t9, -0x79c0(gp) | t9 = sym.imp.sd_bus_request_name;
0x00008c58 lw a0, (s1) | a0 = *(s1);
0x00008c5c move a2, zero | a2 = 0;
0x00008c60 move a3, zero | a3 = 0;
| /* str.com.axis.AudioControl */
0x00008c64 addiu a1, a1, -0x15e0 | a1 += -0x15e0;
0x00008c68 jalr t9 | t9 ();
0x00008c6c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00008c70 bltz v0, 0x8fd4 | goto label_23;
| }
0x00008c74 lw t9, -0x7834(gp) | t9 = sym.imp.sd_event_loop;
0x00008c78 lw a0, -0x353c(s3) | a0 = *((s3 - 3407));
0x00008c7c jalr t9 | t9 ();
0x00008c80 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x00008c84 bgez v0, 0x8d2c | goto label_2;
| }
0x00008c88 lw t9, -0x7740(gp) | t9 = sym.imp.strerror;
0x00008c8c negu a0, v0 | __asm ("negu a0, v0");
0x00008c90 jalr t9 | t9 ();
0x00008c94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008c98 move a3, v0 | a3 = v0;
0x00008c9c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008ca0 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Event_loop_failed:__s */
0x00008ca4 addiu a2, a2, 0x54 | a2 += 0x54;
0x00008ca8 b 0x8eb0 | goto label_3;
| label_9:
0x00008cac lw t9, -0x7fb4(gp) | t9 = sym.device_capability_map_from_product_conf;
0x00008cb0 lw a0, 0x20(sp) | a0 = *(var_20h);
0x00008cb4 bal 0x11f1c | sym_device_capability_map_from_product_conf ();
0x00008cb8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008cbc lw t9, -0x7fb0(gp) | t9 = sym.device_settings_file_exists;
0x00008cc0 move s4, v0 | s4 = v0;
0x00008cc4 bal 0xd9e0 | sym_device_settings_file_exists ();
0x00008cc8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008ccc beqz v0, 0x8e18 | goto label_24;
| }
0x00008cd0 lw t9, -0x7fac(gp) | t9 = sym.device_settings_load;
0x00008cd4 addiu a0, sp, 0x24 | a0 = sp + 0x24;
0x00008cd8 bal 0xd8d4 | sym_device_settings_load ();
0x00008cdc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008ce0 beqz v0, 0x8ee8 | goto label_25;
| }
| label_1:
0x00008ce4 lw t9, -0x7fa8(gp) | t9 = sym.cards_set_device_settings;
0x00008ce8 lw a0, 0x24(sp) | a0 = *(var_24h);
0x00008cec bal 0xad20 | sym_cards_set_device_settings ();
0x00008cf0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008cf4 b 0x8aa0 |
| } while (1);
| label_12:
0x00008cf8 lw t9, -0x7740(gp) | t9 = sym.imp.strerror;
0x00008cfc negu a0, v0 | __asm ("negu a0, v0");
0x00008d00 jalr t9 | t9 ();
0x00008d04 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d08 move a3, v0 | a3 = v0;
0x00008d0c addiu a1, zero, 1 | a1 = 1;
0x00008d10 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008d14 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_add_object_manager:__s */
0x00008d18 addiu a2, a2, -0x158 | a2 += -aav.0x00000158;
0x00008d1c addiu a0, zero, 3 | a0 = 3;
0x00008d20 jalr t9 | t9 ();
0x00008d24 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d28 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
| do {
| label_2:
0x00008d2c lw t9, -0x7fa4(gp) | t9 = sym.external_dbus_remove_interface;
0x00008d30 jalr t9 | t9 ();
0x00008d34 nop |
0x00008d38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d3c lw t9, -0x7714(gp) | t9 = sym.imp.sd_bus_slot_unref;
0x00008d40 lw a0, -0x3538(s2) | a0 = *((s2 - 3406));
0x00008d44 jalr t9 | t9 ();
0x00008d48 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d4c lw a0, -0x353c(s3) | a0 = *((s3 - 3407));
0x00008d50 lw t9, -0x7a90(gp) | t9 = sym.imp.sd_event_unref;
0x00008d54 sw v0, -0x3538(s2) | *((s2 - 3406)) = v0;
0x00008d58 jalr t9 | t9 ();
0x00008d5c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d60 lw a0, (s1) | a0 = *(s1);
0x00008d64 lw t9, -0x7948(gp) | t9 = sym.imp.sd_bus_unref;
0x00008d68 sw v0, -0x353c(s3) | *((s3 - 3407)) = v0;
0x00008d6c jalr t9 | t9 ();
0x00008d70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d74 lw t9, -0x7fa0(gp) | t9 = sym.internal_device_cleanup;
0x00008d78 sw v0, (s1) | *(s1) = v0;
0x00008d7c bal 0xa84c | sym_internal_device_cleanup ();
0x00008d80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d84 lw t9, -0x7f9c(gp) | t9 = sym.device_capability_free_devices;
0x00008d88 move a0, s4 | a0 = s4;
0x00008d8c bal 0x11e40 | sym_device_capability_free_devices ();
0x00008d90 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d94 lw t9, -0x7f98(gp) | t9 = sym.cards_free_card_names;
0x00008d98 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00008d9c bal 0xa04c | sym_cards_free_card_names ();
0x00008da0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008da4 lw t9, -0x7f94(gp) | t9 = sym.cards_free_card_types;
0x00008da8 bal 0xaaf4 | sym_cards_free_card_types ();
0x00008dac nop |
0x00008db0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008db4 addiu a1, zero, 1 | a1 = 1;
0x00008db8 addiu a0, zero, 6 | a0 = 6;
0x00008dbc lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008dc0 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Terminating */
0x00008dc4 addiu a2, a2, 0x6c | a2 += 0x6c;
0x00008dc8 jalr t9 | t9 ();
0x00008dcc lw gp, 0x18(sp) | gp = *(var_18h);
0x00008dd0 move v0, zero | v0 = 0;
0x00008dd4 b 0x8a68 | goto label_0;
| label_11:
0x00008dd8 lw t9, -0x7740(gp) | t9 = sym.imp.strerror;
0x00008ddc negu a0, v0 | __asm ("negu a0, v0");
0x00008de0 jalr t9 | t9 ();
0x00008de4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008de8 move a3, v0 | a3 = v0;
0x00008dec addiu a1, zero, 1 | a1 = 1;
0x00008df0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008df4 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_connect_to_system_bus:__s */
0x00008df8 addiu a2, a2, -0x19c | a2 += -aav.0x0000019c;
0x00008dfc addiu a0, zero, 3 | a0 = 3;
0x00008e00 jalr t9 | t9 ();
0x00008e04 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008e08 lw s1, -0x7fcc(gp) | s1 = *(gp);
0x00008e0c lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x00008e10 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00008e14 b 0x8d2c |
| } while (1);
| label_24:
0x00008e18 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00008e1c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008e20 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str._etc_audiocontrol_device_settings.json */
0x00008e24 addiu a3, a3, -0x1054 | a3 += -0x1054;
| /* str.Didnt_find__s_assuming_first_time_setup_or_factory_reset */
0x00008e28 addiu a2, a2, -0x210 | a2 += -aav.0x00000210;
0x00008e2c addiu a1, zero, 1 | a1 = 1;
0x00008e30 addiu a0, zero, 6 | a0 = 6;
0x00008e34 jalr t9 | t9 ();
0x00008e38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008e3c lw t9, -0x7f90(gp) | t9 = sym.device_settings_map_from_product_conf;
0x00008e40 lw a0, 0x20(sp) | a0 = *(var_20h);
0x00008e44 bal 0xdf84 | sym_device_settings_map_from_product_conf ();
0x00008e48 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008e4c move a0, v0 | a0 = v0;
0x00008e50 lw t9, -0x7f8c(gp) | t9 = sym.device_settings_save;
0x00008e54 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00008e58 bal 0xd7ec | sym_device_settings_save ();
0x00008e5c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00008e60 bnez v0, 0x8ce4 | goto label_1;
| }
0x00008e64 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008e68 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_create__etc_audiocontrol_device_settings.json */
0x00008e6c addiu a2, a2, -0x1d4 | a2 += -aav.0x000001d4;
| do {
0x00008e70 addiu a1, zero, 1 | a1 = 1;
0x00008e74 addiu a0, zero, 3 | a0 = 3;
0x00008e78 jalr t9 | t9 ();
0x00008e7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008e80 lw s1, -0x7fcc(gp) | s1 = *(gp);
0x00008e84 lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x00008e88 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00008e8c b 0x8d2c | goto label_2;
| label_13:
0x00008e90 lw t9, -0x7740(gp) | t9 = sym.imp.strerror;
0x00008e94 negu a0, v0 | __asm ("negu a0, v0");
0x00008e98 jalr t9 | t9 ();
0x00008e9c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008ea0 move a3, v0 | a3 = v0;
0x00008ea4 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008ea8 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_allocate_event_loop:__s */
0x00008eac addiu a2, a2, -0x134 | a2 += -aav.0x00000134;
| label_3:
0x00008eb0 addiu a1, zero, 1 | a1 = 1;
0x00008eb4 addiu a0, zero, 3 | a0 = 3;
0x00008eb8 jalr t9 | t9 ();
0x00008ebc lw gp, 0x18(sp) | gp = *(var_18h);
0x00008ec0 addiu v0, zero, 1 | v0 = 1;
0x00008ec4 b 0x8a68 | goto label_0;
| label_14:
0x00008ec8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008ecc lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_add_signals_to_signal_set */
0x00008ed0 addiu a2, a2, -0x110 | a2 += -aav.0x00000110;
0x00008ed4 addiu a1, zero, 1 | a1 = 1;
0x00008ed8 addiu a0, zero, 3 | a0 = 3;
0x00008edc jalr t9 | t9 ();
0x00008ee0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008ee4 b 0x8d2c | goto label_2;
| label_25:
0x00008ee8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008eec lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_load__etc_audiocontrol_device_settings.json */
0x00008ef0 addiu a2, a2, -0x248 | a2 += -0x248;
0x00008ef4 b 0x8e70 |
| } while (1);
| label_15:
0x00008ef8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008efc lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_block_signals */
0x00008f00 addiu a2, a2, -0xec | a2 += -0xec;
0x00008f04 addiu a1, zero, 1 | a1 = 1;
0x00008f08 addiu a0, zero, 3 | a0 = 3;
0x00008f0c jalr t9 | t9 ();
0x00008f10 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f14 b 0x8d2c | goto label_2;
| label_16:
0x00008f18 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008f1c lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_add_SIGTERM_event_to_event_loop */
0x00008f20 addiu a2, a2, -0xd4 | a2 += -0xd4;
0x00008f24 addiu a1, zero, 1 | a1 = 1;
0x00008f28 addiu a0, zero, 3 | a0 = 3;
0x00008f2c jalr t9 | t9 ();
0x00008f30 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f34 b 0x8d2c | goto label_2;
| label_17:
0x00008f38 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008f3c lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_add_SIGINT_event_to_event_loop */
0x00008f40 addiu a2, a2, -0xa8 | a2 += -0xa8;
0x00008f44 addiu a1, zero, 1 | a1 = 1;
0x00008f48 addiu a0, zero, 3 | a0 = 3;
0x00008f4c jalr t9 | t9 ();
0x00008f50 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f54 b 0x8d2c | goto label_2;
| label_18:
0x00008f58 lw t9, -0x7740(gp) | t9 = sym.imp.strerror;
0x00008f5c negu a0, v0 | __asm ("negu a0, v0");
0x00008f60 jalr t9 | t9 ();
0x00008f64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f68 move a3, v0 | a3 = v0;
0x00008f6c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008f70 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_attach_event_to_bus:__s */
0x00008f74 addiu a2, a2, -0x7c | a2 += -0x7c;
0x00008f78 b 0x8eb0 | goto label_3;
| label_22:
0x00008f7c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008f80 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.No_external_devices_can_be_added. */
0x00008f84 addiu a2, a2, 0xc | a2 += 0xc;
0x00008f88 addiu a1, zero, 1 | a1 = 1;
0x00008f8c addiu a0, zero, 6 | a0 = 6;
0x00008f90 jalr t9 | t9 ();
0x00008f94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f98 b 0x8c50 | goto label_4;
| label_21:
0x00008f9c lw a2, 0x24(sp) | a2 = *(var_24h);
0x00008fa0 lw a0, (s1) | a0 = *(s1);
0x00008fa4 addiu a1, s2, -0x3538 | a1 = s2 + -0x3538;
0x00008fa8 jalr t9 | t9 ();
0x00008fac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00008fb0 bnez v0, 0x8c3c | goto label_5;
| }
0x00008fb4 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008fb8 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_setup_DBus_for_DeviceSettings */
0x00008fbc addiu a2, a2, -0x1c | a2 += -0x1c;
0x00008fc0 addiu a1, zero, 1 | a1 = 1;
0x00008fc4 addiu a0, zero, 3 | a0 = 3;
0x00008fc8 jalr t9 | t9 ();
0x00008fcc lw gp, 0x18(sp) | gp = *(var_18h);
0x00008fd0 b 0x8c3c | goto label_5;
| label_23:
0x00008fd4 lw t9, -0x7740(gp) | t9 = sym.imp.strerror;
0x00008fd8 negu a0, v0 | __asm ("negu a0, v0");
0x00008fdc jalr t9 | t9 ();
0x00008fe0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008fe4 move a3, v0 | a3 = v0;
0x00008fe8 addiu a1, zero, 1 | a1 = 1;
0x00008fec lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008ff0 lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_acquire_service_name:__s */
0x00008ff4 addiu a2, a2, 0x30 | a2 += 0x30;
0x00008ff8 addiu a0, zero, 3 | a0 = 3;
0x00008ffc jalr t9 | t9 ();
0x00009000 nop |
0x00009004 sll s2, zero, 0 | s2 = 0;
| label_20:
0x00009008 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0000900c lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_setup_DBus_API. */
0x00009010 addiu a2, a2, -0x38 | a2 += -0x38;
0x00009014 addiu a1, zero, 1 | a1 = 1;
0x00009018 addiu a0, zero, 6 | a0 = 6;
0x0000901c jalr t9 | t9 ();
0x00009020 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009024 b 0x8c34 | goto label_6;
| label_19:
0x00009028 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0000902c lw t9, -0x7954(gp) | t9 = sym.imp.__syslog_chk;
| /* str.No_built_in_devices_are_set_up. */
0x00009030 addiu a2, a2, -0x58 | a2 += -0x58;
0x00009034 addiu a1, zero, 1 | a1 = 1;
0x00009038 addiu a0, zero, 6 | a0 = 6;
0x0000903c jalr t9 | t9 ();
0x00009040 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009044 b 0x8c1c | goto label_7;
| label_10:
0x00009048 lw t9, -0x79a8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000904c jalr t9 | t9 ();
0x00009050 nop |
0x00009054 nop |
0x00009058 nop |
0x0000905c nop |
| }
[*] Function system used 3 times audiocontrol