[*] Binary protection state of vision-devices
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function system tear down of vision-devices
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vision-devices @ 0x1060 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 4832 named .text */
0x00001060 lui gp, 2 |
0x00001064 addiu gp, gp, -0x6050 |
0x00001068 addu gp, gp, t9 | gp += t9;
0x0000106c addiu sp, sp, -0xd8 |
0x00001070 lw t9, -0x7f6c(gp) | t9 = sym.imp.ax_log_syslog;
0x00001074 sw s4, 0xc8(sp) | *(var_c8h) = s4;
0x00001078 lw s4, -0x7f68(gp) | s4 = *((gp - 8154));
0x0000107c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00001080 sw ra, 0xd4(sp) | *(var_d4h) = ra;
0x00001084 lw v0, (s4) | v0 = *(s4);
0x00001088 sw s6, 0xd0(sp) | *(var_d0h) = s6;
0x0000108c sw v0, 0xb4(sp) | *(var_b4h) = v0;
0x00001090 sw s5, 0xcc(sp) | *(var_cch) = s5;
0x00001094 sw s3, 0xc4(sp) | *(var_c4h) = s3;
0x00001098 sw s2, 0xc0(sp) | *(var_c0h) = s2;
0x0000109c sw s1, 0xbc(sp) | *(var_bch) = s1;
0x000010a0 sw s0, 0xb8(sp) | *(var_b8h) = s0;
0x000010a4 jalr t9 | t9 ();
0x000010a8 nop |
0x000010ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000010b0 addiu a0, sp, 0x2c | a0 = sp + 0x2c;
0x000010b4 lw t9, -0x7f0c(gp) | t9 = sym.imp.sigemptyset;
0x000010b8 sw zero, 0x24(sp) | *(var_24h) = 0;
0x000010bc jalr t9 | t9 ();
0x000010c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000010c4 bltz v0, 0x16ec | goto label_9;
| }
0x000010c8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000010cc lw t9, -0x7f50(gp) | t9 = sym.imp.sigaction;
0x000010d0 addiu v0, v0, 0x18d0 | v0 += 0x18d0;
0x000010d4 addiu s0, sp, 0x24 | s0 = sp + 0x24;
0x000010d8 move a2, zero | a2 = 0;
0x000010dc move a1, s0 | a1 = s0;
0x000010e0 addiu a0, zero, 1 | a0 = 1;
0x000010e4 sw v0, 0x28(sp) | *(var_28h) = v0;
0x000010e8 jalr t9 | t9 ();
0x000010ec lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000010f0 bltz v0, 0x16bc | goto label_10;
| }
0x000010f4 lw t9, -0x7f50(gp) | t9 = sym.imp.sigaction;
0x000010f8 move a2, zero | a2 = 0;
0x000010fc move a1, s0 | a1 = s0;
0x00001100 addiu a0, zero, 2 | a0 = 2;
0x00001104 jalr t9 | t9 ();
0x00001108 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0000110c bltz v0, 0x1708 | goto label_11;
| }
0x00001110 lw t9, -0x7f50(gp) | t9 = sym.imp.sigaction;
0x00001114 move a2, zero | a2 = 0;
0x00001118 move a1, s0 | a1 = s0;
0x0000111c addiu a0, zero, 0xf | a0 = 0xf;
0x00001120 jalr t9 | t9 ();
0x00001124 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00001128 bltz v0, 0x134c | goto label_12;
| }
0x0000112c lw t9, -0x7f30(gp) | t9 = sym.imp.calloc;
0x00001130 addiu a1, zero, 8 | a1 = 8;
0x00001134 addiu a0, zero, 1 | a0 = 1;
0x00001138 jalr t9 | t9 ();
0x0000113c move s1, v0 | s1 = v0;
0x00001140 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001144 beqz v0, 0x1684 | goto label_13;
| }
0x00001148 lw t9, -0x7f64(gp) | t9 = sym.imp.sd_bus_open_system
0x0000114c move a0, v0 | a0 = v0;
0x00001150 jalr t9 | t9 ();
0x00001154 move s0, v0 | s0 = v0;
0x00001158 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0000115c bltz v0, 0x14e0 | goto label_14;
| }
0x00001160 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001164 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00001168 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x0000116c lw t9, -0x7f8c(gp) | t9 = sym.imp.sd_bus_add_object_vtable;
0x00001170 addiu v0, v0, 0x2fa0 | v0 += 0x2fa0;
0x00001174 addiu s2, s1, 4 | s2 = s1 + 4;
0x00001178 lw a0, (s1) | a0 = *(s1);
0x0000117c sw s1, 0x14(sp) | *(var_14h) = s1;
0x00001180 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00001184 addiu a3, a3, 0x28ec | a3 += str.com.axis.VisionDevices1.Encode;
0x00001188 addiu a2, s3, 0x290c | a2 = s3 + str._com_axis_VisionDevices1;
0x0000118c move a1, s2 | a1 = s2;
0x00001190 jalr t9 | t9 ();
0x00001194 move s0, v0 | s0 = v0;
0x00001198 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0000119c bltz v0, 0x137c | goto label_15;
| }
0x000011a0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000011a4 lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
0x000011a8 lw t9, -0x7f8c(gp) | t9 = sym.imp.sd_bus_add_object_vtable;
0x000011ac addiu v0, v0, 0x2f40 | v0 += 0x2f40;
0x000011b0 lw a0, (s1) | a0 = *(s1);
0x000011b4 sw s1, 0x14(sp) | *(var_14h) = s1;
0x000011b8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000011bc addiu a3, s6, 0x294c | a3 = s6 + str.com.axis.VisionDevices1.Acceleration;
0x000011c0 addiu a2, s3, 0x290c | a2 = s3 + str._com_axis_VisionDevices1;
0x000011c4 move a1, s2 | a1 = s2;
0x000011c8 jalr t9 | t9 ();
0x000011cc move s0, v0 | s0 = v0;
0x000011d0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000011d4 bltz v0, 0x158c | goto label_16;
| }
0x000011d8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000011dc lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
0x000011e0 lw t9, -0x7f8c(gp) | t9 = sym.imp.sd_bus_add_object_vtable;
0x000011e4 addiu v0, v0, 0x2ee0 | v0 += 0x2ee0;
0x000011e8 lw a0, (s1) | a0 = *(s1);
0x000011ec sw s1, 0x14(sp) | *(var_14h) = s1;
0x000011f0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000011f4 addiu a3, s6, 0x2994 | a3 = s6 + str.com.axis.VisionDevices1.GPU;
0x000011f8 addiu a2, s3, 0x290c | a2 = s3 + str._com_axis_VisionDevices1;
0x000011fc move a1, s2 | a1 = s2;
0x00001200 jalr t9 | t9 ();
0x00001204 move s0, v0 | s0 = v0;
0x00001208 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0000120c bltz v0, 0x15ac | goto label_17;
| }
0x00001210 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001214 lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
0x00001218 lw t9, -0x7f8c(gp) | t9 = sym.imp.sd_bus_add_object_vtable;
0x0000121c addiu v0, v0, 0x2e80 | v0 += 0x2e80;
0x00001220 lw a0, (s1) | a0 = *(s1);
0x00001224 sw s1, 0x14(sp) | *(var_14h) = s1;
0x00001228 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000122c addiu a3, s6, 0x29b0 | a3 = s6 + str.com.axis.VisionDevices1.ObjectClassification;
0x00001230 addiu a2, s3, 0x290c | a2 = s3 + str._com_axis_VisionDevices1;
0x00001234 move a1, s2 | a1 = s2;
0x00001238 jalr t9 | t9 ();
0x0000123c move s0, v0 | s0 = v0;
0x00001240 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00001244 bltz v0, 0x1498 | goto label_18;
| }
0x00001248 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000124c lw t9, -0x7f84(gp) | t9 = sym.imp.sd_bus_request_name;
0x00001250 lw a0, (s1) | a0 = *(s1);
0x00001254 move a2, zero | a2 = 0;
0x00001258 move a3, zero | a3 = 0;
0x0000125c addiu a1, a1, 0x29e0 | a1 += str.com.axis.VisionDevices1;
0x00001260 jalr t9 | t9 ();
0x00001264 move s0, v0 | s0 = v0;
0x00001268 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0000126c bltz v0, 0x161c | goto label_19;
| }
0x00001270 lw t9, -0x7f44(gp) | t9 = sym.imp.apac_init;
0x00001274 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x00001278 jalr t9 | t9 ();
0x0000127c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001280 beqz v0, 0x1520 | goto label_20;
| }
0x00001284 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x00001288 addiu v0, zero, 1 | v0 = 1;
0x0000128c lw s2, (s1) | s2 = *(s1);
0x00001290 sb v0, 0x3130(s3) | *((s3 + 12592)) = v0;
0x00001294 lbu v0, 0x3130(s3) | v0 = *((s3 + 12592));
| do {
| label_0:
0x00001298 lw t9, -0x7f98(gp) | t9 = sym.imp.sd_bus_process;
| if (v0 == 0) {
0x0000129c beqz v0, 0x12f8 | goto label_21;
| }
0x000012a0 move a1, zero | a1 = 0;
0x000012a4 move a0, s2 | a0 = s2;
0x000012a8 jalr t9 | t9 ();
0x000012ac move s0, v0 | s0 = v0;
0x000012b0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000012b4 bltz v0, 0x1548 | goto label_22;
| }
0x000012b8 lbu v0, 0x3130(s3) | v0 = *((s3 + 12592));
0x000012bc bnez v0, 0x1298 |
| } while (v0 != 0);
0x000012c0 lw t9, -0x7fa0(gp) | t9 = sym.imp.sd_bus_wait;
0x000012c4 lui a2, 0x1c9 | a2 = 0x1c9c380;
0x000012c8 ori a2, a2, 0xc380 |
0x000012cc move a3, zero | a3 = 0;
0x000012d0 move a0, s2 | a0 = s2;
0x000012d4 jalr t9 | t9 ();
0x000012d8 move s0, v0 | s0 = v0;
0x000012dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000012e0 beqz v0, 0x12f8 | goto label_21;
| }
0x000012e4 lbu v0, 0x3130(s3) | v0 = *((s3 + 12592));
| if (v0 >= 0) {
0x000012e8 bgez v0, 0x1298 | goto label_0;
| }
0x000012ec addiu v0, zero, -4 | v0 = -4;
0x000012f0 lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
| if (s0 != v0) {
0x000012f4 bne s0, v0, 0x15f4 | goto label_23;
| }
| label_21:
0x000012f8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000012fc lw t9, -0x7f14(gp) | t9 = sym.imp.sd_notify;
0x00001300 addiu a1, a1, 0x2ab0 | a1 += str.STOPPING1;
0x00001304 move a0, zero | a0 = 0;
0x00001308 jalr t9 | t9 ();
0x0000130c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00001310 bltz v0, 0x165c | goto label_24;
| }
| label_6:
0x00001314 lw t9, -0x7f90(gp) | t9 = sym.imp.apac_release;
0x00001318 jalr t9 | t9 ();
0x0000131c nop |
0x00001320 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001324 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001328 addiu t9, t9, 0x1d14 | t9 += fcn.00001d14;
0x0000132c move a0, s1 | a0 = s1;
0x00001330 bal 0x1d14 | fcn_00001d14 ();
0x00001334 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001338 lw t9, -0x7f40(gp) | t9 = sym.imp.free;
| do {
0x0000133c move a0, s1 | a0 = s1;
0x00001340 jalr t9 | t9 ();
0x00001344 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001348 b 0x1450 | goto label_25;
| label_12:
0x0000134c lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x00001350 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001354 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001358 move a0, zero | a0 = 0;
0x0000135c addiu a3, a3, 0x26ac | a3 += 0x26ac;
0x00001360 addiu a2, a2, 0x288c | a2 += str._sTerminating:_sigaction_SIGTERM;
0x00001364 addiu a1, zero, 0x100 | a1 = 0x100;
0x00001368 jalr t9 | t9 ();
0x0000136c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001370 lw t9, -0x7fa4(gp) | t9 = sym.imp.exit;
0x00001374 move a0, zero | a0 = 0;
0x00001378 jalr t9 | t9 ();
| label_15:
0x0000137c lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
0x00001380 negu s3, v0 | __asm ("negu s3, v0");
0x00001384 move a0, s3 | a0 = s3;
0x00001388 jalr t9 | t9 ();
0x0000138c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001390 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00001394 addiu a1, zero, 0x100 | a1 = 0x100;
0x00001398 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x0000139c lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000013a0 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x000013a4 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x000013a8 addiu a2, a2, 0x2928 | a2 += str._sFailed_to_issue_method_call:__s;
0x000013ac move a0, zero | a0 = 0;
0x000013b0 jalr t9 | t9 ();
0x000013b4 lw gp, 0x18(sp) | gp = *(var_18h);
| label_1:
0x000013b8 lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x000013bc addiu s2, s2, 0x1d14 | s2 += fcn.00001d14;
0x000013c0 move t9, s2 | t9 = s2;
0x000013c4 move a0, s1 | a0 = s1;
0x000013c8 bal 0x1d14 | fcn_00001d14 ();
0x000013cc lw gp, 0x18(sp) | gp = *(var_18h);
0x000013d0 lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
0x000013d4 move a0, s3 | a0 = s3;
0x000013d8 jalr t9 | t9 ();
0x000013dc lw gp, 0x18(sp) | gp = *(var_18h);
0x000013e0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000013e4 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x000013e8 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000013ec lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x000013f0 addiu a2, a2, 0x2a20 | a2 += str._sFailed_to_create_bus:__s;
0x000013f4 addiu a1, zero, 0x100 | a1 = 0x100;
0x000013f8 move a0, zero | a0 = 0;
0x000013fc jalr t9 | t9 ();
0x00001400 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001404 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
| label_2:
0x00001408 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000140c lw t9, -0x7f14(gp) | t9 = sym.imp.sd_notify;
0x00001410 addiu a1, a1, 0x2ab0 | a1 += str.STOPPING1;
0x00001414 move a0, zero | a0 = 0;
0x00001418 jalr t9 | t9 ();
0x0000141c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00001420 bltz v0, 0x1730 | goto label_26;
| }
| label_8:
0x00001424 lw t9, -0x7f90(gp) | t9 = sym.imp.apac_release;
0x00001428 jalr t9 | t9 ();
0x0000142c nop |
0x00001430 move t9, s2 | t9 = s2;
0x00001434 move a0, s1 | a0 = s1;
0x00001438 bal 0x1d14 | fcn_00001d14 ();
0x0000143c lbu v0, 0x3130(s3) | v0 = *((s3 + 12592));
0x00001440 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001444 bnez v0, 0x15cc | goto label_27;
| }
| label_4:
0x00001448 lw t9, -0x7f40(gp) | t9 = sym.imp.free;
0x0000144c bnez s1, 0x133c |
| } while (s1 != 0);
| label_25:
0x00001450 lw t9, -0x7fac(gp) | t9 = sym.imp.ax_log_cleanup;
0x00001454 jalr t9 | t9 ();
0x00001458 nop |
0x0000145c lw a0, 0xb4(sp) | a0 = *(var_b4h);
0x00001460 lw v1, (s4) | v1 = *(s4);
0x00001464 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001468 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x0000146c bne a0, v1, 0x1724 | goto label_28;
| }
0x00001470 lw ra, 0xd4(sp) | ra = *(var_d4h);
0x00001474 lw s6, 0xd0(sp) | s6 = *(var_d0h);
0x00001478 lw s5, 0xcc(sp) | s5 = *(var_cch);
0x0000147c lw s4, 0xc8(sp) | s4 = *(var_c8h);
0x00001480 lw s3, 0xc4(sp) | s3 = *(var_c4h);
0x00001484 lw s2, 0xc0(sp) | s2 = *(var_c0h);
0x00001488 lw s1, 0xbc(sp) | s1 = *(var_bch);
0x0000148c lw s0, 0xb8(sp) | s0 = *(var_b8h);
0x00001490 addiu sp, sp, 0xd8 |
0x00001494 jr ra | return v0;
| label_18:
0x00001498 lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
0x0000149c negu s3, v0 | __asm ("negu s3, v0");
0x000014a0 move a0, s3 | a0 = s3;
0x000014a4 jalr t9 | t9 ();
0x000014a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000014ac addiu s6, s6, 0x29b0 | s6 += str.com.axis.VisionDevices1.ObjectClassification;
0x000014b0 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
| do {
| label_3:
0x000014b4 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000014b8 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x000014bc sw v0, 0x14(sp) | *(var_14h) = v0;
0x000014c0 sw s6, 0x10(sp) | *(var_10h) = s6;
0x000014c4 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x000014c8 addiu a2, a2, 0x2974 | a2 += str._sFailed_to_add_vtable__s:__s;
0x000014cc addiu a1, zero, 0x100 | a1 = 0x100;
0x000014d0 move a0, zero | a0 = 0;
0x000014d4 jalr t9 | t9 ();
0x000014d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000014dc b 0x13b8 | goto label_1;
| label_14:
0x000014e0 lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
0x000014e4 negu s3, v0 | __asm ("negu s3, v0");
0x000014e8 move a0, s3 | a0 = s3;
0x000014ec jalr t9 | t9 ();
0x000014f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000014f4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000014f8 addiu a1, zero, 0x100 | a1 = 0x100;
0x000014fc lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x00001500 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001504 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001508 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x0000150c addiu a2, a2, 0x28c4 | a2 += str._sFailed_to_connect_to_system_bus:__s
0x00001510 move a0, zero | a0 = 0;
0x00001514 jalr t9 | t9 ();
0x00001518 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000151c b 0x13b8 | goto label_1;
| label_20:
0x00001520 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00001524 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001528 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x0000152c lw a3, 8(v0) | a3 = *((v0 + 2));
0x00001530 addiu a2, a2, 0x2a3c | a2 += str.apac_init_failed:__s;
0x00001534 addiu a1, zero, 4 | a1 = 4;
0x00001538 move a0, zero | a0 = 0;
0x0000153c jalr t9 | t9 ();
0x00001540 b 0x1540 |
0x00001544 nop |
| label_22:
0x00001548 lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
0x0000154c negu a0, v0 | __asm ("negu a0, v0");
0x00001550 jalr t9 | t9 ();
0x00001554 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001558 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000155c lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x00001560 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001564 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001568 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x0000156c addiu a2, a2, 0x2a54 | a2 += str._sFailed_to_process_bus:__s;
| label_5:
0x00001570 addiu a1, zero, 0x100 | a1 = 0x100;
0x00001574 move a0, zero | a0 = 0;
0x00001578 jalr t9 | t9 ();
0x0000157c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001580 lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x00001584 addiu s2, s2, 0x1d14 | s2 += fcn.00001d14;
0x00001588 b 0x1408 | goto label_2;
| label_16:
0x0000158c lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
0x00001590 negu s3, v0 | __asm ("negu s3, v0");
0x00001594 move a0, s3 | a0 = s3;
0x00001598 jalr t9 | t9 ();
0x0000159c lw gp, 0x18(sp) | gp = *(var_18h);
0x000015a0 addiu s6, s6, 0x294c | s6 += str.com.axis.VisionDevices1.Acceleration;
0x000015a4 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x000015a8 b 0x14b4 |
| } while (1);
| label_17:
0x000015ac lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
0x000015b0 negu s3, v0 | __asm ("negu s3, v0");
0x000015b4 move a0, s3 | a0 = s3;
0x000015b8 jalr t9 | t9 ();
0x000015bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000015c0 addiu s6, s6, 0x2994 | s6 += str.com.axis.VisionDevices1.GPU;
0x000015c4 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x000015c8 b 0x14b4 | goto label_3;
| label_27:
0x000015cc lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000015d0 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x000015d4 sw s0, 0x10(sp) | *(var_10h) = s0;
0x000015d8 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x000015dc addiu a2, a2, 0x2a8c | a2 += str._smain_loop_exit_with_failure___d_;
0x000015e0 addiu a1, zero, 0x100 | a1 = 0x100;
0x000015e4 move a0, zero | a0 = 0;
0x000015e8 jalr t9 | t9 ();
0x000015ec lw gp, 0x18(sp) | gp = *(var_18h);
0x000015f0 b 0x1448 | goto label_4;
| label_23:
0x000015f4 negu a0, s0 | __asm ("negu a0, s0");
0x000015f8 jalr t9 | t9 ();
0x000015fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001600 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00001604 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x00001608 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x0000160c lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001610 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x00001614 addiu a2, a2, 0x2a70 | a2 += str._sFailed_to_wait_on_bus:__s;
0x00001618 b 0x1570 | goto label_5;
| label_19:
0x0000161c lw t9, -0x7f1c(gp) | t9 = sym.imp.strerror;
0x00001620 negu s3, v0 | __asm ("negu s3, v0");
0x00001624 move a0, s3 | a0 = s3;
0x00001628 jalr t9 | t9 ();
0x0000162c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001630 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00001634 addiu a1, zero, 0x100 | a1 = 0x100;
0x00001638 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x0000163c lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001640 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001644 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x00001648 addiu a2, a2, 0x29f8 | a2 += str._sFailed_to_acquire_service_name:__s;
0x0000164c move a0, zero | a0 = 0;
0x00001650 jalr t9 | t9 ();
0x00001654 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001658 b 0x13b8 | goto label_1;
| label_24:
0x0000165c lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x00001660 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001664 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001668 addiu a3, a3, 0x26ac | a3 += 0x26ac;
0x0000166c addiu a2, a2, 0x2abc | a2 += str._sFailed_to_notify_systemd_of_shutdown
0x00001670 addiu a1, zero, 0x10 | a1 = 0x10;
0x00001674 move a0, zero | a0 = 0;
0x00001678 jalr t9 | t9 ();
0x0000167c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001680 b 0x1314 | goto label_6;
| label_13:
0x00001684 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x00001688 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x0000168c lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001690 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x00001694 addiu a2, a2, 0x28b0 | a2 += str._sIllegal_handle;
0x00001698 addiu a1, zero, 0x100 | a1 = 0x100;
0x0000169c move a0, zero | a0 = 0;
0x000016a0 jalr t9 | t9 ();
0x000016a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016a8 addiu s0, zero, -1 | s0 = -1;
0x000016ac lw s2, -0x7fd8(gp) | s2 = *((gp - 8182));
0x000016b0 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x000016b4 addiu s2, s2, 0x1d14 | s2 += fcn.00001d14;
0x000016b8 b 0x1408 | goto label_2;
| label_10:
0x000016bc lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x000016c0 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000016c4 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x000016c8 move a0, zero | a0 = 0;
0x000016cc addiu a3, a3, 0x26ac | a3 += 0x26ac;
0x000016d0 addiu a2, a2, 0x2854 | a2 += str._sFailed:_sigaction_SIGHUP;
| do {
| label_7:
0x000016d4 addiu a1, zero, 0x100 | a1 = 0x100;
0x000016d8 jalr t9 | t9 ();
0x000016dc lw gp, 0x18(sp) | gp = *(var_18h);
0x000016e0 lw t9, -0x7fa4(gp) | t9 = sym.imp.exit;
0x000016e4 addiu a0, zero, 1 | a0 = 1;
0x000016e8 jalr t9 | t9 ();
| label_9:
0x000016ec lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x000016f0 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000016f4 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x000016f8 move a0, zero | a0 = 0;
0x000016fc addiu a3, a3, 0x26ac | a3 += 0x26ac;
0x00001700 addiu a2, a2, 0x283c | a2 += str._sFailed:_sigemptyset;
0x00001704 b 0x16d4 |
| } while (1);
| label_11:
0x00001708 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x0000170c lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001710 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001714 move a0, zero | a0 = 0;
0x00001718 addiu a3, a3, 0x26ac | a3 += 0x26ac;
0x0000171c addiu a2, a2, 0x2870 | a2 += str._sFailed:_sigaction_SIGINT;
0x00001720 b 0x16d4 | goto label_7;
| label_28:
0x00001724 lw t9, -0x7f80(gp) | t9 = sym.imp.__stack_chk_fail;
0x00001728 jalr t9 | t9 ();
0x0000172c nop |
| label_26:
0x00001730 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00001734 lw t9, -0x7fa8(gp) | t9 = sym.imp.g_log;
0x00001738 addiu a3, s5, 0x26ac | a3 = s5 + 0x26ac;
0x0000173c addiu a2, a2, 0x2abc | a2 += str._sFailed_to_notify_systemd_of_shutdown
0x00001740 addiu a1, zero, 0x10 | a1 = 0x10;
0x00001744 move a0, zero | a0 = 0;
0x00001748 jalr t9 | t9 ();
0x0000174c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001750 b 0x1424 | goto label_8;
| }
[*] Function system used 5 times vision-devices