[*] Binary protection state of vdo-system-ctrl
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function system tear down of vdo-system-ctrl
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vdo-system-ctrl @ 0xd10 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 2944 named .text */
0x00000d10 lui gp, 2 |
0x00000d14 addiu gp, gp, -0x6d00 |
0x00000d18 addu gp, gp, t9 | gp += t9;
0x00000d1c addiu sp, sp, -0x200 |
0x00000d20 addiu v0, zero, -1 | v0 = -1;
0x00000d24 sw s2, 0x1f4(sp) | *(var_1f4h) = s2;
0x00000d28 lw s2, -0x7f90(gp) | s2 = *((gp - 8164));
0x00000d2c lw t9, -0x7f58(gp) | t9 = sym.imp.memset;
0x00000d30 sw ra, 0x1fc(sp) | *(var_1fch) = ra;
0x00000d34 lw v1, (s2) | v1 = *(s2);
0x00000d38 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00000d3c sw v1, 0x1e4(sp) | *(var_1e4h) = v1;
0x00000d40 sw s0, 0x1ec(sp) | *(var_1ech) = s0;
0x00000d44 sw a0, 0x200(sp) | *(arg_200h) = a0;
0x00000d48 sw a1, 0x24(sp) | *(var_24h) = a1;
0x00000d4c addiu a2, zero, 0xc0 | a2 = 0xc0;
0x00000d50 move a1, zero | a1 = 0;
0x00000d54 sw s3, 0x1f8(sp) | *(var_1f8h) = s3;
0x00000d58 sw s1, 0x1f0(sp) | *(var_1f0h) = s1;
0x00000d5c sw zero, 0x28(sp) | *(var_28h) = 0;
0x00000d60 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00000d64 sw zero, 0x30(sp) | *(var_30h) = 0;
0x00000d68 sw zero, 0x34(sp) | *(var_34h) = 0;
0x00000d6c sw zero, 0x38(sp) | *(var_38h) = 0;
0x00000d70 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00000d74 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00000d78 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00000d7c sw v0, 0x48(sp) | *(var_48h) = v0;
0x00000d80 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00000d84 sw zero, 0x50(sp) | *(var_50h) = 0;
0x00000d88 sw zero, 0x54(sp) | *(var_54h) = 0;
0x00000d8c sw zero, 0x58(sp) | *(var_58h) = 0;
0x00000d90 addiu a0, sp, 0x60 | a0 = sp + 0x60;
0x00000d94 jalr t9 | t9 ();
0x00000d98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00000d9c addiu s0, zero, 2 | s0 = 2;
0x00000da0 addiu a2, zero, 0xc0 | a2 = 0xc0;
0x00000da4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000da8 lw t9, -0x7f58(gp) | t9 = sym.imp.memset;
0x00000dac addiu v0, v0, 0x1a88 | v0 += str.start_capture;
0x00000db0 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x00000db4 addiu v0, zero, 0x73 | v0 = 0x73;
0x00000db8 sb v0, 0x60(sp) | *(var_60h) = v0;
0x00000dbc addiu v0, sp, 0x2c | v0 = sp + 0x2c;
0x00000dc0 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x00000dc4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000dc8 move a1, zero | a1 = 0;
0x00000dcc addiu v0, v0, 0x1a98 | v0 += str.Start_capture;
0x00000dd0 sw v0, 0x70(sp) | *(var_70h) = v0;
0x00000dd4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000dd8 addiu a0, sp, 0x124 | a0 = sp + 0x124;
0x00000ddc addiu v0, v0, 0x1aa8 | v0 += str.stop_capture;
0x00000de0 sw v0, 0x78(sp) | *(var_78h) = v0;
0x00000de4 addiu v0, zero, 0x70 | v0 = 0x70;
0x00000de8 sb v0, 0x7c(sp) | *(var_7ch) = v0;
0x00000dec addiu v0, sp, 0x30 | v0 = sp + 0x30;
0x00000df0 sw v0, 0x88(sp) | *(var_88h) = v0;
0x00000df4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000df8 sw s0, 0xd8(sp) | *(var_d8h) = s0;
0x00000dfc addiu v0, v0, 0x1ab8 | v0 += str.Stop_capture;
0x00000e00 sw v0, 0x8c(sp) | *(var_8ch) = v0;
0x00000e04 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e08 sw s0, 0xf4(sp) | *(var_f4h) = s0;
0x00000e0c addiu v0, v0, 0x1ac8 | v0 += str.set_capture_mode;
0x00000e10 sw v0, 0x94(sp) | *(var_94h) = v0;
0x00000e14 addiu v0, zero, 1 | v0 = 1;
0x00000e18 sw v0, 0xa0(sp) | *(var_a0h) = v0;
0x00000e1c addiu v0, sp, 0x38 | v0 = sp + 0x38;
0x00000e20 sw v0, 0xa4(sp) | *(var_a4h) = v0;
0x00000e24 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e28 addiu v0, v0, 0x1adc | v0 += str.Set_capture_mode;
0x00000e2c sw v0, 0xa8(sp) | *(var_a8h) = v0;
0x00000e30 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e34 addiu v0, v0, 0x1af0 | v0 += str.get_capture_mode;
0x00000e38 sw v0, 0xb0(sp) | *(var_b0h) = v0;
0x00000e3c addiu v0, sp, 0x34 | v0 = sp + 0x34;
0x00000e40 sw v0, 0xc0(sp) | *(var_c0h) = v0;
0x00000e44 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e48 addiu v0, v0, 0x1b04 | v0 += str.Get_capture_mode;
0x00000e4c sw v0, 0xc4(sp) | *(var_c4h) = v0;
0x00000e50 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e54 addiu v0, v0, 0x1b18 | v0 += str.raw_capture_enabled;
0x00000e58 sw v0, 0xcc(sp) | *(var_cch) = v0;
0x00000e5c addiu v0, zero, 0x72 | v0 = 0x72;
0x00000e60 sb v0, 0xd0(sp) | *(var_d0h) = v0;
0x00000e64 addiu v0, sp, 0x40 | v0 = sp + 0x40;
0x00000e68 sw v0, 0xdc(sp) | *(var_dch) = v0;
0x00000e6c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e70 addiu v0, v0, 0x1b2c | v0 += str.Set_raw_capture_enabled;
0x00000e74 sw v0, 0xe0(sp) | *(var_e0h) = v0;
0x00000e78 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e7c addiu v0, v0, 0x1b44 | v0 += str.nvr_fake;
0x00000e80 sw v0, 0xe8(sp) | *(var_e8h) = v0;
0x00000e84 addiu v0, zero, 0x6e | v0 = 0x6e;
0x00000e88 sb v0, 0xec(sp) | *(var_ech) = v0;
0x00000e8c addiu v0, sp, 0x3c | v0 = sp + 0x3c;
0x00000e90 sw v0, 0xf8(sp) | *(var_f8h) = v0;
0x00000e94 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e98 addiu v0, v0, 0x1b50 | v0 += str.Fake_nvr__bool_;
0x00000e9c sw v0, 0xfc(sp) | *(var_fch) = v0;
0x00000ea0 jalr t9 | t9 ();
0x00000ea4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00000ea8 sw s0, 0x12c(sp) | *(var_12ch) = s0;
0x00000eac sw s0, 0x148(sp) | *(var_148h) = s0;
0x00000eb0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000eb4 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_option_context_new;
0x00000eb8 addiu v0, v0, 0x1b60 | v0 += str.core;
0x00000ebc sw v0, 0x120(sp) | *(var_120h) = v0;
0x00000ec0 addiu v0, zero, 0x63 | v0 = 0x63;
0x00000ec4 sb v0, 0x124(sp) | *(var_124h) = v0;
0x00000ec8 addiu v0, sp, 0x44 | v0 = sp + 0x44;
0x00000ecc sw v0, 0x130(sp) | *(var_130h) = v0;
0x00000ed0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000ed4 sw s0, 0x164(sp) | *(var_164h) = s0;
0x00000ed8 addiu v0, v0, 0x1b68 | v0 += str.Enable_disable_core_prints;
0x00000edc sw v0, 0x134(sp) | *(var_134h) = v0;
0x00000ee0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000ee4 move a0, zero | a0 = 0;
0x00000ee8 addiu v0, v0, 0x1b84 | v0 += str.dbus;
0x00000eec sw v0, 0x13c(sp) | *(var_13ch) = v0;
0x00000ef0 addiu v0, zero, 0x64 | v0 = 0x64;
0x00000ef4 sb v0, 0x140(sp) | *(var_140h) = v0;
0x00000ef8 addiu v0, sp, 0x48 | v0 = sp + 0x48;
0x00000efc sw v0, 0x14c(sp) | *(var_14ch) = v0;
0x00000f00 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f04 addiu v0, v0, 0x1b8c | v0 += str.Enable_disable_dbus_prints;
0x00000f08 sw v0, 0x150(sp) | *(var_150h) = v0;
0x00000f0c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f10 addiu v0, v0, 0x1ba8 | v0 += 0x1ba8;
0x00000f14 sw v0, 0x158(sp) | *(var_158h) = v0;
0x00000f18 addiu v0, zero, 0x68 | v0 = 0x68;
0x00000f1c sb v0, 0x15c(sp) | *(var_15ch) = v0;
0x00000f20 addiu v0, sp, 0x4c | v0 = sp + 0x4c;
0x00000f24 sw v0, 0x168(sp) | *(var_168h) = v0;
0x00000f28 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f2c addiu v0, v0, 0x1bac | v0 += str.Enable_disable_hal_prints;
0x00000f30 sw v0, 0x16c(sp) | *(var_16ch) = v0;
0x00000f34 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f38 addiu v0, v0, 0x1bc8 | v0 += str.dump_settings;
0x00000f3c sw v0, 0x174(sp) | *(var_174h) = v0;
0x00000f40 addiu v0, sp, 0x50 | v0 = sp + 0x50;
0x00000f44 sw v0, 0x184(sp) | *(var_184h) = v0;
0x00000f48 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f4c addiu v0, v0, 0x1bd8 | v0 += str.Dump_settings_map;
0x00000f50 sw v0, 0x188(sp) | *(var_188h) = v0;
0x00000f54 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f58 addiu v0, v0, 0x1bec | v0 += str.dump_info;
0x00000f5c sw v0, 0x190(sp) | *(var_190h) = v0;
0x00000f60 addiu v0, sp, 0x54 | v0 = sp + 0x54;
0x00000f64 sw v0, 0x1a0(sp) | *(var_1a0h) = v0;
0x00000f68 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f6c addiu v0, v0, 0x1bf8 | v0 += str.Dump_info_map;
0x00000f70 sw v0, 0x1a4(sp) | *(var_1a4h) = v0;
0x00000f74 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f78 addiu v0, v0, 0x1c08 | v0 += str.dump_caps;
0x00000f7c sw v0, 0x1ac(sp) | *(var_1ach) = v0;
0x00000f80 addiu v0, sp, 0x58 | v0 = sp + 0x58;
0x00000f84 sw v0, 0x1bc(sp) | *(var_1bch) = v0;
0x00000f88 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000f8c addiu v0, v0, 0x1c14 | v0 += str.Dump_caps_map;
0x00000f90 sw v0, 0x1c0(sp) | *(var_1c0h) = v0;
0x00000f94 jalr t9 | t9 ();
0x00000f98 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00000f9c beqz v0, 0x1628 | goto label_22;
| }
0x00000fa0 lw t9, -0x7f64(gp) | t9 = sym.imp.g_option_context_add_main_entries;
0x00000fa4 move a0, v0 | a0 = v0;
0x00000fa8 move a2, zero | a2 = 0;
0x00000fac addiu a1, sp, 0x5c | a1 = sp + 0x5c;
0x00000fb0 move s1, v0 | s1 = v0;
0x00000fb4 jalr t9 | t9 ();
0x00000fb8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00000fbc move a3, zero | a3 = 0;
0x00000fc0 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x00000fc4 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00000fc8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00000fcc lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00000fd0 lw t9, -0x7fa4(gp) | t9 = sym.imp.g_option_group_new;
0x00000fd4 addiu a2, a2, 0x1c24 | a2 += str.Options_for_enabling_disabling_debug_domains_and_dump_settings;
0x00000fd8 addiu a1, a1, 0x1c64 | a1 += str.Debug_options;
0x00000fdc addiu a0, a0, 0x1c74 | a0 += str.debug;
0x00000fe0 jalr t9 | t9 ();
0x00000fe4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00000fe8 move a0, v0 | a0 = v0;
0x00000fec addiu a1, sp, 0x120 | a1 = sp + 0x120;
0x00000ff0 lw t9, -0x7fac(gp) | t9 = sym.imp.g_option_group_add_entries;
0x00000ff4 move s0, v0 | s0 = v0;
0x00000ff8 jalr t9 | t9 ();
0x00000ffc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001000 move a1, s0 | a1 = s0;
0x00001004 move a0, s1 | a0 = s1;
0x00001008 lw t9, -0x7f8c(gp) | t9 = sym.imp.g_option_context_add_group;
0x0000100c addiu s0, sp, 0x28 | s0 = sp + 0x28;
0x00001010 jalr t9 | t9 ();
0x00001014 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001018 move a3, s0 | a3 = s0;
0x0000101c addiu a2, sp, 0x24 | a2 = sp + 0x24;
0x00001020 lw t9, -0x7f84(gp) | t9 = sym.imp.g_option_context_parse;
0x00001024 addiu a1, sp, 0x200 | a1 = sp + 0x200;
0x00001028 move a0, s1 | a0 = s1;
0x0000102c jalr t9 | t9 ();
0x00001030 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001034 beqz v0, 0x1604 | goto label_23;
| }
0x00001038 lw t9, -0x7f44(gp) | t9 = sym.imp.g_option_context_free;
0x0000103c move a0, s1 | a0 = s1;
0x00001040 jalr t9 | t9 ();
0x00001044 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001048 lw t9, -0x7f6c(gp) | t9 = sym.imp.vdo_system_new
0x0000104c move a0, s0 | a0 = s0;
0x00001050 jalr t9 | t9 ();
0x00001054 move s1, v0 | s1 = v0;
0x00001058 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000105c beqz v0, 0x1630 | goto label_24;
| }
0x00001060 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00001064 lw t9, -0x7f88(gp) | t9 = sym.imp.vdo_system_stop
| if (v0 != 0) {
0x00001068 bnez v0, 0x137c | goto label_25;
| }
| label_11:
0x0000106c lw v0, 0x40(sp) | v0 = *(var_40h);
0x00001070 lw t9, -0x7f34(gp) | t9 = sym.imp.vdo_system_get_settings
| if (v0 >= 0) {
0x00001074 bgez v0, 0x1288 | goto label_26;
| }
| label_8:
0x00001078 lw v0, 0x34(sp) | v0 = *(var_34h);
0x0000107c lw t9, -0x7f34(gp) | t9 = sym.imp.vdo_system_get_settings
| if (v0 != 0) {
0x00001080 bnez v0, 0x12dc | goto label_27;
| }
| label_9:
0x00001084 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00001088 lw t9, -0x7f60(gp) | t9 = sym.imp.vdo_map_new;
| if (v0 >= 0) {
0x0000108c bgez v0, 0x1224 | goto label_28;
| }
| label_7:
0x00001090 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00001094 lw t9, -0x7f60(gp) | t9 = sym.imp.vdo_map_new;
| if (v0 != 0) {
0x00001098 beqz v0, 0x10f4 |
0x0000109c jalr t9 | t9 ();
0x000010a0 nop |
0x000010a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000010a8 lw a2, 0x38(sp) | a2 = *(var_38h);
0x000010ac move a0, v0 | a0 = v0;
0x000010b0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000010b4 lw t9, -0x7fa0(gp) | t9 = sym.imp.vdo_map_set_string;
0x000010b8 addiu a1, a1, 0x1d3c | a1 += str.capture_mode;
0x000010bc move s3, v0 | s3 = v0;
0x000010c0 jalr t9 | t9 ();
0x000010c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000010c8 move a2, s0 | a2 = s0;
0x000010cc move a1, s3 | a1 = s3;
0x000010d0 lw t9, -0x7f78(gp) | t9 = sym.imp.vdo_system_set_settings
0x000010d4 move a0, s1 | a0 = s1;
0x000010d8 jalr t9 | t9 ();
0x000010dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000010e0 beqz v0, 0x14c4 | goto label_29;
| }
| label_17:
0x000010e4 lw t9, -0x7f50(gp) | t9 = sym.imp.g_object_unref;
0x000010e8 move a0, s3 | a0 = s3;
0x000010ec jalr t9 | t9 ();
0x000010f0 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x000010f4 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x000010f8 lw t9, -0x7fb0(gp) | t9 = sym.imp.vdo_system_start
| if (v0 != 0) {
0x000010fc bnez v0, 0x13b8 | goto label_30;
| }
| label_12:
0x00001100 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00001104 lw v0, 0x48(sp) | v0 = *(var_48h);
| if (v0 < 0) {
0x00001108 bgez v0, 0x1114 |
0x0000110c lw v0, 0x4c(sp) | v0 = *(var_4ch);
| if (v0 < 0) {
0x00001110 bltz v0, 0x11f4 | goto label_31;
| }
| }
0x00001114 lw t9, -0x7f94(gp) | t9 = sym.imp.vdo_system_get_active_debug_domains
| label_1:
0x00001118 move a1, s0 | a1 = s0;
0x0000111c move a0, s1 | a0 = s1;
0x00001120 jalr t9 | t9 ();
0x00001124 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00001128 bltz v0, 0x1494 | goto label_32;
| }
| label_16:
0x0000112c lw v1, 0x44(sp) | v1 = *(var_44h);
0x00001130 addiu a0, zero, 1 | a0 = 1;
| if (v1 == 0) {
0x00001134 bnel v1, zero, 0x11e4 | goto label_33;
| }
0x00001138 addiu v1, zero, -2 | v1 = -2;
0x0000113c and v0, v0, v1 | v0 &= v1;
| do {
0x00001140 lw v1, 0x48(sp) | v1 = *(var_48h);
| label_0:
0x00001144 addiu a0, zero, 1 | a0 = 1;
| if (v1 != 0) {
0x00001148 bnez v1, 0x1214 | goto label_34;
| }
0x0000114c addiu v1, zero, -3 | v1 = -3;
0x00001150 and v0, v0, v1 | v0 &= v1;
| label_5:
0x00001154 lw v1, 0x4c(sp) | v1 = *(var_4ch);
| label_6:
0x00001158 addiu a0, zero, 1 | a0 = 1;
| if (v1 != 0) {
0x0000115c bnez v1, 0x1204 | goto label_35;
| }
0x00001160 addiu v1, zero, -5 | v1 = -5;
0x00001164 and v0, v0, v1 | v0 &= v1;
| label_3:
0x00001168 lw t9, -0x7f48(gp) | t9 = sym.imp.vdo_system_set_active_debug_domains
| label_4:
0x0000116c move a2, s0 | a2 = s0;
0x00001170 move a1, v0 | a1 = v0;
0x00001174 move a0, s1 | a0 = s1;
0x00001178 jalr t9 | t9 ();
0x0000117c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001180 beqz v0, 0x146c | goto label_36;
| }
| label_15:
0x00001184 lw v0, 0x50(sp) | v0 = *(var_50h);
| label_2:
0x00001188 lw t9, -0x7f34(gp) | t9 = sym.imp.vdo_system_get_settings
| if (v0 != 0) {
0x0000118c bnez v0, 0x1340 | goto label_37;
| }
| label_10:
0x00001190 lw v0, 0x54(sp) | v0 = *(var_54h);
0x00001194 lw t9, -0x7f98(gp) | t9 = sym.imp.vdo_system_get_info
| if (v0 != 0) {
0x00001198 bnez v0, 0x1430 | goto label_38;
| }
| label_14:
0x0000119c lw v0, 0x58(sp) | v0 = *(var_58h);
0x000011a0 lw t9, -0x7f3c(gp) | t9 = sym.imp.vdo_system_get_caps
| if (v0 != 0) {
0x000011a4 bnez v0, 0x13f4 | goto label_39;
| }
| label_13:
0x000011a8 lw t9, -0x7f54(gp) | t9 = sym.imp.g_clear_error;
0x000011ac move a0, s0 | a0 = s0;
0x000011b0 jalr t9 | t9 ();
0x000011b4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000011b8 move v0, zero | v0 = 0;
| label_21:
0x000011bc lw a0, 0x1e4(sp) | a0 = *(var_1e4h);
0x000011c0 lw v1, (s2) | v1 = *(s2);
0x000011c4 lw ra, 0x1fc(sp) | ra = *(var_1fch);
| if (a0 != v1) {
0x000011c8 bne a0, v1, 0x165c | goto label_40;
| }
0x000011cc lw s3, 0x1f8(sp) | s3 = *(var_1f8h);
0x000011d0 lw s2, 0x1f4(sp) | s2 = *(var_1f4h);
0x000011d4 lw s1, 0x1f0(sp) | s1 = *(var_1f0h);
0x000011d8 lw s0, 0x1ec(sp) | s0 = *(var_1ech);
0x000011dc addiu sp, sp, 0x200 |
0x000011e0 jr ra | return v0;
| label_33:
0x000011e4 beql v1, a0, 0x1140 |
| } while (v1 == a0);
0x000011e8 ori v0, v0, 1 | v0 |= 1;
0x000011ec lw v1, 0x48(sp) | v1 = *(var_48h);
0x000011f0 b 0x1144 | goto label_0;
| label_31:
0x000011f4 lw t9, -0x7f94(gp) | t9 = sym.imp.vdo_system_get_active_debug_domains
| if (v0 >= 0) {
0x000011f8 bgez v0, 0x1118 | goto label_1;
| }
0x000011fc lw v0, 0x50(sp) | v0 = *(var_50h);
0x00001200 b 0x1188 | goto label_2;
| if (v1 == a0) {
| label_35:
0x00001204 beql v1, a0, 0x1168 | goto label_3;
| }
0x00001208 ori v0, v0, 4 | v0 |= 4;
0x0000120c lw t9, -0x7f48(gp) | t9 = sym.imp.vdo_system_set_active_debug_domains
0x00001210 b 0x116c | goto label_4;
| if (v1 == a0) {
| label_34:
0x00001214 beql v1, a0, 0x1154 | goto label_5;
| }
0x00001218 ori v0, v0, 2 | v0 |= 2;
0x0000121c lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x00001220 b 0x1158 | goto label_6;
| label_28:
0x00001224 jalr t9 | t9 ();
0x00001228 nop |
0x0000122c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001230 lw a2, 0x3c(sp) | a2 = *(var_3ch);
0x00001234 move a0, v0 | a0 = v0;
0x00001238 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000123c lw t9, -0x7f74(gp) | t9 = sym.imp.vdo_map_set_boolean;
0x00001240 sltu a2, zero, a2 | a2 = (0 < a2) ? 1 : 0;
0x00001244 addiu a1, a1, 0x1d60 | a1 += str.nvr.fake;
0x00001248 move s3, v0 | s3 = v0;
0x0000124c jalr t9 | t9 ();
0x00001250 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001254 move a2, s0 | a2 = s0;
0x00001258 move a1, s3 | a1 = s3;
0x0000125c lw t9, -0x7f78(gp) | t9 = sym.imp.vdo_system_set_settings
0x00001260 move a0, s1 | a0 = s1;
0x00001264 jalr t9 | t9 ();
0x00001268 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000126c beqz v0, 0x1504 | goto label_41;
| }
| label_19:
0x00001270 lw t9, -0x7f50(gp) | t9 = sym.imp.g_object_unref;
| if (s3 == 0) {
0x00001274 beqz s3, 0x1090 | goto label_7;
| }
0x00001278 move a0, s3 | a0 = s3;
0x0000127c jalr t9 | t9 ();
0x00001280 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001284 b 0x1090 | goto label_7;
| label_26:
0x00001288 move a1, s0 | a1 = s0;
0x0000128c move a0, s1 | a0 = s1;
0x00001290 jalr t9 | t9 ();
0x00001294 move s3, v0 | s3 = v0;
0x00001298 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000129c beqz v0, 0x15dc | goto label_42;
| }
0x000012a0 lw a2, 0x40(sp) | a2 = *(var_40h);
0x000012a4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| if (a2 >= 0) {
0x000012a8 bgez a2, 0x14ec | goto label_43;
| }
| label_18:
0x000012ac lw t9, -0x7f78(gp) | t9 = sym.imp.vdo_system_set_settings
0x000012b0 move a2, s0 | a2 = s0;
0x000012b4 move a1, s3 | a1 = s3;
0x000012b8 move a0, s1 | a0 = s1;
0x000012bc jalr t9 | t9 ();
0x000012c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000012c4 beqz v0, 0x152c | goto label_44;
| }
| label_20:
0x000012c8 lw t9, -0x7f50(gp) | t9 = sym.imp.g_object_unref;
0x000012cc move a0, s3 | a0 = s3;
0x000012d0 jalr t9 | t9 ();
0x000012d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000012d8 b 0x1078 | goto label_8;
| label_27:
0x000012dc move a1, s0 | a1 = s0;
0x000012e0 move a0, s1 | a0 = s1;
0x000012e4 jalr t9 | t9 ();
0x000012e8 move s3, v0 | s3 = v0;
0x000012ec lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000012f0 beqz v0, 0x15b4 | goto label_45;
| }
0x000012f4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000012f8 lw t9, -0x7f80(gp) | t9 = sym.imp.vdo_map_get_string;
0x000012fc move a3, zero | a3 = 0;
0x00001300 move a2, zero | a2 = 0;
0x00001304 addiu a1, a1, 0x1d3c | a1 += str.capture_mode;
0x00001308 move a0, v0 | a0 = v0;
0x0000130c jalr t9 | t9 ();
0x00001310 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001314 move a1, v0 | a1 = v0;
0x00001318 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000131c lw t9, -0x7f40(gp) | t9 = sym.imp.g_print;
0x00001320 addiu a0, a0, 0x1d4c | a0 += str.capture_mode:__s_n;
0x00001324 jalr t9 | t9 ();
0x00001328 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000132c lw t9, -0x7f50(gp) | t9 = sym.imp.g_object_unref;
0x00001330 move a0, s3 | a0 = s3;
0x00001334 jalr t9 | t9 ();
0x00001338 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000133c b 0x1084 | goto label_9;
| label_37:
0x00001340 move a1, s0 | a1 = s0;
0x00001344 move a0, s1 | a0 = s1;
0x00001348 jalr t9 | t9 ();
0x0000134c move s3, v0 | s3 = v0;
0x00001350 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001354 beqz v0, 0x1594 | goto label_46;
| }
0x00001358 lw t9, -0x7f38(gp) | t9 = sym.imp.vdo_map_dump;
0x0000135c move a0, v0 | a0 = v0;
0x00001360 jalr t9 | t9 ();
0x00001364 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001368 lw t9, -0x7f50(gp) | t9 = sym.imp.g_object_unref;
0x0000136c move a0, s3 | a0 = s3;
0x00001370 jalr t9 | t9 ();
0x00001374 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001378 b 0x1190 | goto label_10;
| label_25:
0x0000137c move a1, s0 | a1 = s0;
0x00001380 move a0, s1 | a0 = s1;
0x00001384 jalr t9 | t9 ();
0x00001388 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000138c bnez v0, 0x106c | goto label_11;
| }
0x00001390 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00001394 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001398 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x0000139c lw a3, 8(v0) | a3 = *((v0 + 2));
0x000013a0 addiu a2, a2, 0x1cc4 | a2 += str.failed_to_stop_capture:__s;
0x000013a4 addiu a1, zero, 0x10 | a1 = 0x10;
0x000013a8 move a0, zero | a0 = 0;
0x000013ac jalr t9 | t9 ();
0x000013b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000013b4 b 0x106c | goto label_11;
| label_30:
0x000013b8 move a1, s0 | a1 = s0;
0x000013bc move a0, s1 | a0 = s1;
0x000013c0 jalr t9 | t9 ();
0x000013c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000013c8 bnez v0, 0x1100 | goto label_12;
| }
0x000013cc lw v0, 0x28(sp) | v0 = *(var_28h);
0x000013d0 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000013d4 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x000013d8 lw a3, 8(v0) | a3 = *((v0 + 2));
0x000013dc addiu a2, a2, 0x1d6c | a2 += str.failed_to_start_capture:__s;
0x000013e0 addiu a1, zero, 0x10 | a1 = 0x10;
0x000013e4 move a0, zero | a0 = 0;
0x000013e8 jalr t9 | t9 ();
0x000013ec lw gp, 0x18(sp) | gp = *(var_18h);
0x000013f0 b 0x1100 | goto label_12;
| label_39:
0x000013f4 move a0, s1 | a0 = s1;
0x000013f8 move a1, s0 | a1 = s0;
0x000013fc jalr t9 | t9 ();
0x00001400 move s1, v0 | s1 = v0;
0x00001404 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001408 beqz v0, 0x1574 |
0x0000140c lw t9, -0x7f38(gp) | t9 = sym.imp.vdo_map_dump;
0x00001410 move a0, v0 | a0 = v0;
0x00001414 jalr t9 | t9 ();
0x00001418 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000141c lw t9, -0x7f50(gp) | t9 = sym.imp.g_object_unref;
0x00001420 move a0, s1 | a0 = s1;
0x00001424 jalr t9 | t9 ();
0x00001428 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000142c b 0x11a8 | goto label_13;
| label_38:
0x00001430 move a1, s0 | a1 = s0;
0x00001434 move a0, s1 | a0 = s1;
0x00001438 jalr t9 | t9 ();
0x0000143c move s3, v0 | s3 = v0;
0x00001440 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001444 beqz v0, 0x1554 |
0x00001448 lw t9, -0x7f38(gp) | t9 = sym.imp.vdo_map_dump;
0x0000144c move a0, v0 | a0 = v0;
0x00001450 jalr t9 | t9 ();
0x00001454 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001458 lw t9, -0x7f50(gp) | t9 = sym.imp.g_object_unref;
0x0000145c move a0, s3 | a0 = s3;
0x00001460 jalr t9 | t9 ();
0x00001464 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001468 b 0x119c | goto label_14;
| label_36:
0x0000146c lw v0, 0x28(sp) | v0 = *(var_28h);
0x00001470 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001474 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x00001478 lw a3, 8(v0) | a3 = *((v0 + 2));
0x0000147c addiu a2, a2, 0x1db0 | a2 += str.failed_to_set_active_debug_domains:__s;
0x00001480 addiu a1, zero, 0x10 | a1 = 0x10;
0x00001484 move a0, zero | a0 = 0;
0x00001488 jalr t9 | t9 ();
0x0000148c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001490 b 0x1184 | goto label_15;
| label_32:
0x00001494 lw v1, 0x28(sp) | v1 = *(var_28h);
0x00001498 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x0000149c lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x000014a0 lw a3, 8(v1) | a3 = *((v1 + 2));
0x000014a4 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000014a8 addiu a2, a2, 0x1d88 | a2 += str.failed_to_get_active_debug_domains:__s;
0x000014ac addiu a1, zero, 0x10 | a1 = 0x10;
0x000014b0 move a0, zero | a0 = 0;
0x000014b4 jalr t9 | t9 ();
0x000014b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000014bc lw v0, 0x20(sp) | v0 = *(var_20h);
0x000014c0 b 0x112c | goto label_16;
| label_29:
0x000014c4 lw v0, 0x28(sp) | v0 = *(var_28h);
0x000014c8 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000014cc lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x000014d0 lw a3, 8(v0) | a3 = *((v0 + 2));
0x000014d4 addiu a2, a2, 0x1d18 | a2 += str.failed_to_set_system_settings:__s
0x000014d8 addiu a1, zero, 0x10 | a1 = 0x10;
0x000014dc move a0, zero | a0 = 0;
0x000014e0 jalr t9 | t9 ();
0x000014e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000014e8 b 0x10e4 | goto label_17;
| label_43:
0x000014ec lw t9, -0x7f74(gp) | t9 = sym.imp.vdo_map_set_boolean;
0x000014f0 addiu a1, a1, 0x1d04 | a1 += str.raw_capture.enabled;
0x000014f4 move a0, v0 | a0 = v0;
0x000014f8 jalr t9 | t9 ();
0x000014fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001500 b 0x12ac | goto label_18;
| label_41:
0x00001504 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00001508 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x0000150c lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x00001510 lw a3, 8(v0) | a3 = *((v0 + 2));
0x00001514 addiu a2, a2, 0x1d18 | a2 += str.failed_to_set_system_settings:__s
0x00001518 addiu a1, zero, 0x10 | a1 = 0x10;
0x0000151c move a0, zero | a0 = 0;
0x00001520 jalr t9 | t9 ();
0x00001524 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001528 b 0x1270 | goto label_19;
| label_44:
0x0000152c lw v0, 0x28(sp) | v0 = *(var_28h);
0x00001530 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001534 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x00001538 lw a3, 8(v0) | a3 = *((v0 + 2));
0x0000153c addiu a2, a2, 0x1d18 | a2 += str.failed_to_set_system_settings:__s
0x00001540 addiu a1, zero, 0x10 | a1 = 0x10;
0x00001544 move a0, zero | a0 = 0;
0x00001548 jalr t9 | t9 ();
0x0000154c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001550 b 0x12c8 | goto label_20;
| }
0x00001554 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001558 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x0000155c addiu a2, a2, 0x1df8 | a2 += str.Failed_to_get_system_info:_
0x00001560 addiu a1, zero, 0x10 | a1 = 0x10;
0x00001564 move a0, zero | a0 = 0;
0x00001568 jalr t9 | t9 ();
0x0000156c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001570 b 0x119c | goto label_14;
| }
0x00001574 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001578 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x0000157c addiu a2, a2, 0x1e14 | a2 += str.Failed_to_get_system_caps:_
0x00001580 addiu a1, zero, 0x10 | a1 = 0x10;
0x00001584 move a0, zero | a0 = 0;
0x00001588 jalr t9 | t9 ();
0x0000158c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001590 b 0x11a8 | goto label_13;
| label_46:
0x00001594 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001598 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x0000159c addiu a2, a2, 0x1dd8 | a2 += str.Failed_to_get_system_settings:_
0x000015a0 addiu a1, zero, 0x10 | a1 = 0x10;
0x000015a4 move a0, zero | a0 = 0;
0x000015a8 jalr t9 | t9 ();
0x000015ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000015b0 b 0x1190 | goto label_10;
| label_45:
0x000015b4 lw v0, 0x28(sp) | v0 = *(var_28h);
0x000015b8 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000015bc lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x000015c0 lw a3, 8(v0) | a3 = *((v0 + 2));
0x000015c4 addiu a2, a2, 0x1ce0 | a2 += str.failed_to_get_system_settings:__s
0x000015c8 addiu a1, zero, 0x10 | a1 = 0x10;
0x000015cc move a0, zero | a0 = 0;
0x000015d0 jalr t9 | t9 ();
0x000015d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000015d8 b 0x1084 | goto label_9;
| label_42:
0x000015dc lw v0, 0x28(sp) | v0 = *(var_28h);
0x000015e0 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000015e4 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x000015e8 lw a3, 8(v0) | a3 = *((v0 + 2));
0x000015ec addiu a2, a2, 0x1ce0 | a2 += str.failed_to_get_system_settings:__s
0x000015f0 addiu a1, zero, 0x10 | a1 = 0x10;
0x000015f4 move a0, zero | a0 = 0;
0x000015f8 jalr t9 | t9 ();
0x000015fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001600 b 0x1078 | goto label_8;
| label_23:
0x00001604 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00001608 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000160c lw t9, -0x7f40(gp) | t9 = sym.imp.g_print;
0x00001610 lw a1, 8(v0) | a1 = *((v0 + 2));
0x00001614 addiu a0, a0, 0x1c7c | a0 += str.failed_to_parse_option_context:__s_n;
0x00001618 jalr t9 | t9 ();
0x0000161c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001620 addiu v0, zero, -1 | v0 = -1;
0x00001624 b 0x11bc | goto label_21;
| label_22:
0x00001628 addiu v0, zero, -1 | v0 = -1;
0x0000162c b 0x11bc | goto label_21;
| label_24:
0x00001630 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00001634 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001638 lw t9, -0x7fb4(gp) | t9 = sym.imp.g_log;
0x0000163c lw a3, 8(v0) | a3 = *((v0 + 2));
0x00001640 addiu a2, a2, 0x1ca0 | a2 += str.failed_to_get_system_instance:__s
0x00001644 addiu a1, zero, 8 | a1 = 8;
0x00001648 move a0, zero | a0 = 0;
0x0000164c jalr t9 | t9 ();
0x00001650 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001654 addiu v0, zero, -1 | v0 = -1;
0x00001658 b 0x11bc | goto label_21;
| label_40:
0x0000165c lw t9, -0x7f9c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00001660 jalr t9 | t9 ();
0x00001664 nop |
0x00001668 nop |
0x0000166c nop |
| }
[*] Function system used 27 times vdo-system-ctrl