[*] Binary protection state of overlayd
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of overlayd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/overlayd @ 0x15e9c */
| #include <stdint.h>
|
; (fcn) sym.overlay_frontend_change_owner () | void overlay_frontend_change_owner () {
0x00015e9c lui gp, 7 |
0x00015ea0 addiu gp, gp, -0xe7c |
0x00015ea4 addu gp, gp, t9 | gp += t9;
0x00015ea8 addiu sp, sp, -0x38 |
0x00015eac sw gp, 0x18(sp) | *(var_18h) = gp;
0x00015eb0 sw s4, 0x30(sp) | *(var_30h) = s4;
0x00015eb4 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00015eb8 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00015ebc sw s2, 0x28(sp) | *(var_28h) = s2;
0x00015ec0 sw s1, 0x24(sp) | *(var_24h) = s1;
0x00015ec4 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00015ec8 move s3, a0 | s3 = a0;
0x00015ecc move s4, a1 | s4 = a1;
| if (a2 != 0) {
0x00015ed0 beqz a2, 0x15f44 |
0x00015ed4 move s0, a3 | s0 = a3;
| if (a3 == 0) {
0x00015ed8 beqz a3, 0x15f44 | goto label_0;
| }
0x00015edc lw t9, -0x7e20(gp) | t9 = sym.overlay_dbus_lookup_overlay_info;
0x00015ee0 move a0, a2 | a0 = a2;
0x00015ee4 move s1, a2 | s1 = a2;
0x00015ee8 bal 0x1eb80 | sym_overlay_dbus_lookup_overlay_info ();
0x00015eec move s2, v0 | s2 = v0;
0x00015ef0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00015ef4 beqz v0, 0x15f9c | goto label_1;
| }
0x00015ef8 lw t9, -0x775c(gp) | t9 = sym.imp.__strcpy_chk
0x00015efc addiu a2, zero, 0x1000 | a2 = 0x1000;
0x00015f00 move a1, s0 | a1 = s0;
0x00015f04 addiu a0, v0, 0x20 | a0 = v0 + 0x20;
0x00015f08 jalr t9 | t9 ();
0x00015f0c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015f10 lw a0, 0x18(s2) | a0 = *((s2 + 6));
0x00015f14 lw t9, -0x7ddc(gp) | t9 = sym.overlay_dbus_set_owner;
0x00015f18 move a1, s0 | a1 = s0;
0x00015f1c bal 0x1f1bc | sym_overlay_dbus_set_owner ();
0x00015f20 lw ra, 0x34(sp) | ra = *(var_34h);
0x00015f24 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00015f28 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00015f2c lw s2, 0x28(sp) | s2 = *(var_28h);
0x00015f30 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00015f34 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00015f38 addiu v0, zero, 1 | v0 = 1;
0x00015f3c addiu sp, sp, 0x38 |
0x00015f40 jr ra | return v0;
| }
| label_0:
0x00015f44 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x00015f48 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
| /* str.No_overlay_handle_or_owner_provided */
0x00015f4c addiu a2, s0, 0x6730 | a2 = s0 + 0x6730;
0x00015f50 addiu a1, zero, 1 | a1 = 1;
0x00015f54 addiu a0, zero, 3 | a0 = 3;
0x00015f58 jalr t9 | t9 ();
0x00015f5c lw gp, 0x18(sp) | gp = *(var_18h);
| /* str.No_overlay_handle_or_owner_provided */
0x00015f60 addiu a3, s0, 0x6730 | a3 = s0 + 0x6730;
0x00015f64 move a1, s4 | a1 = s4;
0x00015f68 lw t9, -0x7930(gp) | t9 = sym.imp.g_dbus_method_invocation_return_error;
0x00015f6c move a0, s3 | a0 = s3;
0x00015f70 addiu a2, zero, 2 | a2 = 2;
0x00015f74 jalr t9 | t9 ();
0x00015f78 lw ra, 0x34(sp) | ra = *(var_34h);
0x00015f7c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00015f80 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00015f84 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00015f88 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00015f8c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00015f90 move v0, zero | v0 = 0;
0x00015f94 addiu sp, sp, 0x38 |
0x00015f98 jr ra | return v0;
| label_1:
0x00015f9c lw s0, -0x7fd4(gp) | s0 = *(gp);
0x00015fa0 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
0x00015fa4 move a3, s1 | a3 = s1;
| /* str.Invalid_overlay_handle:__s */
0x00015fa8 addiu a2, s0, 0x64e8 | a2 = s0 + 0x64e8;
0x00015fac addiu a1, zero, 1 | a1 = 1;
0x00015fb0 addiu a0, zero, 3 | a0 = 3;
0x00015fb4 jalr t9 | t9 ();
0x00015fb8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015fbc sw s1, 0x10(sp) | *(var_10h_2) = s1;
| /* str.Invalid_overlay_handle:__s */
0x00015fc0 addiu a3, s0, 0x64e8 | a3 = s0 + 0x64e8;
0x00015fc4 lw t9, -0x7930(gp) | t9 = sym.imp.g_dbus_method_invocation_return_error;
0x00015fc8 move a1, s4 | a1 = s4;
0x00015fcc move a0, s3 | a0 = s3;
0x00015fd0 addiu a2, zero, 2 | a2 = 2;
0x00015fd4 jalr t9 | t9 ();
0x00015fd8 lw ra, 0x34(sp) | ra = *(var_34h);
0x00015fdc lw s4, 0x30(sp) | s4 = *(var_30h);
0x00015fe0 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00015fe4 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00015fe8 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00015fec lw s0, 0x20(sp) | s0 = *(var_20h);
0x00015ff0 move v0, zero | v0 = 0;
0x00015ff4 addiu sp, sp, 0x38 |
0x00015ff8 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/overlayd @ 0x162d0 */
| #include <stdint.h>
|
; (fcn) sym.overlay_frontend_create () | void overlay_frontend_create () {
0x000162d0 lui gp, 7 |
0x000162d4 addiu gp, gp, -0x12b0 |
0x000162d8 addu gp, gp, t9 | gp += t9;
0x000162dc addiu sp, sp, -0x70 |
0x000162e0 lw t9, -0x7f14(gp) | t9 = sym.overlay_backend_is_external_chip;
0x000162e4 sw s5, 0x5c(sp) | *(var_5ch) = s5;
0x000162e8 lw s5, -0x773c(gp) | s5 = *((gp - 7631));
0x000162ec sw gp, 0x20(sp) | *(var_20h) = gp;
0x000162f0 sw s6, 0x60(sp) | *(var_60h) = s6;
0x000162f4 lw v0, (s5) | v0 = *(s5);
0x000162f8 sw s4, 0x58(sp) | *(var_58h) = s4;
0x000162fc sw s3, 0x54(sp) | *(var_54h) = s3;
0x00016300 sw s2, 0x50(sp) | *(var_50h) = s2;
0x00016304 sw s1, 0x4c(sp) | *(var_4ch) = s1;
0x00016308 sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x0001630c sw fp, 0x68(sp) | *(var_68h) = fp;
0x00016310 sw s7, 0x64(sp) | *(var_64h) = s7;
0x00016314 sw s0, 0x48(sp) | *(var_48h) = s0;
0x00016318 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0001631c move s3, a0 | s3 = a0;
0x00016320 move s6, a1 | s6 = a1;
0x00016324 move s1, a2 | s1 = a2;
0x00016328 move s4, a3 | s4 = a3;
0x0001632c lw s2, 0x80(sp) | s2 = *(arg_80h);
0x00016330 bal 0x1d6fc | sym_overlay_backend_is_external_chip ();
0x00016334 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00016338 bnez v0, 0x168b4 | goto label_21;
| }
| label_7:
0x0001633c lw a1, -0x7fd4(gp) | a1 = *(gp);
0x00016340 lw t9, -0x7810(gp) | t9 = sym.imp.g_hash_table_lookup;
| /* str.Camera */
0x00016344 addiu a1, a1, 0x54b4 | a1 += 0x54b4;
0x00016348 move a0, s1 | a0 = s1;
0x0001634c jalr t9 | t9 ();
0x00016350 move s7, v0 | s7 = v0;
0x00016354 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00016358 beqz v0, 0x169ec | goto label_22;
| }
0x0001635c lw a1, -0x7fd4(gp) | a1 = *(gp);
0x00016360 lw t9, -0x790c(gp) | t9 = sym.imp.strcmp;
| /* str.quad */
0x00016364 addiu a1, a1, 0x6350 | a1 += 0x6350;
0x00016368 move a0, v0 | a0 = v0;
0x0001636c jalr t9 | t9 ();
0x00016370 move s0, v0 | s0 = v0;
0x00016374 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00016378 bnez v0, 0x1684c | goto label_23;
| }
| label_5:
0x0001637c lw s7, -0x7fd4(gp) | s7 = *(gp);
| label_14:
0x00016380 lw t9, -0x7810(gp) | t9 = sym.imp.g_hash_table_lookup;
| /* esilref: 'Stream' */
0x00016384 addiu a1, s7, 0x5f10 | a1 = s7 + 0x5f10;
0x00016388 move a0, s1 | a0 = s1;
0x0001638c jalr t9 | t9 ();
0x00016390 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00016394 beqz v0, 0x168ac | goto label_24;
| }
0x00016398 lw t9, -0x7604(gp) | t9 = sym.imp.strtol;
0x0001639c addiu a2, zero, 0xa | a2 = 0xa;
0x000163a0 move a1, zero | a1 = 0;
0x000163a4 move a0, v0 | a0 = v0;
0x000163a8 jalr t9 | t9 ();
0x000163ac lw gp, 0x20(sp) | gp = *(var_20h);
0x000163b0 move s7, v0 | s7 = v0;
| label_6:
0x000163b4 lw t9, -0x7f58(gp) | t9 = *(gp);
0x000163b8 move a1, s4 | a1 = s4;
| /* fcn.00013614 */
0x000163bc addiu t9, t9, 0x3614 | t9 += 0x3614;
0x000163c0 move a0, s1 | a0 = s1;
0x000163c4 bal 0x13614 | fcn_00013614 ();
0x000163c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000163cc move a1, s0 | a1 = s0;
0x000163d0 move a2, s7 | a2 = s7;
0x000163d4 lw t9, -0x7df4(gp) | t9 = sym.overlay_frontend_allocate_overlay_info;
0x000163d8 move a0, s4 | a0 = s4;
0x000163dc bal 0x14dd8 | sym_overlay_frontend_allocate_overlay_info ();
0x000163e0 move s0, v0 | s0 = v0;
0x000163e4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000163e8 beqz v0, 0x16b94 | goto label_25;
| }
0x000163ec lw t9, -0x7dc8(gp) | t9 = sym.overlay_frontend_get_calling_process;
| if (s3 == 0) {
0x000163f0 beqz s3, 0x1690c | goto label_26;
| }
0x000163f4 move a0, s3 | a0 = s3;
0x000163f8 bal 0x15ffc | sym_overlay_frontend_get_calling_process ();
0x000163fc move s7, v0 | s7 = v0;
0x00016400 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00016404 beqz v0, 0x16bb4 | goto label_27;
| }
0x00016408 lw t9, -0x775c(gp) | t9 = sym.imp.__strcpy_chk
| label_10:
0x0001640c addiu a2, zero, 0x1000 | a2 = 0x1000;
0x00016410 move a1, s7 | a1 = s7;
0x00016414 addiu a0, s0, 0x20 | a0 = s0 + 0x20;
0x00016418 jalr t9 | t9 ();
0x0001641c lw gp, 0x20(sp) | gp = *(var_20h);
| label_9:
0x00016420 lw t9, -0x7450(gp) | t9 = *((gp - 7444));
0x00016424 move a0, s7 | a0 = s7;
0x00016428 jalr t9 | t9 ();
0x0001642c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016430 andi v1, s2, 1 | v1 = s2 & 1;
0x00016434 andi v0, s2, 2 | v0 = s2 & 2;
0x00016438 lw a1, -0x7fd4(gp) | a1 = *(gp);
0x0001643c lw t9, -0x7810(gp) | t9 = sym.imp.g_hash_table_lookup;
0x00016440 andi s2, s2, 4 | s2 &= 4;
0x00016444 sw v1, 0x1020(s0) | *((s0 + 1032)) = v1;
0x00016448 sw v0, 0x1034(s0) | *((s0 + 1037)) = v0;
0x0001644c sw s2, 0x1024(s0) | *((s0 + 1033)) = s2;
| /* str.DestroyOnClose */
0x00016450 addiu a1, a1, 0x6448 | a1 += 0x6448;
0x00016454 move a0, s1 | a0 = s1;
0x00016458 jalr t9 | t9 ();
0x0001645c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00016460 beqz v0, 0x16930 | goto label_28;
| }
0x00016464 lw a1, -0x7fd4(gp) | a1 = *(gp);
0x00016468 lw t9, -0x790c(gp) | t9 = sym.imp.strcmp;
| /* str.true */
0x0001646c addiu a1, a1, 0x54d0 | a1 += 0x54d0;
0x00016470 move a0, v0 | a0 = v0;
0x00016474 jalr t9 | t9 ();
0x00016478 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001647c sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
| label_11:
0x00016480 lw s2, -0x7fd4(gp) | s2 = *(gp);
0x00016484 lw t9, -0x7810(gp) | t9 = sym.imp.g_hash_table_lookup;
0x00016488 sw v0, 0x1038(s0) | *((s0 + 1038)) = v0;
| /* str.Visible */
0x0001648c addiu a1, s2, 0x54c8 | a1 = s2 + 0x54c8;
0x00016490 move a0, s1 | a0 = s1;
0x00016494 jalr t9 | t9 ();
0x00016498 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001649c beqz v0, 0x16938 | goto label_29;
| }
0x000164a0 lw a1, -0x7fd4(gp) | a1 = *(gp);
0x000164a4 lw t9, -0x790c(gp) | t9 = sym.imp.strcmp;
| /* str.true */
0x000164a8 addiu a1, a1, 0x54d0 | a1 += 0x54d0;
0x000164ac move a0, v0 | a0 = v0;
0x000164b0 jalr t9 | t9 ();
0x000164b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000164b8 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
| label_12:
0x000164bc lw v1, 8(s0) | v1 = *((s0 + 2));
0x000164c0 lw s7, -0x7fdc(gp) | s7 = *((gp - 8183));
0x000164c4 sll v1, v1, 2 | v1 <<= 2;
0x000164c8 addiu s7, s7, -0x23c8 | s7 += -0x23c8;
0x000164cc sw v0, 0x1028(s0) | *((s0 + 1034)) = v0;
0x000164d0 lwx v1, v1(s7) | __asm ("lwx v1, v1(s7)");
0x000164d4 lw v0, 0x1024(s0) | v0 = *((s0 + 1033));
| if (v1 != 0) {
0x000164d8 bnez v1, 0x166dc | goto label_30;
| }
0x000164dc lw fp, 8(s0) | fp = *((s0 + 2));
| if (v0 == 0) {
0x000164e0 bnel v0, zero, 0x16748 | goto label_31;
| }
| do {
| label_8:
0x000164e4 lw t9, -0x7df0(gp) | t9 = sym.overlay_backend_add;
0x000164e8 move a1, s1 | a1 = s1;
0x000164ec move a0, s0 | a0 = s0;
0x000164f0 bal 0x1c940 | sym_overlay_backend_add ();
0x000164f4 move s2, v0 | s2 = v0;
0x000164f8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000164fc bltz v0, 0x16a78 | goto label_32;
| }
0x00016500 lw v0, 0x1020(s0) | v0 = *((s0 + 1032));
0x00016504 lw v1, 4(s0) | v1 = *((s0 + 1));
| if (v0 == 0) {
0x00016508 bnel v0, zero, 0x16808 | goto label_33;
| }
0x0001650c lw v0, 0x1c(s0) | v0 = *((s0 + 7));
| label_2:
0x00016510 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00016514 sw v0, 0x34(sp) | *(var_34h_2) = v0;
| label_3:
0x00016518 lw a0, -0x7fd4(gp) | a0 = *(gp);
0x0001651c lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
| /* esilref: 'Size' */
0x00016520 addiu a0, a0, 0x6240 | a0 += 0x6240;
0x00016524 jalr t9 | t9 ();
0x00016528 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001652c lw v1, 0x1c(s0) | v1 = *((s0 + 7));
0x00016530 lw a1, 0x34(sp) | a1 = *(var_34h_2);
0x00016534 lw a0, -0x7fd4(gp) | a0 = *(gp);
0x00016538 lw a2, 0x10(v1) | a2 = *((v1 + 4));
0x0001653c lw t9, -0x764c(gp) | t9 = sym.imp.g_strdup_printf;
| /* str._dx_d */
0x00016540 addiu a0, a0, 0x62b4 | a0 += 0x62b4;
0x00016544 move s2, v0 | s2 = v0;
0x00016548 jalr t9 | t9 ();
0x0001654c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016550 move a2, v0 | a2 = v0;
0x00016554 move a1, s2 | a1 = s2;
0x00016558 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x0001655c move a0, s1 | a0 = s1;
0x00016560 jalr t9 | t9 ();
0x00016564 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016568 lw t9, -0x7dec(gp) | t9 = sym.overlay_dbus_create_overlay_object;
0x0001656c lw a0, 0x10(s0) | a0 = *((s0 + 4));
0x00016570 bal 0x1e6b8 | sym_overlay_dbus_create_overlay_object ();
0x00016574 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016578 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
| if (v0 == 0) {
0x0001657c beqz v0, 0x16a10 | goto label_34;
| }
0x00016580 lw t9, -0x7de0(gp) | t9 = sym.overlay_dbus_set_overlay_id;
0x00016584 lw a1, 0x10(s0) | a1 = *((s0 + 4));
0x00016588 move a0, v0 | a0 = v0;
0x0001658c bal 0x1f164 | sym_overlay_dbus_set_overlay_id ();
0x00016590 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016594 addiu s2, s0, 0x20 | s2 = s0 + 0x20;
0x00016598 lw a0, 0x18(s0) | a0 = *((s0 + 6));
0x0001659c lw t9, -0x7ddc(gp) | t9 = sym.overlay_dbus_set_owner;
0x000165a0 move a1, s2 | a1 = s2;
0x000165a4 bal 0x1f1bc | sym_overlay_dbus_set_owner ();
0x000165a8 lw v0, 8(s0) | v0 = *((s0 + 2));
0x000165ac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000165b0 beqz v0, 0x16830 | goto label_35;
| }
0x000165b4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000165b8 lw v0, -0x7fd4(gp) | v0 = *(gp);
0x000165bc lw t9, -0x78a8(gp) | t9 = sym.imp.__snprintf_chk;
0x000165c0 addiu s6, sp, 0x3c | s6 = sp + 0x3c;
| /* esilref: '&d' */
0x000165c4 addiu v0, v0, 0x62f8 | v0 += 0x62f8;
0x000165c8 addiu a3, zero, 8 | a3 = 8;
0x000165cc addiu a2, zero, 1 | a2 = 1;
0x000165d0 addiu a1, zero, 8 | a1 = 8;
0x000165d4 move a0, s6 | a0 = s6;
0x000165d8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000165dc jalr t9 | t9 ();
0x000165e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000165e4 lw a0, 0x18(s0) | a0 = *((s0 + 6));
0x000165e8 lw t9, -0x7de8(gp) | t9 = sym.overlay_dbus_set_camera;
0x000165ec move a1, s6 | a1 = s6;
0x000165f0 bal 0x1f214 | sym_overlay_dbus_set_camera ();
0x000165f4 lw gp, 0x20(sp) | gp = *(var_20h);
| label_4:
0x000165f8 lw t9, -0x7f58(gp) | t9 = *(gp);
0x000165fc lw a0, 4(s0) | a0 = *((s0 + 1));
| /* fcn.00013d30 */
0x00016600 addiu t9, t9, 0x3d30 | t9 += 0x3d30;
0x00016604 addiu a1, s0, 0x18 | a1 = s0 + 0x18;
0x00016608 bal 0x13d30 | fcn_00013d30 ();
0x0001660c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016610 lw a1, 0xc(s0) | a1 = *((s0 + 3));
0x00016614 lw t9, -0x7de4(gp) | t9 = sym.overlay_dbus_set_stream;
0x00016618 lw a0, 0x18(s0) | a0 = *((s0 + 6));
0x0001661c bal 0x1f2c4 | sym_overlay_dbus_set_stream ();
0x00016620 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016624 addiu a3, zero, 1 | a3 = 1;
0x00016628 move a2, s4 | a2 = s4;
0x0001662c lw t9, -0x7f58(gp) | t9 = *(gp);
0x00016630 move a1, s0 | a1 = s0;
| /* fcn.00012f10 */
0x00016634 addiu t9, t9, 0x2f10 | t9 += 0x2f10;
0x00016638 move a0, s1 | a0 = s1;
0x0001663c bal 0x12f10 | fcn_00012f10 ();
0x00016640 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016644 move a1, s0 | a1 = s0;
0x00016648 lw t9, -0x7f58(gp) | t9 = *(gp);
| /* fcn.000142d8 */
0x0001664c addiu t9, t9, 0x42d8 | t9 += 0x42d8;
0x00016650 move a0, s1 | a0 = s1;
0x00016654 bal 0x142d8 | fcn_000142d8 ();
0x00016658 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001665c lw t9, -0x7dd4(gp) | t9 = sym.overlay_dbus_add_overlay_info;
0x00016660 move a0, s0 | a0 = s0;
0x00016664 bal 0x1ea10 | sym_overlay_dbus_add_overlay_info ();
0x00016668 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001666c lw t9, -0x7dd8(gp) | t9 = sym.overlay_dbus_export_overlay_object;
0x00016670 lw a0, 0x18(s0) | a0 = *((s0 + 6));
0x00016674 bal 0x1e8c0 | sym_overlay_dbus_export_overlay_object ();
0x00016678 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 != 0) {
0x0001667c beqz s3, 0x1669c |
0x00016680 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x00016684 lw t9, -0x77dc(gp) | t9 = sym.imp.g_hash_table_contains;
0x00016688 move a1, s2 | a1 = s2;
0x0001668c lw a0, -0x23cc(s1) | a0 = *((s1 - 2291));
0x00016690 jalr t9 | t9 ();
0x00016694 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00016698 beqz v0, 0x16940 | goto label_36;
| }
| }
| label_13:
0x0001669c lw v0, 0x18(s0) | v0 = *((s0 + 6));
| label_15:
0x000166a0 lw a0, 0x44(sp) | a0 = *(var_44h);
0x000166a4 lw v1, (s5) | v1 = *(s5);
0x000166a8 lw ra, 0x6c(sp) | ra = *(var_6ch);
| if (a0 != v1) {
0x000166ac bne a0, v1, 0x16be0 | goto label_37;
| }
0x000166b0 lw fp, 0x68(sp) | fp = *(var_68h);
0x000166b4 lw s7, 0x64(sp) | s7 = *(var_64h);
0x000166b8 lw s6, 0x60(sp) | s6 = *(var_60h);
0x000166bc lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x000166c0 lw s4, 0x58(sp) | s4 = *(var_58h);
0x000166c4 lw s3, 0x54(sp) | s3 = *(var_54h);
0x000166c8 lw s2, 0x50(sp) | s2 = *(var_50h);
0x000166cc lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x000166d0 lw s0, 0x48(sp) | s0 = *(var_48h);
0x000166d4 addiu sp, sp, 0x70 |
0x000166d8 jr ra | return v0;
| label_30:
0x000166dc lw a2, -0x7fd4(gp) | a2 = *(gp);
| if (v0 != 0) {
0x000166e0 bnez v0, 0x16b54 | goto label_38;
| }
0x000166e4 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Prioritized_mode__overlay_added_but_not_shown */
0x000166e8 addiu a2, a2, 0x6908 | a2 += 0x6908;
0x000166ec addiu a1, zero, 1 | a1 = 1;
0x000166f0 addiu a0, zero, 5 | a0 = 5;
0x000166f4 jalr t9 | t9 ();
0x000166f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000166fc lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
| /* str.Visible */
0x00016700 addiu a0, s2, 0x54c8 | a0 = s2 + 0x54c8;
0x00016704 jalr t9 | t9 ();
0x00016708 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001670c move s2, v0 | s2 = v0;
0x00016710 lw a0, -0x7fd4(gp) | a0 = *(gp);
0x00016714 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
| /* str.false */
0x00016718 addiu a0, a0, 0x54d8 | a0 += 0x54d8;
0x0001671c jalr t9 | t9 ();
0x00016720 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016724 move a2, v0 | a2 = v0;
0x00016728 move a1, s2 | a1 = s2;
0x0001672c lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00016730 move a0, s1 | a0 = s1;
0x00016734 jalr t9 | t9 ();
0x00016738 lw v0, 0x1024(s0) | v0 = *((s0 + 1033));
0x0001673c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016740 beqz v0, 0x164e4 |
| } while (v0 == 0);
0x00016744 lw fp, 8(s0) | fp = *((s0 + 2));
| label_31:
0x00016748 lw t9, -0x7e10(gp) | t9 = sym.overlay_dbus_get_overlay_info_keys;
0x0001674c sll v0, fp, 2 | v0 = fp << 2;
0x00016750 addu s7, s7, v0 | s7 += v0;
0x00016754 addiu v0, zero, 1 | v0 = 1;
0x00016758 sw v0, (s7) | *(s7) = v0;
0x0001675c bal 0x1ec6c | sym_overlay_dbus_get_overlay_info_keys ();
0x00016760 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016764 move a0, v0 | a0 = v0;
0x00016768 lw t9, -0x7880(gp) | t9 = sym.imp.g_list_first;
0x0001676c move s7, v0 | s7 = v0;
0x00016770 jalr t9 | t9 ();
0x00016774 move s2, v0 | s2 = v0;
0x00016778 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001677c bnez v0, 0x16794 | goto label_39;
| }
0x00016780 lw t9, -0x7570(gp) | t9 = sym.imp.g_list_free;
0x00016784 b 0x168fc | goto label_40;
| do {
| label_1:
0x00016788 lw s2, 4(s2) | s2 = *((s2 + 1));
| label_0:
0x0001678c lw t9, -0x7570(gp) | t9 = sym.imp.g_list_free;
| if (s2 == 0) {
0x00016790 beqz s2, 0x168fc | goto label_40;
| }
| label_39:
0x00016794 lw t9, -0x7e20(gp) | t9 = sym.overlay_dbus_lookup_overlay_info;
0x00016798 lw a0, (s2) | a0 = *(s2);
0x0001679c bal 0x1eb80 | sym_overlay_dbus_lookup_overlay_info ();
0x000167a0 move v1, v0 | v1 = v0;
0x000167a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000167a8 beqz v0, 0x16788 |
| } while (v0 == 0);
0x000167ac lw v0, 8(v0) | v0 = *((v0 + 2));
0x000167b0 lw s2, 4(s2) | s2 = *((s2 + 1));
| if (fp == v0) {
0x000167b4 bnel fp, v0, 0x1678c | goto label_0;
| }
0x000167b8 lw v0, 0x102c(v1) | v0 = *(v1);
| if (v0 == 0) {
0x000167bc beql v0, zero, 0x1678c | goto label_0;
| }
0x000167c0 lw s2, 4(s2) | s2 = *((s2 + 1));
0x000167c4 lw v0, 0x1030(v1) | v0 = *((v1 + 1036));
0x000167c8 lw s2, 4(s2) | s2 = *((s2 + 1));
| if (v0 == 0) {
0x000167cc bnel v0, zero, 0x1678c | goto label_0;
| }
0x000167d0 lw t9, -0x7e0c(gp) | t9 = sym.overlay_backend_set_visibility;
0x000167d4 move a0, v1 | a0 = v1;
0x000167d8 sw v1, 0x2c(sp) | *(var_2ch_2) = v1;
0x000167dc move a1, zero | a1 = 0;
0x000167e0 bal 0x1d1ac | sym_overlay_backend_set_visibility ();
0x000167e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000167e8 lw v1, 0x2c(sp) | v1 = *(var_2ch_2);
| if (v0 != 0) {
0x000167ec bnez v0, 0x16788 | goto label_1;
| }
0x000167f0 lw t9, -0x7e5c(gp) | t9 = sym.overlay_dbus_set_visible;
0x000167f4 lw a0, 0x18(v1) | a0 = *((v1 + 6));
0x000167f8 move a1, zero | a1 = 0;
0x000167fc bal 0x1efac | sym_overlay_dbus_set_visible ();
0x00016800 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016804 b 0x16788 | goto label_1;
| label_33:
0x00016808 addiu v0, zero, 2 | v0 = 2;
0x0001680c lw v0, 0x1c(s0) | v0 = *((s0 + 7));
| if (v1 == v0) {
0x00016810 bnel v1, v0, 0x16510 | goto label_2;
| }
0x00016814 lw t9, -0x7e04(gp) | t9 = sym.stream_get_resolution;
0x00016818 lw a0, 0xc(s0) | a0 = *((s0 + 3));
0x0001681c addiu a2, sp, 0x38 | a2 = sp + 0x38;
0x00016820 addiu a1, sp, 0x34 | a1 = sp + 0x34;
0x00016824 jalr t9 | t9 ();
0x00016828 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001682c b 0x16518 | goto label_3;
| label_35:
0x00016830 lw a1, -0x7fd4(gp) | a1 = *(gp);
0x00016834 lw t9, -0x7de8(gp) | t9 = sym.overlay_dbus_set_camera;
0x00016838 lw a0, 0x18(s0) | a0 = *((s0 + 6));
| /* str.quad */
0x0001683c addiu a1, a1, 0x6350 | a1 += 0x6350;
0x00016840 bal 0x1f214 | sym_overlay_dbus_set_camera ();
0x00016844 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016848 b 0x165f8 | goto label_4;
| label_23:
0x0001684c lw t9, -0x7604(gp) | t9 = sym.imp.strtol;
0x00016850 addiu a2, zero, 0xa | a2 = 0xa;
0x00016854 move a1, zero | a1 = 0;
0x00016858 move a0, s7 | a0 = s7;
0x0001685c jalr t9 | t9 ();
0x00016860 move s0, v0 | s0 = v0;
0x00016864 addiu v0, v0, -1 | v0 += -1;
0x00016868 sltiu v0, v0, 0x10 | v0 = (v0 < 0x10) ? 1 : 0;
0x0001686c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00016870 bnez v0, 0x1637c | goto label_5;
| }
0x00016874 lw s0, -0x7fd4(gp) | s0 = *(gp);
0x00016878 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
0x0001687c move a3, s7 | a3 = s7;
| /* str.Invalid_Camera___s */
0x00016880 addiu a2, s0, 0x6838 | a2 = s0 + 0x6838;
0x00016884 addiu a1, zero, 1 | a1 = 1;
0x00016888 addiu a0, zero, 3 | a0 = 3;
0x0001688c jalr t9 | t9 ();
0x00016890 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 == 0) {
0x00016894 beqz s3, 0x16a70 | goto label_18;
| }
0x00016898 lw t9, -0x7930(gp) | t9 = sym.imp.g_dbus_method_invocation_return_error;
0x0001689c sw s7, 0x10(sp) | *(var_10h) = s7;
| /* str.Invalid_Camera___s */
0x000168a0 addiu a3, s0, 0x6838 | a3 = s0 + 0x6838;
0x000168a4 addiu a2, zero, 2 | a2 = 2;
0x000168a8 b 0x16ae4 | goto label_41;
| label_24:
0x000168ac addiu s7, zero, -1 | s7 = -1;
0x000168b0 b 0x163b4 | goto label_6;
| label_21:
0x000168b4 lw t9, -0x7f58(gp) | t9 = *(gp);
| /* fcn.00013570 */
0x000168b8 addiu t9, t9, 0x3570 | t9 += 0x3570;
0x000168bc move a0, s1 | a0 = s1;
0x000168c0 bal 0x13570 | fcn_00013570 ();
0x000168c4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x000168c8 bnez v0, 0x1633c | goto label_7;
| }
0x000168cc lw s0, -0x7fd4(gp) | s0 = *(gp);
0x000168d0 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Unsupported_property */
0x000168d4 addiu a2, s0, 0x65f0 | a2 = s0 + 0x65f0;
0x000168d8 addiu a1, zero, 1 | a1 = 1;
0x000168dc addiu a0, zero, 3 | a0 = 3;
0x000168e0 jalr t9 | t9 ();
0x000168e4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 == 0) {
0x000168e8 beqz s3, 0x16a70 | goto label_18;
| }
0x000168ec lw t9, -0x7930(gp) | t9 = sym.imp.g_dbus_method_invocation_return_error;
| /* str.Unsupported_property */
0x000168f0 addiu a3, s0, 0x65f0 | a3 = s0 + 0x65f0;
0x000168f4 addiu a2, zero, 3 | a2 = 3;
0x000168f8 b 0x16a60 | goto label_19;
| label_40:
0x000168fc move a0, s7 | a0 = s7;
0x00016900 jalr t9 | t9 ();
0x00016904 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016908 b 0x164e4 | goto label_8;
| label_26:
0x0001690c lw a0, -0x7fd4(gp) | a0 = *(gp);
0x00016910 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
| /* str._bin_parhand */
0x00016914 addiu a0, a0, 0x590c | a0 += 0x590c;
0x00016918 jalr t9 | t9 ();
0x0001691c move s7, v0 | s7 = v0;
0x00016920 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00016924 beqz v0, 0x16420 | goto label_9;
| }
0x00016928 lw t9, -0x775c(gp) | t9 = sym.imp.__strcpy_chk
0x0001692c b 0x1640c | goto label_10;
| label_28:
0x00016930 move v0, zero | v0 = 0;
0x00016934 b 0x16480 | goto label_11;
| label_29:
0x00016938 move v0, zero | v0 = 0;
0x0001693c b 0x164bc | goto label_12;
| label_36:
0x00016940 lw t9, -0x75b0(gp) | t9 = sym.imp.g_malloc;
0x00016944 addiu a0, zero, 8 | a0 = 8;
0x00016948 jalr t9 | t9 ();
0x0001694c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016950 move a0, s2 | a0 = s2;
0x00016954 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00016958 move s4, v0 | s4 = v0;
0x0001695c jalr t9 | t9 ();
0x00016960 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016964 move a0, s3 | a0 = s3;
0x00016968 lw t9, -0x74a0(gp) | t9 = sym.imp.g_dbus_method_invocation_get_connection;
0x0001696c sw v0, (s4) | *(s4) = v0;
0x00016970 jalr t9 | t9 ();
0x00016974 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016978 move a0, s3 | a0 = s3;
0x0001697c lw t9, -0x7730(gp) | t9 = sym.imp.g_dbus_method_invocation_get_sender;
0x00016980 move s3, v0 | s3 = v0;
0x00016984 jalr t9 | t9 ();
0x00016988 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001698c move a1, v0 | a1 = v0;
0x00016990 move a3, zero | a3 = 0;
0x00016994 lw v0, -0x7f58(gp) | v0 = *(gp);
0x00016998 lw t9, -0x781c(gp) | t9 = sym.imp.g_bus_watch_name_on_connection;
0x0001699c addiu v0, v0, 0x40f8 | v0 += 0x40f8;
0x000169a0 move a2, zero | a2 = 0;
0x000169a4 move a0, s3 | a0 = s3;
0x000169a8 sw zero, 0x18(sp) | *(var_18h_2) = 0;
0x000169ac sw s4, 0x14(sp) | *(var_14h) = s4;
0x000169b0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000169b4 jalr t9 | t9 ();
0x000169b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000169bc move a0, s2 | a0 = s2;
0x000169c0 sw v0, 4(s4) | *((s4 + 1)) = v0;
0x000169c4 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x000169c8 lw s1, -0x23cc(s1) | s1 = *((s1 - 2291));
0x000169cc jalr t9 | t9 ();
0x000169d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000169d4 move a1, v0 | a1 = v0;
0x000169d8 lw t9, -0x74bc(gp) | t9 = sym.imp.g_hash_table_add;
0x000169dc move a0, s1 | a0 = s1;
0x000169e0 jalr t9 | t9 ();
0x000169e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000169e8 b 0x1669c | goto label_13;
| label_22:
0x000169ec lw s7, -0x7fd4(gp) | s7 = *(gp);
0x000169f0 lw t9, -0x77dc(gp) | t9 = sym.imp.g_hash_table_contains;
| /* esilref: 'Stream' */
0x000169f4 addiu a1, s7, 0x5f10 | a1 = s7 + 0x5f10;
0x000169f8 move a0, s1 | a0 = s1;
0x000169fc jalr t9 | t9 ();
0x00016a00 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00016a04 beqz v0, 0x16afc | goto label_42;
| }
0x00016a08 addiu s0, zero, 1 | s0 = 1;
0x00016a0c b 0x16380 | goto label_14;
| label_34:
0x00016a10 lw a2, -0x7fd4(gp) | a2 = *(gp);
0x00016a14 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_allocate_dbus_overlay_object */
0x00016a18 addiu a2, a2, 0x6960 | a2 += 0x6960;
0x00016a1c addiu a1, zero, 1 | a1 = 1;
0x00016a20 addiu a0, zero, 3 | a0 = 3;
0x00016a24 jalr t9 | t9 ();
0x00016a28 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016a2c lw t9, -0x7e1c(gp) | t9 = sym.overlay_backend_remove;
0x00016a30 move a0, s0 | a0 = s0;
0x00016a34 bal 0x1c818 | sym_overlay_backend_remove ();
0x00016a38 lw v0, (s0) | v0 = *(s0);
0x00016a3c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016a40 addiu v0, v0, -1 | v0 += -1;
0x00016a44 sw v0, (s0) | *(s0) = v0;
| if (v0 <= 0) {
0x00016a48 blez v0, 0x16b24 | goto label_43;
| }
| label_16:
0x00016a4c lw a3, -0x7fd4(gp) | a3 = *(gp);
| if (s3 == 0) {
0x00016a50 beqz s3, 0x16a70 | goto label_18;
| }
0x00016a54 lw t9, -0x7930(gp) | t9 = sym.imp.g_dbus_method_invocation_return_error;
| /* str.Failed_to_allocate_memory */
0x00016a58 addiu a3, a3, 0x68a8 | a3 += 0x68a8;
0x00016a5c addiu a2, zero, 1 | a2 = 1;
| label_19:
0x00016a60 move a1, s6 | a1 = s6;
0x00016a64 move a0, s3 | a0 = s3;
0x00016a68 jalr t9 | t9 ();
0x00016a6c lw gp, 0x20(sp) | gp = *(var_20h);
| do {
| label_18:
0x00016a70 move v0, zero | v0 = 0;
0x00016a74 b 0x166a0 | goto label_15;
| label_32:
0x00016a78 lw a2, -0x7fd4(gp) | a2 = *(gp);
0x00016a7c lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
0x00016a80 move a3, v0 | a3 = v0;
| /* str.Failed_to_add_overlay__error_code:__d */
0x00016a84 addiu a2, a2, 0x6938 | a2 += 0x6938;
0x00016a88 addiu a1, zero, 1 | a1 = 1;
0x00016a8c addiu a0, zero, 6 | a0 = 6;
0x00016a90 jalr t9 | t9 ();
0x00016a94 lw v0, (s0) | v0 = *(s0);
0x00016a98 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016a9c addiu v0, v0, -1 | v0 += -1;
0x00016aa0 sw v0, (s0) | *(s0) = v0;
| if (v0 <= 0) {
0x00016aa4 blez v0, 0x16b3c | goto label_44;
| }
| label_17:
0x00016aa8 lw t9, -0x7ee4(gp) | t9 = sym.error_overlayd2dbus;
0x00016aac beqz s3, 0x16a70 |
| } while (s3 == 0);
0x00016ab0 move a0, s2 | a0 = s2;
0x00016ab4 bal 0xce90 | sym_error_overlayd2dbus ();
0x00016ab8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016abc move a0, s2 | a0 = s2;
0x00016ac0 lw t9, -0x7ee0(gp) | t9 = sym.error_overlayd_message;
0x00016ac4 move s0, v0 | s0 = v0;
0x00016ac8 bal 0xcef8 | sym_error_overlayd_message ();
0x00016acc lw gp, 0x20(sp) | gp = *(var_20h);
0x00016ad0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00016ad4 move a2, s0 | a2 = s0;
0x00016ad8 lw a3, -0x7fd4(gp) | a3 = *(gp);
0x00016adc lw t9, -0x7930(gp) | t9 = sym.imp.g_dbus_method_invocation_return_error;
| /* esilref: '&s' */
0x00016ae0 addiu a3, a3, 0x6848 | a3 += 0x6848;
| label_41:
0x00016ae4 move a1, s6 | a1 = s6;
0x00016ae8 move a0, s3 | a0 = s3;
0x00016aec jalr t9 | t9 ();
0x00016af0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016af4 move v0, zero | v0 = 0;
0x00016af8 b 0x166a0 | goto label_15;
| label_42:
0x00016afc lw a2, -0x7fd4(gp) | a2 = *(gp);
0x00016b00 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
0x00016b04 addiu a3, zero, 1 | a3 = 1;
| /* str.No_CameraID_specified__using_default_CameraID:__d */
0x00016b08 addiu a2, a2, 0x684c | a2 += 0x684c;
0x00016b0c addiu a1, zero, 1 | a1 = 1;
0x00016b10 addiu a0, zero, 6 | a0 = 6;
0x00016b14 jalr t9 | t9 ();
0x00016b18 addiu s0, zero, 1 | s0 = 1;
0x00016b1c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016b20 b 0x16380 | goto label_14;
| label_43:
0x00016b24 lw t9, -0x7f58(gp) | t9 = *(gp);
| /* fcn.00014ae0 */
0x00016b28 addiu t9, t9, 0x4ae0 | t9 += 0x4ae0;
0x00016b2c move a0, s0 | a0 = s0;
0x00016b30 bal 0x14ae0 | fcn_00014ae0 ();
0x00016b34 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016b38 b 0x16a4c | goto label_16;
| label_44:
0x00016b3c lw t9, -0x7f58(gp) | t9 = *(gp);
| /* fcn.00014ae0 */
0x00016b40 addiu t9, t9, 0x4ae0 | t9 += 0x4ae0;
0x00016b44 move a0, s0 | a0 = s0;
0x00016b48 bal 0x14ae0 | fcn_00014ae0 ();
0x00016b4c lw gp, 0x20(sp) | gp = *(var_20h);
0x00016b50 b 0x16aa8 | goto label_17;
| label_38:
0x00016b54 lw s1, -0x7fd4(gp) | s1 = *(gp);
0x00016b58 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Only_one_prioritized_overlay_is_allowed_at_a_time */
0x00016b5c addiu a2, s1, 0x68d4 | a2 = s1 + 0x68d4;
0x00016b60 addiu a1, zero, 1 | a1 = 1;
0x00016b64 addiu a0, zero, 3 | a0 = 3;
0x00016b68 jalr t9 | t9 ();
0x00016b6c lw v0, (s0) | v0 = *(s0);
0x00016b70 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016b74 addiu v0, v0, -1 | v0 += -1;
0x00016b78 sw v0, (s0) | *(s0) = v0;
| if (v0 <= 0) {
0x00016b7c blez v0, 0x16bc8 | goto label_45;
| }
| label_20:
0x00016b80 lw t9, -0x7930(gp) | t9 = sym.imp.g_dbus_method_invocation_return_error;
| if (s3 == 0) {
0x00016b84 beqz s3, 0x16a70 | goto label_18;
| }
| /* str.Only_one_prioritized_overlay_is_allowed_at_a_time */
0x00016b88 addiu a3, s1, 0x68d4 | a3 = s1 + 0x68d4;
0x00016b8c addiu a2, zero, 5 | a2 = 5;
0x00016b90 b 0x16a60 | goto label_19;
| label_25:
0x00016b94 lw a2, -0x7fd4(gp) | a2 = *(gp);
0x00016b98 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
| /* str.Failed_to_allocate_overlay_info_struct */
0x00016b9c addiu a2, a2, 0x6880 | a2 += 0x6880;
0x00016ba0 addiu a1, zero, 1 | a1 = 1;
0x00016ba4 addiu a0, zero, 3 | a0 = 3;
0x00016ba8 jalr t9 | t9 ();
0x00016bac lw gp, 0x20(sp) | gp = *(var_20h);
0x00016bb0 b 0x16a4c | goto label_16;
| label_27:
0x00016bb4 lw a3, -0x7fd4(gp) | a3 = *(gp);
0x00016bb8 lw t9, -0x7930(gp) | t9 = sym.imp.g_dbus_method_invocation_return_error;
| /* str.No_owner_found */
0x00016bbc addiu a3, a3, 0x68c4 | a3 += 0x68c4;
0x00016bc0 move a2, zero | a2 = 0;
0x00016bc4 b 0x16a60 | goto label_19;
| label_45:
0x00016bc8 lw t9, -0x7f58(gp) | t9 = *(gp);
| /* fcn.00014ae0 */
0x00016bcc addiu t9, t9, 0x4ae0 | t9 += 0x4ae0;
0x00016bd0 move a0, s0 | a0 = s0;
0x00016bd4 bal 0x14ae0 | fcn_00014ae0 ();
0x00016bd8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00016bdc b 0x16b80 | goto label_20;
| label_37:
0x00016be0 lw t9, -0x77d4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00016be4 jalr t9 | t9 ();
0x00016be8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/overlayd @ 0x14e98 */
| #include <stdint.h>
|
; (fcn) sym.overlay_frontend_overlay_dbus_api_initialized () | void overlay_frontend_overlay_dbus_api_initialized () {
0x00014e98 lui gp, 7 |
0x00014e9c addiu gp, gp, 0x188 |
0x00014ea0 addu gp, gp, t9 | gp += t9;
0x00014ea4 addiu sp, sp, -0x88 |
0x00014ea8 lw t9, -0x7df8(gp) | t9 = sym.overlay_dbus_num_supported_apis;
0x00014eac sw s0, 0x60(sp) | *(var_60h) = s0;
0x00014eb0 lw s0, -0x773c(gp) | s0 = *((gp - 7631));
0x00014eb4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00014eb8 sw ra, 0x84(sp) | *(var_84h) = ra;
0x00014ebc lw v0, (s0) | v0 = *(s0);
0x00014ec0 sw fp, 0x80(sp) | *(var_80h) = fp;
0x00014ec4 sw s7, 0x7c(sp) | *(var_7ch) = s7;
0x00014ec8 sw s6, 0x78(sp) | *(var_78h) = s6;
0x00014ecc sw s5, 0x74(sp) | *(var_74h) = s5;
0x00014ed0 sw s4, 0x70(sp) | *(var_70h) = s4;
0x00014ed4 sw s3, 0x6c(sp) | *(var_6ch) = s3;
0x00014ed8 sw s2, 0x68(sp) | *(var_68h) = s2;
0x00014edc sw s1, 0x64(sp) | *(var_64h) = s1;
0x00014ee0 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x00014ee4 bal 0x1e67c | sym_overlay_dbus_num_supported_apis ();
0x00014ee8 nop |
0x00014eec lw gp, 0x18(sp) | gp = *(var_18h);
0x00014ef0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00014ef4 lw v1, -0x23d0(a0) | v1 = *((a0 - 2292));
0x00014ef8 slt a1, v1, v0 | a1 = (v1 < v0) ? 1 : 0;
0x00014efc addiu v1, v1, 1 | v1++;
| if (a1 == 0) {
0x00014f00 beqz a1, 0x14f0c | goto label_1;
| }
0x00014f04 sw v1, -0x23d0(a0) | *((a0 - 2292)) = v1;
0x00014f08 beq v1, v0, 0x14f48 |
| while (v0 != 0) {
| label_1:
0x00014f0c lw v1, 0x5c(sp) | v1 = *(var_5ch);
0x00014f10 lw v0, (s0) | v0 = *(s0);
0x00014f14 lw ra, 0x84(sp) | ra = *(var_84h);
| if (v1 != v0) {
0x00014f18 bne v1, v0, 0x15c94 | goto label_57;
| }
0x00014f1c lw fp, 0x80(sp) | fp = *(var_80h);
0x00014f20 lw s7, 0x7c(sp) | s7 = *(var_7ch);
0x00014f24 lw s6, 0x78(sp) | s6 = *(var_78h);
0x00014f28 lw s5, 0x74(sp) | s5 = *(var_74h);
0x00014f2c lw s4, 0x70(sp) | s4 = *(var_70h);
0x00014f30 lw s3, 0x6c(sp) | s3 = *(var_6ch);
0x00014f34 lw s2, 0x68(sp) | s2 = *(var_68h);
0x00014f38 lw s1, 0x64(sp) | s1 = *(var_64h);
0x00014f3c lw s0, 0x60(sp) | s0 = *(var_60h);
0x00014f40 addiu sp, sp, 0x88 |
0x00014f44 jr ra | return v0;
0x00014f48 lw t9, -0x7f14(gp) | t9 = sym.overlay_backend_is_external_chip;
0x00014f4c bal 0x1d6fc | sym_overlay_backend_is_external_chip ();
0x00014f50 nop |
0x00014f54 lw gp, 0x18(sp) | gp = *(var_18h);
0x00014f58 bnez v0, 0x14f0c |
| }
0x00014f5c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00014f60 sw zero, 0x48(sp) | *(var_48h) = 0;
0x00014f64 lw s2, -0x2380(v0) | s2 = *((v0 - 2272));
0x00014f68 lw t9, -0x7798(gp) | t9 = sym.imp.g_key_file_get_groups;
| if (s2 == 0) {
0x00014f6c beqz s2, 0x155e0 | goto label_58;
| }
0x00014f70 move a1, zero | a1 = 0;
0x00014f74 move a0, s2 | a0 = s2;
0x00014f78 jalr t9 | t9 ();
0x00014f7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00014f80 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00014f84 addiu s3, v0, 4 | s3 = v0 + 4;
0x00014f88 addiu v0, zero, 1 | v0 = 1;
0x00014f8c sw v0, 0x30(sp) | *(var_30h) = v0;
0x00014f90 lw v0, -0x7fd4(gp) | v0 = *(gp);
0x00014f94 lw fp, -0x7fd4(gp) | fp = *(gp);
0x00014f98 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00014f9c lw v0, -0x7f58(gp) | v0 = *(gp);
0x00014fa0 sw zero, 0x2c(sp) | *(var_2ch) = 0;
| /* fcn.00013614 */
0x00014fa4 addiu v0, v0, 0x3614 | v0 += 0x3614;
0x00014fa8 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00014fac lw v0, -0x7f58(gp) | v0 = *(gp);
| /* fcn.00012f10 */
0x00014fb0 addiu v0, v0, 0x2f10 | v0 += 0x2f10;
0x00014fb4 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00014fb8 lw v0, -0x7f58(gp) | v0 = *(gp);
| /* fcn.00013d30 */
0x00014fbc addiu v0, v0, 0x3d30 | v0 += 0x3d30;
0x00014fc0 sw v0, 0x44(sp) | *(var_44h) = v0;
| do {
| label_0:
0x00014fc4 lw s1, -4(s3) | s1 = *((s3 - 1));
0x00014fc8 lw t9, -0x7654(gp) | t9 = sym.imp.g_key_file_get_integer;
| if (s1 == 0) {
0x00014fcc beqz s1, 0x155d0 | goto label_59;
| }
0x00014fd0 addiu a3, sp, 0x48 | a3 = sp + 0x48;
| /* str.OverlayType */
0x00014fd4 addiu a2, fp, 0x65b0 | a2 = fp + 0x65b0;
0x00014fd8 move a1, s1 | a1 = s1;
0x00014fdc move a0, s2 | a0 = s2;
0x00014fe0 jalr t9 | t9 ();
0x00014fe4 lw v1, 0x48(sp) | v1 = *(var_48h);
0x00014fe8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00014fec move s6, v0 | s6 = v0;
| if (v1 == 0) {
0x00014ff0 beqz v1, 0x15030 | goto label_60;
| }
0x00014ff4 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00014ff8 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
0x00014ffc move a3, s1 | a3 = s1;
0x00015000 addiu a2, v0, 0x6704 | a2 = v0 + 0x6704;
0x00015004 addiu a1, zero, 1 | a1 = 1;
0x00015008 addiu a0, zero, 4 | a0 = 4;
0x0001500c jalr t9 | t9 ();
0x00015010 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015014 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00015018 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x0001501c addiu s3, s3, 4 | s3 += 4;
0x00015020 jalr t9 | t9 ();
0x00015024 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015028 sw zero, 0x48(sp) | *(var_48h) = 0;
0x0001502c b 0x14fc4 |
| } while (1);
| label_60:
0x00015030 lw a3, -0x7450(gp) | a3 = *((gp - 7444));
0x00015034 lw t9, -0x7694(gp) | t9 = sym.imp.g_hash_table_new_full;
0x00015038 lw a1, -0x7928(gp) | a1 = *((gp - 7754));
0x0001503c lw a0, -0x74c8(gp) | a0 = *((gp - 7474));
0x00015040 move a2, a3 | a2 = a3;
0x00015044 jalr t9 | t9 ();
0x00015048 addiu v1, s6, -1 | v1 = s6 + -1;
0x0001504c sltiu v1, v1, 2 | v1 = (v1 < 2) ? 1 : 0;
0x00015050 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015054 move s7, v0 | s7 = v0;
| if (v1 == 0) {
0x00015058 beqz v1, 0x155f4 | goto label_61;
| }
0x0001505c addiu v0, zero, 2 | v0 = 2;
0x00015060 sw zero, 0x4c(sp) | *(var_4ch) = 0;
| if (s6 == v0) {
0x00015064 beq s6, v0, 0x15708 | goto label_62;
| }
0x00015068 lw v1, -0x7fd4(gp) | v1 = *(gp);
0x0001506c lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x00015070 addiu s5, sp, 0x4c | s5 = sp + 0x4c;
0x00015074 move a0, s2 | a0 = s2;
0x00015078 move a3, s5 | a3 = s5;
| /* str.OverlayPath */
0x0001507c addiu a2, v1, 0x5274 | a2 = v1 + 0x5274;
0x00015080 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00015084 move a1, s1 | a1 = s1;
0x00015088 jalr t9 | t9 ();
0x0001508c move s4, v0 | s4 = v0;
0x00015090 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015094 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x00015098 beqz v0, 0x156a8 | goto label_21;
| }
0x0001509c lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x000150a0 beqz a0, 0x15b70 | goto label_63;
| }
| label_22:
0x000150a4 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_10:
0x000150a8 jalr t9 | t9 ();
0x000150ac nop |
0x000150b0 lw gp, 0x18(sp) | gp = *(var_18h);
| label_23:
0x000150b4 lw a2, -0x7fd4(gp) | a2 = *(gp);
| label_9:
0x000150b8 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x000150bc move a0, s2 | a0 = s2;
0x000150c0 move a3, s5 | a3 = s5;
| /* str.Legacy */
0x000150c4 addiu a2, a2, 0x65c4 | a2 += 0x65c4;
0x000150c8 move a1, s1 | a1 = s1;
0x000150cc sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x000150d0 jalr t9 | t9 ();
0x000150d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000150d8 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x000150dc beqz v0, 0x156f8 | goto label_64;
| }
0x000150e0 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| if (a0 == 0) {
0x000150e4 beqz a0, 0x15948 | goto label_65;
| }
| label_20:
0x000150e8 jalr t9 | t9 ();
0x000150ec nop |
0x000150f0 lw gp, 0x18(sp) | gp = *(var_18h);
| label_27:
0x000150f4 lw s4, -0x7fd4(gp) | s4 = *(gp);
| label_19:
0x000150f8 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x000150fc move a0, s2 | a0 = s2;
0x00015100 move a3, s5 | a3 = s5;
| /* str.Visible */
0x00015104 addiu a2, s4, 0x54c8 | a2 = s4 + 0x54c8;
0x00015108 move a1, s1 | a1 = s1;
0x0001510c sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015110 jalr t9 | t9 ();
0x00015114 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015118 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x0001511c beqz v0, 0x156e8 | goto label_66;
| }
0x00015120 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| if (a0 == 0) {
0x00015124 beqz a0, 0x159c4 | goto label_67;
| }
| label_18:
0x00015128 jalr t9 | t9 ();
0x0001512c nop |
0x00015130 lw gp, 0x18(sp) | gp = *(var_18h);
| label_39:
0x00015134 lw v0, -0x7fd4(gp) | v0 = *(gp);
| label_17:
0x00015138 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x0001513c move a0, s2 | a0 = s2;
0x00015140 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00015144 move a3, s5 | a3 = s5;
| /* esilref: 'Position' */
0x00015148 addiu a2, v0, 0x55fc | a2 = v0 + 0x55fc;
0x0001514c move a1, s1 | a1 = s1;
0x00015150 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015154 jalr t9 | t9 ();
0x00015158 move s4, v0 | s4 = v0;
0x0001515c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015160 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x00015164 beqz v0, 0x156d8 | goto label_68;
| }
0x00015168 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| if (a0 == 0) {
0x0001516c beqz a0, 0x15af0 | goto label_69;
| }
| label_16:
0x00015170 jalr t9 | t9 ();
0x00015174 nop |
0x00015178 lw gp, 0x18(sp) | gp = *(var_18h);
| label_45:
0x0001517c lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_15:
0x00015180 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x00015184 move a0, s2 | a0 = s2;
0x00015188 move a3, s5 | a3 = s5;
| /* str.AnchorPoint */
0x0001518c addiu a2, v1, 0x6428 | a2 = v1 + 0x6428;
0x00015190 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00015194 move a1, s1 | a1 = s1;
0x00015198 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0001519c jalr t9 | t9 ();
0x000151a0 move s4, v0 | s4 = v0;
0x000151a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000151a8 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x000151ac beqz v0, 0x156c8 | goto label_70;
| }
0x000151b0 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x000151b4 beqz a0, 0x15ac4 | goto label_71;
| }
0x000151b8 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_14:
0x000151bc jalr t9 | t9 ();
0x000151c0 nop |
0x000151c4 lw gp, 0x18(sp) | gp = *(var_18h);
| label_44:
0x000151c8 lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_13:
0x000151cc lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x000151d0 move a0, s2 | a0 = s2;
0x000151d4 move a3, s5 | a3 = s5;
| /* str.Reference */
0x000151d8 addiu a2, v1, 0x54bc | a2 = v1 + 0x54bc;
0x000151dc sw v1, 0x24(sp) | *(var_24h) = v1;
0x000151e0 move a1, s1 | a1 = s1;
0x000151e4 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x000151e8 jalr t9 | t9 ();
0x000151ec move s4, v0 | s4 = v0;
0x000151f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000151f4 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x000151f8 beqz v0, 0x156b8 | goto label_72;
| }
0x000151fc lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x00015200 beqz a0, 0x15a98 | goto label_73;
| }
0x00015204 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_12:
0x00015208 jalr t9 | t9 ();
0x0001520c nop |
0x00015210 lw gp, 0x18(sp) | gp = *(var_18h);
| label_43:
0x00015214 lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_11:
0x00015218 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x0001521c move a0, s2 | a0 = s2;
0x00015220 move a3, s5 | a3 = s5;
| /* str.ZIndex */
0x00015224 addiu a2, v1, 0x6434 | a2 = v1 + 0x6434;
0x00015228 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0001522c move a1, s1 | a1 = s1;
0x00015230 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015234 jalr t9 | t9 ();
0x00015238 move s4, v0 | s4 = v0;
0x0001523c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015240 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x00015244 beqz v0, 0x15698 | goto label_74;
| }
0x00015248 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x0001524c beqz a0, 0x15a14 | goto label_75;
| }
0x00015250 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_8:
0x00015254 jalr t9 | t9 ();
0x00015258 nop |
0x0001525c lw gp, 0x18(sp) | gp = *(var_18h);
| label_40:
0x00015260 lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_7:
0x00015264 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x00015268 move a0, s2 | a0 = s2;
0x0001526c move a3, s5 | a3 = s5;
| /* str.AlwaysOn */
0x00015270 addiu a2, v1, 0x643c | a2 = v1 + 0x643c;
0x00015274 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00015278 move a1, s1 | a1 = s1;
0x0001527c sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015280 jalr t9 | t9 ();
0x00015284 move s4, v0 | s4 = v0;
0x00015288 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001528c lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x00015290 beqz v0, 0x15688 | goto label_76;
| }
0x00015294 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x00015298 beqz a0, 0x15a6c | goto label_77;
| }
0x0001529c lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_6:
0x000152a0 jalr t9 | t9 ();
0x000152a4 nop |
0x000152a8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_42:
0x000152ac lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_5:
0x000152b0 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x000152b4 move a0, s2 | a0 = s2;
0x000152b8 move a3, s5 | a3 = s5;
| /* str.NbrOfBuffers */
0x000152bc addiu a2, v1, 0x6458 | a2 = v1 + 0x6458;
0x000152c0 sw v1, 0x24(sp) | *(var_24h) = v1;
0x000152c4 move a1, s1 | a1 = s1;
0x000152c8 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x000152cc jalr t9 | t9 ();
0x000152d0 move s4, v0 | s4 = v0;
0x000152d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000152d8 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x000152dc beqz v0, 0x15678 | goto label_78;
| }
0x000152e0 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x000152e4 beqz a0, 0x15a40 | goto label_79;
| }
0x000152e8 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_4:
0x000152ec jalr t9 | t9 ();
0x000152f0 nop |
0x000152f4 lw gp, 0x18(sp) | gp = *(var_18h);
| label_41:
0x000152f8 lw a2, -0x7fd4(gp) | a2 = *(gp);
| label_3:
0x000152fc lw t9, -0x7654(gp) | t9 = sym.imp.g_key_file_get_integer;
0x00015300 move a0, s2 | a0 = s2;
0x00015304 move a3, s5 | a3 = s5;
| /* str.CameraID */
0x00015308 addiu a2, a2, 0x6598 | a2 += 0x6598;
0x0001530c move a1, s1 | a1 = s1;
0x00015310 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015314 jalr t9 | t9 ();
0x00015318 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0001531c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015320 sw v0, 0x24(sp) | *(var_24h) = v0;
| if (a0 != 0) {
0x00015324 beqz a0, 0x1533c |
0x00015328 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x0001532c addiu v0, zero, 1 | v0 = 1;
0x00015330 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00015334 jalr t9 | t9 ();
0x00015338 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0001533c lw a2, -0x7fd4(gp) | a2 = *(gp);
0x00015340 lw t9, -0x7654(gp) | t9 = sym.imp.g_key_file_get_integer;
0x00015344 move a0, s2 | a0 = s2;
0x00015348 move a3, s5 | a3 = s5;
| /* str.StreamID */
0x0001534c addiu a2, a2, 0x65a4 | a2 += 0x65a4;
0x00015350 move a1, s1 | a1 = s1;
0x00015354 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015358 jalr t9 | t9 ();
0x0001535c lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x00015360 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015364 sw v0, 0x28(sp) | *(var_28h) = v0;
| if (a0 != 0) {
0x00015368 beqz a0, 0x1537c |
0x0001536c lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x00015370 addiu v0, zero, -1 | v0 = -1;
0x00015374 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00015378 jalr t9 | t9 ();
| }
0x0001537c lw t9, 0x38(sp) | t9 = *(var_38h);
0x00015380 move a1, s6 | a1 = s6;
0x00015384 move a0, s7 | a0 = s7;
0x00015388 jalr t9 | t9 ();
0x0001538c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015390 lw a2, 0x28(sp) | a2 = *(var_28h);
0x00015394 lw a1, 0x24(sp) | a1 = *(var_24h);
0x00015398 lw t9, -0x7df4(gp) | t9 = sym.overlay_frontend_allocate_overlay_info;
0x0001539c move a0, s6 | a0 = s6;
0x000153a0 bal 0x14dd8 | sym_overlay_frontend_allocate_overlay_info ();
0x000153a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000153a8 addiu a2, sp, 0x50 | a2 = sp + 0x50;
0x000153ac move a0, s1 | a0 = s1;
0x000153b0 lw a1, -0x7fd4(gp) | a1 = *(gp);
0x000153b4 lw t9, -0x7524(gp) | t9 = sym.imp.__isoc99_sscanf;
| /* str.Overlay_d */
0x000153b8 addiu a1, a1, 0x6504 | a1 += 0x6504;
0x000153bc move s4, v0 | s4 = v0;
0x000153c0 jalr t9 | t9 ();
0x000153c4 addiu v1, zero, 1 | v1 = 1;
0x000153c8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != v1) {
0x000153cc bne v0, v1, 0x15c8c | goto label_80;
| }
0x000153d0 lw v0, 0x50(sp) | v0 = *(var_50h);
| label_56:
0x000153d4 sw v0, 0x14(s4) | *((s4 + 5)) = v0;
0x000153d8 lw v0, 0x30(sp) | v0 = *(var_30h);
0x000153dc lw t9, -0x7df0(gp) | t9 = sym.overlay_backend_add;
0x000153e0 sw v0, 0x1028(s4) | *((s4 + 1034)) = v0;
0x000153e4 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x000153e8 move a1, s7 | a1 = s7;
0x000153ec sw v0, 0x1020(s4) | *((s4 + 1032)) = v0;
0x000153f0 move a0, s4 | a0 = s4;
0x000153f4 bal 0x1c940 | sym_overlay_backend_add ();
0x000153f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000153fc bltz v0, 0x15618 | goto label_81;
| }
0x00015400 lw t9, -0x7dec(gp) | t9 = sym.overlay_dbus_create_overlay_object;
0x00015404 lw a0, 0x10(s4) | a0 = *((s4 + 4));
0x00015408 bal 0x1e6b8 | sym_overlay_dbus_create_overlay_object ();
0x0001540c lw t9, 0x40(sp) | t9 = *(var_40h);
0x00015410 sw v0, 0x18(s4) | *((s4 + 6)) = v0;
0x00015414 addiu a3, zero, 1 | a3 = 1;
0x00015418 move a2, s6 | a2 = s6;
0x0001541c move a1, s4 | a1 = s4;
0x00015420 move a0, s7 | a0 = s7;
0x00015424 jalr t9 | t9 ();
0x00015428 lw v0, 0x24(sp) | v0 = *(var_24h);
0x0001542c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00015430 bnez v0, 0x158f0 | goto label_82;
| }
0x00015434 lw a1, -0x7fd4(gp) | a1 = *(gp);
0x00015438 lw t9, -0x7de8(gp) | t9 = sym.overlay_dbus_set_camera;
0x0001543c lw a0, 0x18(s4) | a0 = *((s4 + 6));
| /* str.quad */
0x00015440 addiu a1, a1, 0x6350 | a1 += 0x6350;
0x00015444 bal 0x1f214 | sym_overlay_dbus_set_camera ();
0x00015448 lw gp, 0x18(sp) | gp = *(var_18h);
| label_24:
0x0001544c lw t9, -0x7de4(gp) | t9 = sym.overlay_dbus_set_stream;
0x00015450 lw a0, 0x18(s4) | a0 = *((s4 + 6));
0x00015454 lw a1, 0x28(sp) | a1 = *(var_28h);
0x00015458 bal 0x1f2c4 | sym_overlay_dbus_set_stream ();
0x0001545c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015460 lw a1, 0x10(s4) | a1 = *((s4 + 4));
0x00015464 lw t9, -0x7de0(gp) | t9 = sym.overlay_dbus_set_overlay_id;
0x00015468 lw a0, 0x18(s4) | a0 = *((s4 + 6));
0x0001546c bal 0x1f164 | sym_overlay_dbus_set_overlay_id ();
0x00015470 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015474 lw v0, 0x1c(s4) | v0 = *((s4 + 7));
0x00015478 lw a0, -0x7fd4(gp) | a0 = *(gp);
0x0001547c lw t9, -0x764c(gp) | t9 = sym.imp.g_strdup_printf;
0x00015480 lw a2, 0x10(v0) | a2 = *((v0 + 4));
0x00015484 lw a1, 0xc(v0) | a1 = *((v0 + 3));
| /* str._dx_d */
0x00015488 addiu a0, a0, 0x62b4 | a0 += 0x62b4;
0x0001548c jalr t9 | t9 ();
0x00015490 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015494 lw a0, 0x18(s4) | a0 = *((s4 + 6));
0x00015498 move a1, v0 | a1 = v0;
0x0001549c lw t9, -0x7e78(gp) | t9 = sym.overlay_dbus_set_size;
0x000154a0 move s6, v0 | s6 = v0;
0x000154a4 bal 0x1ef54 | sym_overlay_dbus_set_size ();
0x000154a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000154ac lw t9, -0x7450(gp) | t9 = *((gp - 7444));
0x000154b0 move a0, s6 | a0 = s6;
0x000154b4 jalr t9 | t9 ();
0x000154b8 lw v1, 4(s4) | v1 = *((s4 + 1));
0x000154bc addiu v0, zero, 2 | v0 = 2;
0x000154c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 == v0) {
0x000154c4 beq v1, v0, 0x15b20 | goto label_83;
| }
| label_46:
0x000154c8 lw a2, -0x7fd4(gp) | a2 = *(gp);
0x000154cc lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x000154d0 move a0, s2 | a0 = s2;
0x000154d4 move a3, s5 | a3 = s5;
| /* str.Owner */
0x000154d8 addiu a2, a2, 0x65bc | a2 += 0x65bc;
0x000154dc move a1, s1 | a1 = s1;
0x000154e0 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x000154e4 jalr t9 | t9 ();
0x000154e8 move s6, v0 | s6 = v0;
0x000154ec lw gp, 0x18(sp) | gp = *(var_18h);
0x000154f0 addiu v1, s4, 0x20 | v1 = s4 + 0x20;
0x000154f4 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x000154f8 beqz v0, 0x15938 | goto label_84;
| }
0x000154fc lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| if (a0 == 0) {
0x00015500 beqz a0, 0x15b7c | goto label_85;
| }
| label_26:
0x00015504 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00015508 jalr t9 | t9 ();
0x0001550c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015510 lw v1, 0x24(sp) | v1 = *(var_24h);
| label_50:
0x00015514 lw t9, -0x7ddc(gp) | t9 = sym.overlay_dbus_set_owner;
| label_25:
0x00015518 lw a0, 0x18(s4) | a0 = *((s4 + 6));
0x0001551c move a1, v1 | a1 = v1;
0x00015520 bal 0x1f1bc | sym_overlay_dbus_set_owner ();
0x00015524 lw a0, 4(s4) | a0 = *((s4 + 1));
0x00015528 lw t9, 0x44(sp) | t9 = *(var_44h);
0x0001552c addiu a1, s4, 0x18 | a1 = s4 + 0x18;
0x00015530 jalr t9 | t9 ();
0x00015534 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015538 lw v0, 0x34(sp) | v0 = *(var_34h);
0x0001553c move a3, s5 | a3 = s5;
0x00015540 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x00015544 addiu a2, v0, 0x55fc | a2 = v0 + 0x55fc;
0x00015548 move a1, s1 | a1 = s1;
0x0001554c move a0, s2 | a0 = s2;
0x00015550 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015554 jalr t9 | t9 ();
0x00015558 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001555c beqz v0, 0x15b3c | goto label_86;
| }
0x00015560 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x00015564 lw a0, 0x18(s4) | a0 = *((s4 + 6));
| if (v1 == 0) {
0x00015568 beqz v1, 0x15b44 | goto label_87;
| }
| label_47:
0x0001556c lw a1, -0x7fd4(gp) | a1 = *(gp);
0x00015570 lw t9, -0x7e7c(gp) | t9 = sym.overlay_dbus_set_position;
| /* str._1.0x_1.0 */
0x00015574 addiu a1, a1, 0x6480 | a1 += 0x6480;
0x00015578 bal 0x1eea4 | sym_overlay_dbus_set_position ();
0x0001557c lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x00015580 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 != 0) {
0x00015584 beqz a0, 0x15598 |
0x00015588 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x0001558c jalr t9 | t9 ();
0x00015590 nop |
0x00015594 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_48:
0x00015598 lw t9, -0x7dd8(gp) | t9 = sym.overlay_dbus_export_overlay_object;
0x0001559c lw a0, 0x18(s4) | a0 = *((s4 + 6));
0x000155a0 bal 0x1e8c0 | sym_overlay_dbus_export_overlay_object ();
0x000155a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000155a8 lw t9, -0x7dd4(gp) | t9 = sym.overlay_dbus_add_overlay_info;
0x000155ac move a0, s4 | a0 = s4;
0x000155b0 bal 0x1ea10 | sym_overlay_dbus_add_overlay_info ();
0x000155b4 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_2:
0x000155b8 lw t9, -0x74c4(gp) | t9 = sym.imp.g_hash_table_destroy;
0x000155bc move a0, s7 | a0 = s7;
0x000155c0 jalr t9 | t9 ();
0x000155c4 addiu s3, s3, 4 | s3 += 4;
0x000155c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000155cc b 0x14fc4 | goto label_0;
| label_59:
0x000155d0 lw t9, -0x78b0(gp) | t9 = sym.imp.g_strfreev;
0x000155d4 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x000155d8 jalr t9 | t9 ();
0x000155dc lw gp, 0x18(sp) | gp = *(var_18h);
| label_58:
0x000155e0 lw t9, -0x7dd0(gp) | t9 = sym.parhand_initiate_overlay_connection;
0x000155e4 bal 0xfbc8 | sym_parhand_initiate_overlay_connection ();
0x000155e8 nop |
0x000155ec lw gp, 0x18(sp) | gp = *(var_18h);
0x000155f0 b 0x14f0c | goto label_1;
| label_61:
0x000155f4 lw a2, -0x7fd4(gp) | a2 = *(gp);
0x000155f8 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
0x000155fc move a3, s1 | a3 = s1;
| /* str.Invalid_overlay_type_from___s__ */
0x00015600 addiu a2, a2, 0x66e4 | a2 += 0x66e4;
0x00015604 addiu a1, zero, 1 | a1 = 1;
0x00015608 addiu a0, zero, 4 | a0 = 4;
0x0001560c jalr t9 | t9 ();
0x00015610 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015614 b 0x155b8 |
| } while (1);
| label_81:
0x00015618 lw v1, 4(s4) | v1 = *((s4 + 1));
0x0001561c addiu v0, zero, 1 | v0 = 1;
0x00015620 lw a3, -0x7fd4(gp) | a3 = *(gp);
| if (v1 == v0) {
0x00015624 beq v1, v0, 0x1597c | goto label_88;
| }
0x00015628 lw a3, -0x7fd4(gp) | a3 = *(gp);
| /* str.generic */
0x0001562c addiu a3, a3, 0x66bc | a3 += 0x66bc;
| label_30:
0x00015630 lw a2, -0x7fd4(gp) | a2 = *(gp);
0x00015634 lw t9, -0x7774(gp) | t9 = sym.imp.__syslog_chk;
0x00015638 sw s4, 0x10(sp) | *(var_10h) = s4;
| /* str.Failed_to_create__s_overlay__p */
0x0001563c addiu a2, a2, 0x66c4 | a2 += 0x66c4;
0x00015640 addiu a1, zero, 1 | a1 = 1;
0x00015644 addiu a0, zero, 3 | a0 = 3;
0x00015648 jalr t9 | t9 ();
0x0001564c lw v0, (s4) | v0 = *(s4);
0x00015650 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015654 addiu v0, v0, -1 | v0 += -1;
0x00015658 sw v0, (s4) | *(s4) = v0;
| if (v0 > 0) {
0x0001565c bgtz v0, 0x155b8 | goto label_2;
| }
0x00015660 lw t9, -0x7f58(gp) | t9 = *(gp);
| /* fcn.00014ae0 */
0x00015664 addiu t9, t9, 0x4ae0 | t9 += 0x4ae0;
0x00015668 move a0, s4 | a0 = s4;
0x0001566c bal 0x14ae0 | fcn_00014ae0 ();
0x00015670 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015674 b 0x155b8 | goto label_2;
| label_78:
0x00015678 lw a2, -0x7fd4(gp) | a2 = *(gp);
| if (a0 == 0) {
0x0001567c beqz a0, 0x152fc | goto label_3;
| }
0x00015680 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x00015684 b 0x152ec | goto label_4;
| label_76:
0x00015688 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x0001568c beqz a0, 0x152b0 | goto label_5;
| }
0x00015690 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x00015694 b 0x152a0 | goto label_6;
| label_74:
0x00015698 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x0001569c beqz a0, 0x15264 | goto label_7;
| }
0x000156a0 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000156a4 b 0x15254 | goto label_8;
| label_21:
0x000156a8 lw a2, -0x7fd4(gp) | a2 = *(gp);
| if (a0 == 0) {
0x000156ac beqz a0, 0x150b8 | goto label_9;
| }
0x000156b0 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000156b4 b 0x150a8 | goto label_10;
| label_72:
0x000156b8 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x000156bc beqz a0, 0x15218 | goto label_11;
| }
0x000156c0 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000156c4 b 0x15208 | goto label_12;
| label_70:
0x000156c8 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x000156cc beqz a0, 0x151cc | goto label_13;
| }
0x000156d0 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000156d4 b 0x151bc | goto label_14;
| label_68:
0x000156d8 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x000156dc beqz a0, 0x15180 | goto label_15;
| }
0x000156e0 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000156e4 b 0x15170 | goto label_16;
| label_66:
0x000156e8 lw v0, -0x7fd4(gp) | v0 = *(gp);
| if (a0 == 0) {
0x000156ec beqz a0, 0x15138 | goto label_17;
| }
0x000156f0 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000156f4 b 0x15128 | goto label_18;
| label_64:
0x000156f8 lw s4, -0x7fd4(gp) | s4 = *(gp);
| if (a0 == 0) {
0x000156fc beqz a0, 0x150f8 | goto label_19;
| }
0x00015700 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x00015704 b 0x150e8 | goto label_20;
| label_62:
0x00015708 lw v1, -0x7fd4(gp) | v1 = *(gp);
0x0001570c lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x00015710 addiu s5, sp, 0x4c | s5 = sp + 0x4c;
0x00015714 move a0, s2 | a0 = s2;
0x00015718 move a3, s5 | a3 = s5;
| /* str.Text */
0x0001571c addiu a2, v1, 0x5298 | a2 = v1 + 0x5298;
0x00015720 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00015724 move a1, s1 | a1 = s1;
0x00015728 jalr t9 | t9 ();
0x0001572c move s4, v0 | s4 = v0;
0x00015730 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015734 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x00015738 beqz v0, 0x159b4 | goto label_89;
| }
0x0001573c lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x00015740 beqz a0, 0x15c34 | goto label_90;
| }
0x00015744 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_38:
0x00015748 jalr t9 | t9 ();
0x0001574c nop |
0x00015750 lw gp, 0x18(sp) | gp = *(var_18h);
| label_54:
0x00015754 lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_37:
0x00015758 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x0001575c move a0, s2 | a0 = s2;
0x00015760 move a3, s5 | a3 = s5;
| /* str.TextColor */
0x00015764 addiu a2, v1, 0x52a0 | a2 = v1 + 0x52a0;
0x00015768 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0001576c move a1, s1 | a1 = s1;
0x00015770 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015774 jalr t9 | t9 ();
0x00015778 move s4, v0 | s4 = v0;
0x0001577c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015780 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x00015784 beqz v0, 0x159a4 | goto label_91;
| }
0x00015788 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x0001578c beqz a0, 0x15c08 | goto label_92;
| }
0x00015790 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_36:
0x00015794 jalr t9 | t9 ();
0x00015798 nop |
0x0001579c lw gp, 0x18(sp) | gp = *(var_18h);
| label_53:
0x000157a0 lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_35:
0x000157a4 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x000157a8 move a0, s2 | a0 = s2;
0x000157ac move a3, s5 | a3 = s5;
| /* str.TextBGColor */
0x000157b0 addiu a2, v1, 0x52ac | a2 = v1 + 0x52ac;
0x000157b4 sw v1, 0x24(sp) | *(var_24h) = v1;
0x000157b8 move a1, s1 | a1 = s1;
0x000157bc sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x000157c0 jalr t9 | t9 ();
0x000157c4 move s4, v0 | s4 = v0;
0x000157c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000157cc lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x000157d0 beqz v0, 0x15994 | goto label_93;
| }
0x000157d4 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x000157d8 beqz a0, 0x15bdc | goto label_94;
| }
0x000157dc lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_34:
0x000157e0 jalr t9 | t9 ();
0x000157e4 nop |
0x000157e8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_52:
0x000157ec lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_33:
0x000157f0 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x000157f4 move a0, s2 | a0 = s2;
0x000157f8 move a3, s5 | a3 = s5;
| /* str.TextOLColor */
0x000157fc addiu a2, v1, 0x6400 | a2 = v1 + 0x6400;
0x00015800 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00015804 move a1, s1 | a1 = s1;
0x00015808 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0001580c jalr t9 | t9 ();
0x00015810 move s4, v0 | s4 = v0;
0x00015814 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015818 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x0001581c beqz v0, 0x15984 | goto label_95;
| }
0x00015820 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x00015824 beqz a0, 0x15bb0 | goto label_96;
| }
0x00015828 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_32:
0x0001582c jalr t9 | t9 ();
0x00015830 nop |
0x00015834 lw gp, 0x18(sp) | gp = *(var_18h);
| label_51:
0x00015838 lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_31:
0x0001583c lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x00015840 move a0, s2 | a0 = s2;
0x00015844 move a3, s5 | a3 = s5;
| /* str.FontSize */
0x00015848 addiu a2, v1, 0x52c4 | a2 = v1 + 0x52c4;
0x0001584c sw v1, 0x24(sp) | *(var_24h) = v1;
0x00015850 move a1, s1 | a1 = s1;
0x00015854 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00015858 jalr t9 | t9 ();
0x0001585c move s4, v0 | s4 = v0;
0x00015860 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015864 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x00015868 beqz v0, 0x1596c | goto label_97;
| }
0x0001586c lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x00015870 beqz a0, 0x15c60 | goto label_98;
| }
0x00015874 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
| label_29:
0x00015878 jalr t9 | t9 ();
0x0001587c nop |
0x00015880 lw gp, 0x18(sp) | gp = *(var_18h);
| label_55:
0x00015884 lw v1, -0x7fd4(gp) | v1 = *(gp);
| label_28:
0x00015888 lw t9, -0x74f4(gp) | t9 = sym.imp.g_key_file_get_string;
0x0001588c move a0, s2 | a0 = s2;
0x00015890 move a3, s5 | a3 = s5;
| /* str.ScrollSpeed */
0x00015894 addiu a2, v1, 0x640c | a2 = v1 + 0x640c;
0x00015898 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0001589c move a1, s1 | a1 = s1;
0x000158a0 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x000158a4 jalr t9 | t9 ();
0x000158a8 move s4, v0 | s4 = v0;
0x000158ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000158b0 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x000158b4 beqz v0, 0x156a8 | goto label_21;
| }
0x000158b8 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 != 0) {
0x000158bc bnez a0, 0x150a4 | goto label_22;
| }
0x000158c0 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x000158c4 addiu a0, v1, 0x640c | a0 = v1 + 0x640c;
| label_49:
0x000158c8 jalr t9 | t9 ();
0x000158cc nop |
0x000158d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000158d4 move a2, s4 | a2 = s4;
0x000158d8 move a1, v0 | a1 = v0;
0x000158dc lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x000158e0 move a0, s7 | a0 = s7;
0x000158e4 jalr t9 | t9 ();
0x000158e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000158ec b 0x150b4 | goto label_23;
| label_82:
0x000158f0 lw t9, -0x78a8(gp) | t9 = sym.imp.__snprintf_chk;
0x000158f4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000158f8 lw v0, -0x7fd4(gp) | v0 = *(gp);
0x000158fc addiu s6, sp, 0x54 | s6 = sp + 0x54;
| /* esilref: '&d' */
0x00015900 addiu v0, v0, 0x62f8 | v0 += 0x62f8;
0x00015904 addiu a3, zero, 8 | a3 = 8;
0x00015908 addiu a2, zero, 1 | a2 = 1;
0x0001590c addiu a1, zero, 8 | a1 = 8;
0x00015910 move a0, s6 | a0 = s6;
0x00015914 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00015918 jalr t9 | t9 ();
0x0001591c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015920 lw a0, 0x18(s4) | a0 = *((s4 + 6));
0x00015924 lw t9, -0x7de8(gp) | t9 = sym.overlay_dbus_set_camera;
0x00015928 move a1, s6 | a1 = s6;
0x0001592c bal 0x1f214 | sym_overlay_dbus_set_camera ();
0x00015930 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015934 b 0x1544c | goto label_24;
| if (a0 == 0) {
| label_84:
0x00015938 beql a0, zero, 0x15518 | goto label_25;
| }
0x0001593c lw t9, -0x7ddc(gp) | t9 = sym.overlay_dbus_set_owner;
0x00015940 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x00015944 b 0x15504 | goto label_26;
| label_65:
0x00015948 lw a1, -0x7fd4(gp) | a1 = *(gp);
0x0001594c lw t9, -0x790c(gp) | t9 = sym.imp.strcmp;
| /* str.true */
0x00015950 addiu a1, a1, 0x54d0 | a1 += 0x54d0;
0x00015954 move a0, v0 | a0 = v0;
0x00015958 jalr t9 | t9 ();
0x0001595c sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x00015960 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015964 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00015968 b 0x150f4 | goto label_27;
| label_97:
0x0001596c lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x00015970 beqz a0, 0x15888 | goto label_28;
| }
0x00015974 lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x00015978 b 0x15878 | goto label_29;
| /* str.image */
| label_88:
0x0001597c addiu a3, a3, 0x66b4 | a3 += 0x66b4;
0x00015980 b 0x15630 | goto label_30;
| label_95:
0x00015984 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x00015988 beqz a0, 0x1583c | goto label_31;
| }
0x0001598c lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x00015990 b 0x1582c | goto label_32;
| label_93:
0x00015994 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x00015998 beqz a0, 0x157f0 | goto label_33;
| }
0x0001599c lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000159a0 b 0x157e0 | goto label_34;
| label_91:
0x000159a4 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x000159a8 beqz a0, 0x157a4 | goto label_35;
| }
0x000159ac lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000159b0 b 0x15794 | goto label_36;
| label_89:
0x000159b4 lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (a0 == 0) {
0x000159b8 beqz a0, 0x15758 | goto label_37;
| }
0x000159bc lw t9, -0x78ac(gp) | t9 = sym.imp.g_error_free;
0x000159c0 b 0x15748 | goto label_38;
| label_67:
0x000159c4 lw a1, -0x7fd4(gp) | a1 = *(gp);
0x000159c8 lw t9, -0x790c(gp) | t9 = sym.imp.strcmp;
| /* str.true */
0x000159cc addiu a1, a1, 0x54d0 | a1 += 0x54d0;
0x000159d0 move a0, v0 | a0 = v0;
0x000159d4 sw v0, 0x24(sp) | *(var_24h) = v0;
0x000159d8 jalr t9 | t9 ();
0x000159dc lw gp, 0x18(sp) | gp = *(var_18h);
0x000159e0 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
| /* str.Visible */
0x000159e4 addiu a0, s4, 0x54c8 | a0 = s4 + 0x54c8;
0x000159e8 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x000159ec sw v0, 0x30(sp) | *(var_30h) = v0;
0x000159f0 jalr t9 | t9 ();
0x000159f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000159f8 lw a2, 0x24(sp) | a2 = *(var_24h);
0x000159fc move a1, v0 | a1 = v0;
0x00015a00 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015a04 move a0, s7 | a0 = s7;
0x00015a08 jalr t9 | t9 ();
0x00015a0c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015a10 b 0x15134 | goto label_39;
| label_75:
0x00015a14 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015a18 addiu a0, v1, 0x6434 | a0 = v1 + 0x6434;
0x00015a1c jalr t9 | t9 ();
0x00015a20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015a24 move a2, s4 | a2 = s4;
0x00015a28 move a1, v0 | a1 = v0;
0x00015a2c lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015a30 move a0, s7 | a0 = s7;
0x00015a34 jalr t9 | t9 ();
0x00015a38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015a3c b 0x15260 | goto label_40;
| label_79:
0x00015a40 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015a44 addiu a0, v1, 0x6458 | a0 = v1 + 0x6458;
0x00015a48 jalr t9 | t9 ();
0x00015a4c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015a50 move a2, s4 | a2 = s4;
0x00015a54 move a1, v0 | a1 = v0;
0x00015a58 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015a5c move a0, s7 | a0 = s7;
0x00015a60 jalr t9 | t9 ();
0x00015a64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015a68 b 0x152f8 | goto label_41;
| label_77:
0x00015a6c lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015a70 addiu a0, v1, 0x643c | a0 = v1 + 0x643c;
0x00015a74 jalr t9 | t9 ();
0x00015a78 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015a7c move a2, s4 | a2 = s4;
0x00015a80 move a1, v0 | a1 = v0;
0x00015a84 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015a88 move a0, s7 | a0 = s7;
0x00015a8c jalr t9 | t9 ();
0x00015a90 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015a94 b 0x152ac | goto label_42;
| label_73:
0x00015a98 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015a9c addiu a0, v1, 0x54bc | a0 = v1 + 0x54bc;
0x00015aa0 jalr t9 | t9 ();
0x00015aa4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015aa8 move a2, s4 | a2 = s4;
0x00015aac move a1, v0 | a1 = v0;
0x00015ab0 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015ab4 move a0, s7 | a0 = s7;
0x00015ab8 jalr t9 | t9 ();
0x00015abc lw gp, 0x18(sp) | gp = *(var_18h);
0x00015ac0 b 0x15214 | goto label_43;
| label_71:
0x00015ac4 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015ac8 addiu a0, v1, 0x6428 | a0 = v1 + 0x6428;
0x00015acc jalr t9 | t9 ();
0x00015ad0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015ad4 move a2, s4 | a2 = s4;
0x00015ad8 move a1, v0 | a1 = v0;
0x00015adc lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015ae0 move a0, s7 | a0 = s7;
0x00015ae4 jalr t9 | t9 ();
0x00015ae8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015aec b 0x151c8 | goto label_44;
| label_69:
0x00015af0 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00015af4 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015af8 addiu a0, v0, 0x55fc | a0 = v0 + 0x55fc;
0x00015afc jalr t9 | t9 ();
0x00015b00 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015b04 move a2, s4 | a2 = s4;
0x00015b08 move a1, v0 | a1 = v0;
0x00015b0c lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015b10 move a0, s7 | a0 = s7;
0x00015b14 jalr t9 | t9 ();
0x00015b18 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015b1c b 0x1517c | goto label_45;
| label_83:
0x00015b20 lw v0, 0x1c(s4) | v0 = *((s4 + 7));
0x00015b24 lw t9, -0x7e38(gp) | t9 = sym.overlay_dbus_set_text_length;
0x00015b28 lw a0, 0x18(s4) | a0 = *((s4 + 6));
0x00015b2c lw a1, 0x270(v0) | a1 = *(v0);
0x00015b30 bal 0x1f43c | sym_overlay_dbus_set_text_length ();
0x00015b34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015b38 b 0x154c8 | goto label_46;
| label_86:
0x00015b3c lw a0, 0x18(s4) | a0 = *((s4 + 6));
0x00015b40 b 0x1556c | goto label_47;
| label_87:
0x00015b44 lw t9, -0x7e7c(gp) | t9 = sym.overlay_dbus_set_position;
0x00015b48 move a1, v0 | a1 = v0;
0x00015b4c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00015b50 bal 0x1eea4 | sym_overlay_dbus_set_position ();
0x00015b54 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015b58 lw v0, 0x24(sp) | v0 = *(var_24h);
0x00015b5c lw t9, -0x7450(gp) | t9 = *((gp - 7444));
0x00015b60 move a0, v0 | a0 = v0;
0x00015b64 jalr t9 | t9 ();
0x00015b68 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015b6c b 0x15598 | goto label_48;
| label_63:
0x00015b70 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015b74 addiu a0, v1, 0x5274 | a0 = v1 + 0x5274;
0x00015b78 b 0x158c8 | goto label_49;
| label_85:
0x00015b7c lw t9, -0x775c(gp) | t9 = sym.imp.__strcpy_chk
0x00015b80 move a0, v1 | a0 = v1;
0x00015b84 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00015b88 addiu a2, zero, 0x1000 | a2 = 0x1000;
0x00015b8c move a1, v0 | a1 = v0;
0x00015b90 jalr t9 | t9 ();
0x00015b94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015b98 lw t9, -0x7450(gp) | t9 = *((gp - 7444));
0x00015b9c move a0, s6 | a0 = s6;
0x00015ba0 jalr t9 | t9 ();
0x00015ba4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015ba8 lw v1, 0x24(sp) | v1 = *(var_24h);
0x00015bac b 0x15514 | goto label_50;
| label_96:
0x00015bb0 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015bb4 addiu a0, v1, 0x6400 | a0 = v1 + 0x6400;
0x00015bb8 jalr t9 | t9 ();
0x00015bbc lw gp, 0x18(sp) | gp = *(var_18h);
0x00015bc0 move a2, s4 | a2 = s4;
0x00015bc4 move a1, v0 | a1 = v0;
0x00015bc8 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015bcc move a0, s7 | a0 = s7;
0x00015bd0 jalr t9 | t9 ();
0x00015bd4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015bd8 b 0x15838 | goto label_51;
| label_94:
0x00015bdc lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015be0 addiu a0, v1, 0x52ac | a0 = v1 + 0x52ac;
0x00015be4 jalr t9 | t9 ();
0x00015be8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015bec move a2, s4 | a2 = s4;
0x00015bf0 move a1, v0 | a1 = v0;
0x00015bf4 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015bf8 move a0, s7 | a0 = s7;
0x00015bfc jalr t9 | t9 ();
0x00015c00 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015c04 b 0x157ec | goto label_52;
| label_92:
0x00015c08 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015c0c addiu a0, v1, 0x52a0 | a0 = v1 + 0x52a0;
0x00015c10 jalr t9 | t9 ();
0x00015c14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015c18 move a2, s4 | a2 = s4;
0x00015c1c move a1, v0 | a1 = v0;
0x00015c20 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015c24 move a0, s7 | a0 = s7;
0x00015c28 jalr t9 | t9 ();
0x00015c2c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015c30 b 0x157a0 | goto label_53;
| label_90:
0x00015c34 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015c38 addiu a0, v1, 0x5298 | a0 = v1 + 0x5298;
0x00015c3c jalr t9 | t9 ();
0x00015c40 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015c44 move a2, s4 | a2 = s4;
0x00015c48 move a1, v0 | a1 = v0;
0x00015c4c lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015c50 move a0, s7 | a0 = s7;
0x00015c54 jalr t9 | t9 ();
0x00015c58 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015c5c b 0x15754 | goto label_54;
| label_98:
0x00015c60 lw t9, -0x7530(gp) | t9 = sym.imp.g_strdup;
0x00015c64 addiu a0, v1, 0x52c4 | a0 = v1 + 0x52c4;
0x00015c68 jalr t9 | t9 ();
0x00015c6c lw gp, 0x18(sp) | gp = *(var_18h);
0x00015c70 move a2, s4 | a2 = s4;
0x00015c74 move a1, v0 | a1 = v0;
0x00015c78 lw t9, -0x756c(gp) | t9 = sym.imp.g_hash_table_insert;
0x00015c7c move a0, s7 | a0 = s7;
0x00015c80 jalr t9 | t9 ();
0x00015c84 lw gp, 0x18(sp) | gp = *(var_18h);
0x00015c88 b 0x15884 | goto label_55;
| label_80:
0x00015c8c addiu v0, zero, -1 | v0 = -1;
0x00015c90 b 0x153d4 | goto label_56;
| label_57:
0x00015c94 lw t9, -0x77d4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00015c98 jalr t9 | t9 ();
0x00015c9c nop |
| }
[*] Function strcpy used 5 times overlayd