[*] Binary protection state of shuttergaind

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function mmap tear down of shuttergaind

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/shuttergaind @ 0x13b0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 10016 named .text */
    0x000013b0 lui gp, 2                 |     
    0x000013b4 addiu gp, gp, -0x4060     |     
    0x000013b8 addu gp, gp, t9           |     gp += t9;
    0x000013bc addiu sp, sp, -0xa0       |     
    0x000013c0 lw t9, -0x7f40(gp)        |     t9 = sym.imp.sd_bus_open_system;
    0x000013c4 sw s1, 0x7c(sp)           |     *(var_7ch) = s1;
    0x000013c8 lw s1, -0x7ef8(gp)        |     s1 = *((gp - 8126));
    0x000013cc sw s0, 0x78(sp)           |     *(var_78h) = s0;
    0x000013d0 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x000013d4 lw v0, (s1)               |     v0 = *(s1);
    0x000013d8 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x000013dc sw ra, 0x9c(sp)           |     *(var_9ch) = ra;
    0x000013e0 sw fp, 0x98(sp)           |     *(var_98h) = fp;
    0x000013e4 sw s7, 0x94(sp)           |     *(var_94h) = s7;
    0x000013e8 sw s6, 0x90(sp)           |     *(var_90h) = s6;
    0x000013ec sw s5, 0x8c(sp)           |     *(var_8ch) = s5;
    0x000013f0 sw s4, 0x88(sp)           |     *(var_88h) = s4;
    0x000013f4 sw s3, 0x84(sp)           |     *(var_84h) = s3;
    0x000013f8 sw s2, 0x80(sp)           |     *(var_80h) = s2;
    0x000013fc addiu a0, s0, 0x54a8      |     a0 = s0 + 0x54a8;
    0x00001400 sw v0, 0x74(sp)           |     *(var_74h) = v0;
    0x00001404 sw zero, 0x44(sp)         |     *(var_44h) = 0;
    0x00001408 jalr t9                   |     t9 ();
    0x0000140c nop                       |     
    0x00001410 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00001414 bltz v0, 0x1cd8           |         goto label_11;
                                         |     }
    0x00001418 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000141c lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
    0x00001420 addiu v0, v0, 0x1fd0      |     v0 += fcn.00001fd0;
    0x00001424 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x00001428 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000142c lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00001430 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00001434 lw t9, -0x7f98(gp)        |     t9 = sym.imp.sd_bus_add_object_vtable;
                                         |     /* section..data.rel.ro */
    0x00001438 addiu v0, v0, 0x4fa0      |     v0 += 0x4fa0;
    0x0000143c lw a0, 0x54a8(s0)         |     a0 = *((s0 + 5418));
    0x00001440 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00001444 addiu a3, s3, 0x4700      |     a3 = s3 + str.com.axis.ShuttergainControl;
    0x00001448 addiu a2, a2, 0x471c      |     a2 += str._com_axis_ShuttergainControl;
    0x0000144c addiu a1, s2, 0x54a0      |     a1 = s2 + 0x54a0;
    0x00001450 jalr t9                   |     t9 ();
    0x00001454 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00001458 bltz v0, 0x1c98           |         goto label_12;
                                         |     }
    0x0000145c lw t9, -0x7f28(gp)        |     t9 = sym.imp.sd_bus_request_name;
    0x00001460 lw a0, 0x54a8(s0)         |     a0 = *((s0 + 5418));
    0x00001464 move a2, zero             |     a2 = 0;
    0x00001468 move a3, zero             |     a3 = 0;
    0x0000146c addiu a1, s3, 0x4700      |     a1 = s3 + str.com.axis.ShuttergainControl;
    0x00001470 jalr t9                   |     t9 ();
    0x00001474 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00001478 bltz v0, 0x1d04           |         goto label_13;
                                         |     }
    0x0000147c lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00001480 sw zero, 0x48(sp)         |     *(var_48h) = 0;
    0x00001484 lw v0, 0x54b8(s3)         |     v0 = *((s3 + 5422));
    0x00001488 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
                                         |     if (v0 == 0) {
    0x0000148c beqz v0, 0x16ac           |         goto label_14;
                                         |     }
    0x00001490 lw t9, -0x7f60(gp)        |     t9 = sym.imp.__printf_chk;
    0x00001494 move a2, zero             |     a2 = 0;
    0x00001498 addiu a1, a1, 0x478c      |     a1 += str.Trying_to_create_params_for_already_allocated_source__d_n;
    0x0000149c addiu a0, zero, 1         |     a0 = 1;
    0x000014a0 jalr t9                   |     t9 ();
    0x000014a4 lw s5, 0x54b8(s3)         |     s5 = *((s3 + 5422));
    0x000014a8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s5 == 0) {
    0x000014ac beqz s5, 0x1918           |         goto label_15;
                                         |     }
                                         | label_1:
    0x000014b0 lw v0, 0x48(sp)           |     v0 = *(var_48h);
    0x000014b4 lw t9, -0x7ed0(gp)        |     t9 = sym.imp.__snprintf_chk;
    0x000014b8 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x000014bc lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000014c0 addiu s4, sp, 0x4c        |     s4 = sp + 0x4c;
    0x000014c4 addiu v0, v0, 0x423c      |     v0 += str._com_axis_ImageControl__d_0;
    0x000014c8 addiu a3, zero, 0x25      |     a3 = 0x25;
    0x000014cc addiu a2, zero, 1         |     a2 = 1;
    0x000014d0 addiu a1, zero, 0x25      |     a1 = 0x25;
    0x000014d4 move a0, s4               |     a0 = s4;
    0x000014d8 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000014dc jalr t9                   |     t9 ();
    0x000014e0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000014e4 lw a0, 0x54a8(s0)         |     a0 = *((s0 + 5418));
    0x000014e8 sw zero, 0x38(sp)         |     *(var_38h) = 0;
    0x000014ec lw s6, -0x7fd8(gp)        |     s6 = *((gp - 8182));
    0x000014f0 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x000014f4 addiu s6, s6, 0x2314      |     s6 += fcn.00002314;
    0x000014f8 addiu a1, a1, 0x4004      |     a1 += str.com.axis.ImcControl;
    0x000014fc sw zero, 0x3c(sp)         |     *(var_3ch) = 0;
    0x00001500 move t9, s6               |     t9 = s6;
    0x00001504 sw zero, 0x40(sp)         |     *(var_40h) = 0;
    0x00001508 bal 0x2314                |     fcn_00002314 ();
    0x0000150c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001510 beqz v0, 0x18d4           |         goto label_16;
                                         |     }
    0x00001514 lw s7, -0x7fd8(gp)        |     s7 = *((gp - 8182));
    0x00001518 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.strdup;
    0x0000151c addiu a0, s7, 0x47c8      |     a0 = s7 + str.imcd;
    0x00001520 jalr t9                   |     t9 ();
    0x00001524 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001528 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x0000152c move s6, v0               |     s6 = v0;
                                         | label_3:
    0x00001530 lw t9, -0x7ed4(gp)        |     t9 = sym.imp.strcmp;
    0x00001534 addiu a1, s7, 0x47c8      |     a1 = s7 + str.imcd;
    0x00001538 move a0, s6               |     a0 = s6;
    0x0000153c jalr t9                   |     t9 ();
    0x00001540 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001544 bnez v0, 0x1920           |         goto label_17;
                                         |     }
    0x00001548 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x0000154c addiu v0, s5, 0x24        |     v0 = s5 + 0x24;
    0x00001550 addiu v1, s5, 0x364       |     v1 = s5 + 0x364;
    0x00001554 addiu a2, a2, 0x4004      |     a2 += str.com.axis.ImcControl;
    0x00001558 sw a2, (v0)               |     *(v0) = a2;
                                         |     do {
    0x0000155c addiu v0, v0, 0x34        |         v0 += 0x34;
    0x00001560 sw a2, (v0)               |         *(v0) = a2;
    0x00001564 bnel v1, v0, 0x155c       |         
                                         |     } while (v1 == v0);
    0x00001568 lw s7, -0x7fd8(gp)        |     s7 = *((gp - 8182));
    0x0000156c addiu s7, s7, 0x3fec      |     s7 += str._com_axis_ImcControl;
                                         | label_5:
    0x00001570 addiu v0, sp, 0x48        |     v0 = sp + 0x48;
    0x00001574 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x00001578 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000157c lw t9, -0x7fa0(gp)        |     t9 = sym.imp.sd_bus_match_signal;
    0x00001580 addiu v0, v0, 0x36fc      |     v0 += 0x36fc;
    0x00001584 sw v0, 0x18(sp)           |     *(var_18h_2) = v0;
    0x00001588 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000158c lw a0, 0x54a8(s0)         |     a0 = *((s0 + 5418));
    0x00001590 addiu v0, v0, 0x4880      |     v0 += str.PropertiesChanged;
    0x00001594 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x00001598 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000159c move a3, s7               |     a3 = s7;
    0x000015a0 addiu v0, v0, 0x4174      |     v0 += str.org.freedesktop.DBus.Properties;
    0x000015a4 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000015a8 move a1, zero             |     a1 = 0;
    0x000015ac jalr t9                   |     t9 ();
    0x000015b0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x000015b4 bltz v0, 0x1738           |         goto label_18;
                                         |     }
    0x000015b8 lw s6, -0x7fd8(gp)        |     s6 = *((gp - 8182));
    0x000015bc addiu fp, s5, 0x340       |     fp = s5 + 0x340;
    0x000015c0 addiu s6, s6, 0x2bf4      |     s6 += fcn.00002bf4;
    0x000015c4 move a2, s5               |     a2 = s5;
                                         |     do {
    0x000015c8 move a1, s7               |         a1 = s7;
    0x000015cc move t9, s6               |         t9 = s6;
    0x000015d0 move a0, zero             |         a0 = 0;
    0x000015d4 bal 0x2bf4                |         fcn_00002bf4 ();
    0x000015d8 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x000015dc bltz v0, 0x1918           |             goto label_15;
                                         |         }
    0x000015e0 addiu s5, s5, 0x34        |         s5 += 0x34;
    0x000015e4 move a2, s5               |         a2 = s5;
    0x000015e8 bne s5, fp, 0x15c8        |         
                                         |     } while (s5 != fp);
    0x000015ec lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x000015f0 lw v0, 0x54b4(s5)         |     v0 = *((s5 + 5421));
    0x000015f4 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
                                         |     if (v0 == 0) {
    0x000015f8 beqz v0, 0x1930           |         goto label_19;
                                         |     }
    0x000015fc lw t9, -0x7f60(gp)        |     t9 = sym.imp.__printf_chk;
    0x00001600 move a2, zero             |     a2 = 0;
    0x00001604 addiu a1, a1, 0x48b0      |     a1 += str.Trying_to_create_shared_mem_for_already_allocated_source__d_n;
    0x00001608 addiu a0, zero, 1         |     a0 = 1;
    0x0000160c jalr t9                   |     t9 ();
    0x00001610 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         | label_6:
    0x00001614 lw t9, -0x7fd8(gp)        |     t9 = *((gp - 8182));
    0x00001618 addiu t9, t9, 0x2028      |     t9 += fcn.00002028;
    0x0000161c move a0, zero             |     a0 = 0;
    0x00001620 bal 0x2028                |     fcn_00002028 ();
    0x00001624 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00001628 bltz v0, 0x1774           |         goto label_4;
                                         |     }
    0x0000162c lw s2, -0x7fd8(gp)        |     s2 = *((gp - 8182));
    0x00001630 lw s1, -0x7fd8(gp)        |     s1 = *((gp - 8182));
    0x00001634 lw s7, -0x7ee4(gp)        |     s7 = *((gp - 8121));
    0x00001638 addiu s2, s2, 0x49e4      |     s2 += str.Failed_to_wait_on_bus:__s_n;
    0x0000163c addiu s1, s1, 0x49c8      |     s1 += str.Failed_to_process_bus:__s_n;
    0x00001640 b 0x1660                  |     
                                         |     while (v0 >= 0) {
    0x00001644 lw t9, -0x7ee8(gp)        |         t9 = sym.imp.sd_bus_wait;
    0x00001648 lw a0, 0x54a8(s0)         |         a0 = *((s0 + 5418));
    0x0000164c addiu a2, zero, -1        |         a2 = -1;
    0x00001650 addiu a3, zero, -1        |         a3 = -1;
    0x00001654 jalr t9                   |         t9 ();
    0x00001658 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x0000165c bltz v0, 0x1704           |             goto label_20;
                                         |         }
                                         | label_0:
    0x00001660 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.sd_bus_process;
    0x00001664 lw a0, 0x54a8(s0)         |         a0 = *((s0 + 5418));
    0x00001668 move a1, zero             |         a1 = 0;
    0x0000166c jalr t9                   |         t9 ();
    0x00001670 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001674 bgez v0, 0x1644           |         
                                         |     }
    0x00001678 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.strerror;
    0x0000167c negu a0, v0               |     __asm ("negu a0, v0");
    0x00001680 lw s3, (s7)               |     s3 = *(s7);
    0x00001684 jalr t9                   |     t9 ();
    0x00001688 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000168c move a3, v0               |     a3 = v0;
    0x00001690 move a2, s1               |     a2 = s1;
    0x00001694 lw t9, -0x7f94(gp)        |     t9 = sym.imp.__fprintf_chk;
    0x00001698 addiu a1, zero, 1         |     a1 = 1;
    0x0000169c move a0, s3               |     a0 = s3;
    0x000016a0 jalr t9                   |     t9 ();
    0x000016a4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000016a8 b 0x1660                  |     goto label_0;
                                         | label_14:
    0x000016ac lw t9, -0x7f34(gp)        |     t9 = sym.imp.malloc;
    0x000016b0 addiu a0, zero, 0x340     |     a0 = 0x340;
    0x000016b4 jalr t9                   |     t9 ();
    0x000016b8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000016bc move s5, v0               |     s5 = v0;
    0x000016c0 move v1, s5               |     v1 = s5;
    0x000016c4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     /* str.MinGain */
    0x000016c8 addiu v0, v0, 0x5010      |     v0 += 0x5010;
    0x000016cc addiu t0, v0, 0x340       |     t0 = v0 + 0x340;
                                         |     do {
    0x000016d0 lw a3, (v0)               |         a3 = *(v0);
    0x000016d4 lw a2, 4(v0)              |         a2 = *((v0 + 1));
    0x000016d8 lw a1, 8(v0)              |         a1 = *((v0 + 2));
    0x000016dc lw a0, 0xc(v0)            |         a0 = *((v0 + 3));
    0x000016e0 addiu v0, v0, 0x10        |         v0 += 0x10;
    0x000016e4 sw a3, (v1)               |         *(v1) = a3;
    0x000016e8 sw a2, 4(v1)              |         *((v1 + 1)) = a2;
    0x000016ec sw a1, 8(v1)              |         *((v1 + 2)) = a1;
    0x000016f0 sw a0, 0xc(v1)            |         *((v1 + 3)) = a0;
    0x000016f4 addiu v1, v1, 0x10        |         v1 += 0x10;
    0x000016f8 bne v0, t0, 0x16d0        |         
                                         |     } while (v0 != t0);
    0x000016fc sw s5, 0x54b8(s3)         |     *((s3 + 5422)) = s5;
    0x00001700 b 0x14b0                  |     goto label_1;
                                         | label_20:
    0x00001704 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.strerror;
    0x00001708 negu a0, v0               |     __asm ("negu a0, v0");
    0x0000170c lw s3, (s7)               |     s3 = *(s7);
    0x00001710 jalr t9                   |     t9 ();
    0x00001714 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001718 move a3, v0               |     a3 = v0;
    0x0000171c move a2, s2               |     a2 = s2;
    0x00001720 lw t9, -0x7f94(gp)        |     t9 = sym.imp.__fprintf_chk;
    0x00001724 addiu a1, zero, 1         |     a1 = 1;
    0x00001728 move a0, s3               |     a0 = s3;
    0x0000172c jalr t9                   |     t9 ();
    0x00001730 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001734 b 0x1660                  |     goto label_0;
                                         | label_18:
    0x00001738 negu a0, v0               |     __asm ("negu a0, v0");
    0x0000173c lw v0, -0x7ee4(gp)        |     v0 = *((gp - 8121));
    0x00001740 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.strerror;
    0x00001744 lw s4, (v0)               |     s4 = *(v0);
    0x00001748 jalr t9                   |     t9 ();
    0x0000174c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001750 move a3, v0               |     a3 = v0;
    0x00001754 addiu a1, zero, 1         |     a1 = 1;
    0x00001758 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x0000175c lw t9, -0x7f94(gp)        |     t9 = sym.imp.__fprintf_chk;
    0x00001760 addiu a2, a2, 0x4894      |     a2 += str.Failed_to_match_signal:__s_n;
    0x00001764 move a0, s4               |     a0 = s4;
    0x00001768 jalr t9                   |     t9 ();
    0x0000176c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001770 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
                                         | label_4:
    0x00001774 lw a0, 0x44(sp)           |     a0 = *(var_44h);
    0x00001778 lw t9, -0x7eec(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 != 0) {
    0x0000177c beqz a0, 0x178c           |         
    0x00001780 jalr t9                   |         t9 ();
    0x00001784 nop                       |         
    0x00001788 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x0000178c lw s6, 0x54b8(s3)         |     s6 = *((s3 + 5422));
    0x00001790 lw t9, -0x7f7c(gp)        |     t9 = sym.imp.sd_bus_unref;
                                         |     if (s6 == 0) {
    0x00001794 beqz s6, 0x17fc           |         goto label_21;
                                         |     }
    0x00001798 move s4, s6               |     s4 = s6;
    0x0000179c addiu s7, s6, 0x340       |     s7 = s6 + 0x340;
    0x000017a0 b 0x17ac                  |     
                                         |     while (v0 == 0) {
    0x000017a4 lw t9, -0x7eec(gp)        |         t9 = sym.imp.free;
                                         |         if (s7 == s4) {
    0x000017a8 beq s7, s4, 0x17e8        |             goto label_22;
                                         |         }
    0x000017ac lwl v0, 0x1d(s4)          |         __asm ("lwl v0, 0x1d(s4)");
                                         | label_2:
    0x000017b0 lwr v0, 0x1a(s4)          |         __asm ("lwr v0, 0x1a(s4)");
    0x000017b4 beql v0, zero, 0x17a4     |         
                                         |     }
    0x000017b8 addiu s4, s4, 0x34        |     s4 += 0x34;
    0x000017bc lwl a0, 0x21(s4)          |     __asm ("lwl a0, 0x21(s4)");
    0x000017c0 lw t9, -0x7eec(gp)        |     t9 = sym.imp.free;
    0x000017c4 lwr a0, 0x1e(s4)          |     __asm ("lwr a0, 0x1e(s4)");
    0x000017c8 jalr t9                   |     t9 ();
    0x000017cc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000017d0 swl zero, 0x1d(s4)        |     __asm ("swl zero, 0x1d(s4)");
    0x000017d4 swr zero, 0x1a(s4)        |     __asm ("swr zero, 0x1a(s4)");
    0x000017d8 addiu s4, s4, 0x34        |     s4 += 0x34;
    0x000017dc lwl v0, 0x1d(s4)          |     __asm ("lwl v0, 0x1d(s4)");
                                         |     if (s7 == s4) {
    0x000017e0 bnel s7, s4, 0x17b0       |         goto label_2;
                                         |     }
    0x000017e4 lw t9, -0x7eec(gp)        |     t9 = sym.imp.free;
                                         | label_22:
    0x000017e8 move a0, s6               |     a0 = s6;
    0x000017ec jalr t9                   |     t9 ();
    0x000017f0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000017f4 sw zero, 0x54b8(s3)       |     *((s3 + 5422)) = 0;
    0x000017f8 lw t9, -0x7f7c(gp)        |     t9 = sym.imp.sd_bus_unref;
                                         | label_21:
    0x000017fc lw a0, 0x54a8(s0)         |     a0 = *((s0 + 5418));
    0x00001800 jalr t9                   |     t9 ();
    0x00001804 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001808 lw a0, 0x54a0(s2)         |     a0 = *((s2 + 5416));
    0x0000180c lw t9, -0x7f78(gp)        |     t9 = sym.imp.sd_bus_slot_unref;
    0x00001810 sw zero, 0x54a8(s0)       |     *((s0 + 5418)) = 0;
    0x00001814 jalr t9                   |     t9 ();
    0x00001818 lw s0, 0x54b4(s5)         |     s0 = *((s5 + 5421));
    0x0000181c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001820 sw zero, 0x54a0(s2)       |     *((s2 + 5416)) = 0;
                                         |     if (s0 == 0) {
    0x00001824 beqz s0, 0x1854           |         goto label_23;
                                         |     }
    0x00001828 lw a0, (s0)               |     a0 = *(s0);
    0x0000182c lw t9, -0x7f70(gp)        |     t9 = sym.imp.munmap;
                                         |     if (a0 != 0) {
    0x00001830 beqz a0, 0x1844           |         
    0x00001834 lw a1, 0xc(s0)            |         a1 = *((s0 + 3));
    0x00001838 jalr t9                   |         t9 ();
    0x0000183c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001840 sw zero, (s0)             |         *(s0) = 0;
                                         |     }
    0x00001844 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001848 lw a0, 0x54ac(v0)         |     a0 = *((v0 + 5419));
    0x0000184c lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x00001850 bgtz a0, 0x1894           |     
                                         |     while (1) {
                                         | label_23:
    0x00001854 move v0, zero             |         v0 = 0;
                                         | label_10:
    0x00001858 lw a0, 0x74(sp)           |         a0 = *(var_74h);
    0x0000185c lw v1, (s1)               |         v1 = *(s1);
    0x00001860 lw ra, 0x9c(sp)           |         ra = *(var_9ch);
                                         |         if (a0 != v1) {
    0x00001864 bne a0, v1, 0x1df0        |             goto label_24;
                                         |         }
    0x00001868 lw fp, 0x98(sp)           |         fp = *(var_98h);
    0x0000186c lw s7, 0x94(sp)           |         s7 = *(var_94h);
    0x00001870 lw s6, 0x90(sp)           |         s6 = *(var_90h);
    0x00001874 lw s5, 0x8c(sp)           |         s5 = *(var_8ch);
    0x00001878 lw s4, 0x88(sp)           |         s4 = *(var_88h);
    0x0000187c lw s3, 0x84(sp)           |         s3 = *(var_84h);
    0x00001880 lw s2, 0x80(sp)           |         s2 = *(var_80h);
    0x00001884 lw s1, 0x7c(sp)           |         s1 = *(var_7ch);
    0x00001888 lw s0, 0x78(sp)           |         s0 = *(var_78h);
    0x0000188c addiu sp, sp, 0xa0        |         
    0x00001890 jr ra                     |         return v0;
    0x00001894 lw t9, -0x7fac(gp)        |         t9 = sym.imp.close;
    0x00001898 jalr t9                   |         t9 ();
    0x0000189c nop                       |         
    0x000018a0 lw s2, 0x54a4(s0)         |         s2 = *((s0 + 5417));
    0x000018a4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (s2 != 0) {
    0x000018a8 beqz s2, 0x18cc           |             
    0x000018ac lw t9, -0x7f68(gp)        |             t9 = sym.imp.shm_unlink;
    0x000018b0 move a0, s2               |             a0 = s2;
    0x000018b4 jalr t9                   |             t9 ();
    0x000018b8 lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x000018bc lw t9, -0x7eec(gp)        |             t9 = sym.imp.free;
    0x000018c0 move a0, s2               |             a0 = s2;
    0x000018c4 jalr t9                   |             t9 ();
    0x000018c8 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |         }
    0x000018cc sw zero, 0x54a4(s0)       |         *((s0 + 5417)) = 0;
    0x000018d0 b 0x1854                  |         
                                         |     }
                                         | label_16:
    0x000018d4 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x000018d8 lw a0, 0x54a8(s0)         |     a0 = *((s0 + 5418));
    0x000018dc move t9, s6               |     t9 = s6;
    0x000018e0 addiu a1, a1, 0x4150      |     a1 += str.com.axis.VideoControl;
    0x000018e4 bal 0x2314                |     fcn_00002314 ();
    0x000018e8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x000018ec beqz v0, 0x1b84           |         goto label_25;
                                         |     }
    0x000018f0 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x000018f4 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.strdup;
    0x000018f8 addiu a0, a0, 0x47d0      |     a0 += str.videocontrol;
                                         | label_7:
    0x000018fc jalr t9                   |     t9 ();
    0x00001900 nop                       |     
    0x00001904 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001908 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x0000190c move s6, v0               |     s6 = v0;
    0x00001910 lw s7, -0x7fd8(gp)        |     s7 = *((gp - 8182));
    0x00001914 b 0x1530                  |     goto label_3;
                                         | label_15:
    0x00001918 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x0000191c b 0x1774                  |     goto label_4;
                                         | label_17:
    0x00001920 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00001924 move s7, s4               |     s7 = s4;
    0x00001928 addiu a2, a2, 0x3fd4      |     a2 += str.com.axis.ImageControl;
    0x0000192c b 0x1570                  |     goto label_5;
                                         | label_19:
    0x00001930 lw s6, 0x44(sp)           |     s6 = *(var_44h);
    0x00001934 lw t9, -0x7fb0(gp)        |     t9 = sym.imp.calloc;
    0x00001938 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x0000193c sw s6, 0x2c(sp)           |     *(var_2ch) = s6;
    0x00001940 addiu a0, zero, 1         |     a0 = 1;
    0x00001944 jalr t9                   |     t9 ();
    0x00001948 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000194c move a0, s6               |     a0 = s6;
    0x00001950 sw zero, 0x38(sp)         |     *(var_38h) = 0;
    0x00001954 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.strlen;
    0x00001958 move s6, v0               |     s6 = v0;
    0x0000195c jalr t9                   |     t9 ();
    0x00001960 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001964 move s7, v0               |     s7 = v0;
    0x00001968 sll v0, v0, 2             |     v0 <<= 2;
    0x0000196c addiu v1, v0, 0x14        |     v1 = v0 + 0x14;
    0x00001970 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00001974 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00001978 lw t9, -0x7ed0(gp)        |     t9 = sym.imp.__snprintf_chk;
    0x0000197c addiu v0, v0, 0x48f0      |     v0 += str.shuttergain_d;
    0x00001980 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00001984 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001988 addiu a3, zero, 0xd       |     a3 = 0xd;
    0x0000198c addiu a2, zero, 1         |     a2 = 1;
    0x00001990 addiu a1, zero, 0xd       |     a1 = 0xd;
    0x00001994 sw v1, 0x30(sp)           |     *(var_30h) = v1;
    0x00001998 sw v1, 0x54b0(v0)         |     *((v0 + 5420)) = v1;
    0x0000199c move a0, s4               |     a0 = s4;
    0x000019a0 sw zero, 0x14(sp)         |     *(var_14h_2) = 0;
    0x000019a4 jalr t9                   |     t9 ();
    0x000019a8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000019ac lw t9, -0x7ef0(gp)        |     t9 = sym.imp.strdup;
    0x000019b0 move a0, s4               |     a0 = s4;
    0x000019b4 jalr t9                   |     t9 ();
    0x000019b8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000019bc addiu a2, zero, 0x180     |     a2 = 0x180;
    0x000019c0 addiu a1, zero, 0x102     |     a1 = 0x102;
    0x000019c4 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x000019c8 lw t9, -0x7efc(gp)        |     t9 = sym.imp.shm_open;
    0x000019cc move a0, s4               |     a0 = s4;
    0x000019d0 sw v0, 0x54a4(v1)         |     *((v1 + 5417)) = v0;
    0x000019d4 jalr t9                   |     t9 ();
    0x000019d8 move fp, v0               |     fp = v0;
    0x000019dc lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x000019e0 bltz v0, 0x1c20           |         goto label_26;
                                         |     }
    0x000019e4 lw t9, -0x7fb4(gp)        |     t9 = sym.imp.fchmod;
    0x000019e8 addiu a1, zero, 0x1b6     |     a1 = 0x1b6;
    0x000019ec move a0, v0               |     a0 = v0;
    0x000019f0 jalr t9                   |     t9 ();
    0x000019f4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x000019f8 bltz v0, 0x1ae8           |         goto label_27;
                                         |     }
    0x000019fc lw t9, -0x7fd8(gp)        |     t9 = *((gp - 8182));
    0x00001a00 lw a0, 0x30(sp)           |     a0 = *(var_30h);
    0x00001a04 addiu t9, t9, 0x1f70      |     t9 += fcn.00001f70;
    0x00001a08 addiu a1, sp, 0x38        |     a1 = sp + 0x38;
    0x00001a0c bal 0x1f70                |     fcn_00001f70 ();
    0x00001a10 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001a14 sw v0, 0xc(s6)            |     *((s6 + 3)) = v0;
    0x00001a18 move a2, v0               |     a2 = v0;
    0x00001a1c lw t9, -0x7f04(gp)        |     t9 = sym.imp.ftruncate64;
    0x00001a20 move a3, zero             |     a3 = 0;
    0x00001a24 move a0, fp               |     a0 = fp;
    0x00001a28 jalr t9                   |     t9 ();
    0x00001a2c addiu v1, zero, -1        |     v1 = -1;
    0x00001a30 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == v1) {
    0x00001a34 beq v0, v1, 0x1c70        |         goto label_28;
                                         |     }
    0x00001a38 lw a1, 0xc(s6)            |     a1 = *((s6 + 3));
    0x00001a3c lw t9, -0x7f00(gp)        |     t9 = sym.imp.mmap64
    0x00001a40 move v1, zero             |     v1 = 0;
    0x00001a44 move v0, zero             |     v0 = 0;
    0x00001a48 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x00001a4c sw v0, 0x18(sp)           |     *(var_18h_2) = v0;
    0x00001a50 sw fp, 0x10(sp)           |     *(var_10h_2) = fp;
    0x00001a54 addiu a3, zero, 1         |     a3 = 1;
    0x00001a58 addiu a2, zero, 2         |     a2 = 2;
    0x00001a5c move a0, zero             |     a0 = 0;
    0x00001a60 jalr t9                   |     t9 ();
    0x00001a64 addiu v1, zero, -1        |     v1 = -1;
    0x00001a68 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001a6c sw v0, (s6)               |     *(s6) = v0;
                                         |     if (v0 == v1) {
    0x00001a70 beq v0, v1, 0x1d48        |         goto label_29;
                                         |     }
    0x00001a74 lw v1, 0x30(sp)           |     v1 = *(var_30h);
    0x00001a78 sw v0, 8(s6)              |     *((s6 + 2)) = v0;
    0x00001a7c addu v1, v0, v1           |     v1 = v0 + v1;
    0x00001a80 sw v1, 4(s6)              |     *((s6 + 1)) = v1;
    0x00001a84 addiu v1, zero, 5         |     v1 = 5;
    0x00001a88 sw v1, (v0)               |     *(v0) = v1;
    0x00001a8c addiu v1, zero, 0x16      |     v1 = 0x16;
    0x00001a90 sw v1, 4(v0)              |     *((v0 + 1)) = v1;
    0x00001a94 lw v1, 0x38(sp)           |     v1 = *(var_38h);
    0x00001a98 addiu a0, v0, 0x14        |     a0 = v0 + 0x14;
    0x00001a9c sw v1, 8(v0)              |     *((v0 + 2)) = v1;
    0x00001aa0 lw a1, 0xc(s6)            |     a1 = *((s6 + 3));
    0x00001aa4 move v1, zero             |     v1 = 0;
    0x00001aa8 sw a1, 0xc(v0)            |     *((v0 + 3)) = a1;
    0x00001aac lw a1, 0x34(sp)           |     a1 = *(var_34h);
    0x00001ab0 sw a1, 0x10(v0)           |     *((v0 + 4)) = a1;
    0x00001ab4 b 0x1acc                  |     
                                         |     while (v0 != 0) {
    0x00001ab8 addiu a0, a0, 4           |         a0 += 4;
    0x00001abc addu v0, v0, v1           |         v0 += v1;
    0x00001ac0 addiu v1, v1, 1           |         v1++;
    0x00001ac4 lb v0, (v0)               |         v0 = *(v0);
    0x00001ac8 sw v0, -4(a0)             |         *((a0 - 1)) = v0;
    0x00001acc slt v0, v1, s7            |         v0 = (v1 < s7) ? 1 : 0;
    0x00001ad0 lw v0, 0x2c(sp)           |         v0 = *(var_2ch);
    0x00001ad4 bnez v0, 0x1ab8           |         
                                         |     }
    0x00001ad8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001adc sw s6, 0x54b4(s5)         |     *((s5 + 5421)) = s6;
    0x00001ae0 sw fp, 0x54ac(v0)         |     *((v0 + 5419)) = fp;
    0x00001ae4 b 0x1614                  |     goto label_6;
                                         | label_27:
    0x00001ae8 lw s7, -0x7ee4(gp)        |     s7 = *((gp - 8121));
    0x00001aec lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00001af0 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.fwrite;
    0x00001af4 lw a3, (s7)               |     a3 = *(s7);
    0x00001af8 addiu a2, zero, 0x25      |     a2 = 0x25;
    0x00001afc addiu a1, zero, 1         |     a1 = 1;
    0x00001b00 addiu a0, a0, 0x4928      |     a0 += str.Failed_to_chmod_shared_memory_region_n;
    0x00001b04 jalr t9                   |     t9 ();
    0x00001b08 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001b0c beqz s6, 0x1b38           |     
                                         |     while (s6 != 0) {
                                         | label_9:
    0x00001b10 lw a0, (s6)               |         a0 = *(s6);
    0x00001b14 lw t9, -0x7f70(gp)        |         t9 = sym.imp.munmap;
                                         |         if (a0 != 0) {
    0x00001b18 beqz a0, 0x1b38           |             
    0x00001b1c lw a1, 0xc(s6)            |             a1 = *((s6 + 3));
    0x00001b20 jalr t9                   |             t9 ();
    0x00001b24 lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x00001b28 lw t9, -0x7eec(gp)        |             t9 = sym.imp.free;
    0x00001b2c move a0, s6               |             a0 = s6;
    0x00001b30 jalr t9                   |             t9 ();
    0x00001b34 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |         }
    0x00001b38 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
                                         |         if (fp > 0) {
    0x00001b3c blez fp, 0x1b64           |             
    0x00001b40 lw t9, -0x7fac(gp)        |             t9 = sym.imp.close;
    0x00001b44 move a0, fp               |             a0 = fp;
    0x00001b48 jalr t9                   |             t9 ();
    0x00001b4c lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x00001b50 lw t9, -0x7f68(gp)        |             t9 = sym.imp.shm_unlink;
    0x00001b54 move a0, s4               |             a0 = s4;
    0x00001b58 jalr t9                   |             t9 ();
    0x00001b5c lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x00001b60 lw a2, -0x7fd8(gp)        |             a2 = *((gp - 8182));
                                         |         }
                                         | label_8:
    0x00001b64 lw t9, -0x7f94(gp)        |         t9 = sym.imp.__fprintf_chk;
    0x00001b68 lw a0, (s7)               |         a0 = *(s7);
    0x00001b6c move a3, zero             |         a3 = 0;
    0x00001b70 addiu a2, a2, 0x499c      |         a2 += str.Failed_to_create_shared_mem_for_source__d_n;
    0x00001b74 addiu a1, zero, 1         |         a1 = 1;
    0x00001b78 jalr t9                   |         t9 ();
    0x00001b7c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001b80 b 0x1774                  |         goto label_4;
                                         | label_25:
    0x00001b84 lw s7, -0x7fd8(gp)        |         s7 = *((gp - 8182));
    0x00001b88 lw a0, 0x54a8(s0)         |         a0 = *((s0 + 5418));
    0x00001b8c move t9, s6               |         t9 = s6;
    0x00001b90 addiu a1, s7, 0x3fd4      |         a1 = s7 + str.com.axis.ImageControl;
    0x00001b94 bal 0x2314                |         fcn_00002314 ();
    0x00001b98 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00001b9c beqz v0, 0x1d70           |             goto label_30;
                                         |         }
    0x00001ba0 addiu v0, sp, 0x44        |         v0 = sp + 0x44;
    0x00001ba4 sw v0, 0x18(sp)           |         *(var_18h_2) = v0;
    0x00001ba8 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00001bac lw a3, -0x7fd8(gp)        |         a3 = *((gp - 8182));
    0x00001bb0 lw t9, -0x7f54(gp)        |         t9 = sym.imp.sd_bus_get_property_string;
    0x00001bb4 addiu v0, v0, 0x47fc      |         v0 += str.SensorType;
    0x00001bb8 addiu s6, sp, 0x38        |         s6 = sp + 0x38;
    0x00001bbc lw a0, 0x54a8(s0)         |         a0 = *((s0 + 5418));
    0x00001bc0 sw s6, 0x14(sp)           |         *(var_14h_2) = s6;
    0x00001bc4 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x00001bc8 addiu a3, a3, 0x47e0      |         a3 += str.com.axis.ImageControlStream;
    0x00001bcc move a2, s4               |         a2 = s4;
    0x00001bd0 addiu a1, s7, 0x3fd4      |         a1 = s7 + str.com.axis.ImageControl;
    0x00001bd4 jalr t9                   |         t9 ();
    0x00001bd8 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 >= 0) {
    0x00001bdc bltz v0, 0x1c08           |             
    0x00001be0 lw a1, -0x7fd8(gp)        |             a1 = *((gp - 8182));
    0x00001be4 lw s6, 0x44(sp)           |             s6 = *(var_44h);
    0x00001be8 lw t9, -0x7ed4(gp)        |             t9 = sym.imp.strcmp;
    0x00001bec addiu a1, a1, 0x4840      |             a1 += str.thermal;
    0x00001bf0 move a0, s6               |             a0 = s6;
    0x00001bf4 jalr t9                   |             t9 ();
    0x00001bf8 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |             if (v0 != 0) {
    0x00001bfc bnez v0, 0x1c50           |                 goto label_31;
                                         |             }
    0x00001c00 lw s7, -0x7fd8(gp)        |             s7 = *((gp - 8182));
    0x00001c04 b 0x1530                  |             goto label_3;
                                         |         }
    0x00001c08 addiu v1, zero, -0x33     |         v1 = -0x33;
    0x00001c0c lw t9, -0x7ef0(gp)        |         t9 = sym.imp.strdup;
                                         |         if (v0 != v1) {
    0x00001c10 bne v0, v1, 0x1d9c        |             goto label_32;
                                         |         }
    0x00001c14 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00001c18 addiu a0, a0, 0x4834      |         a0 += str.headless;
    0x00001c1c b 0x18fc                  |         goto label_7;
                                         | label_26:
    0x00001c20 lw s7, -0x7ee4(gp)        |         s7 = *((gp - 8121));
    0x00001c24 lw a0, -0x7fd8(gp)        |         a0 = *((gp - 8182));
    0x00001c28 lw t9, -0x7f2c(gp)        |         t9 = sym.imp.fwrite;
    0x00001c2c lw a3, (s7)               |         a3 = *(s7);
    0x00001c30 addiu a2, zero, 0x26      |         a2 = 0x26;
    0x00001c34 addiu a1, zero, 1         |         a1 = 1;
    0x00001c38 addiu a0, a0, 0x4900      |         a0 += str.Failed_to_create_shared_memory_region_n;
    0x00001c3c jalr t9                   |         t9 ();
    0x00001c40 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001c44 bnez s6, 0x1b10           |         
                                         |     }
    0x00001c48 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00001c4c b 0x1b64                  |     goto label_8;
                                         | label_31:
    0x00001c50 lw t9, -0x7eec(gp)        |     t9 = sym.imp.free;
    0x00001c54 move a0, s6               |     a0 = s6;
    0x00001c58 jalr t9                   |     t9 ();
    0x00001c5c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c60 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00001c64 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.strdup;
    0x00001c68 addiu a0, a0, 0x4848      |     a0 += str.imaging;
    0x00001c6c b 0x18fc                  |     goto label_7;
                                         | label_28:
    0x00001c70 lw s7, -0x7ee4(gp)        |     s7 = *((gp - 8121));
    0x00001c74 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00001c78 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.fwrite;
    0x00001c7c lw a3, (s7)               |     a3 = *(s7);
    0x00001c80 addiu a2, zero, 0x29      |     a2 = 0x29;
    0x00001c84 addiu a1, zero, 1         |     a1 = 1;
    0x00001c88 addiu a0, a0, 0x4950      |     a0 += str.Failed_to_ftruncate_shared_memory_region_n;
    0x00001c8c jalr t9                   |     t9 ();
    0x00001c90 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c94 b 0x1b10                  |     goto label_9;
                                         | label_12:
    0x00001c98 negu a0, v0               |     __asm ("negu a0, v0");
    0x00001c9c lw v0, -0x7ee4(gp)        |     v0 = *((gp - 8121));
    0x00001ca0 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.strerror;
    0x00001ca4 lw s0, (v0)               |     s0 = *(v0);
    0x00001ca8 jalr t9                   |     t9 ();
    0x00001cac lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001cb0 move a3, v0               |     a3 = v0;
    0x00001cb4 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00001cb8 lw t9, -0x7f94(gp)        |     t9 = sym.imp.__fprintf_chk;
    0x00001cbc addiu a2, a2, 0x473c      |     a2 += str.Failed_to_add_object_vtable:__s_n;
                                         |     do {
    0x00001cc0 addiu a1, zero, 1         |         a1 = 1;
    0x00001cc4 move a0, s0               |         a0 = s0;
    0x00001cc8 jalr t9                   |         t9 ();
    0x00001ccc lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001cd0 addiu v0, zero, -1        |         v0 = -1;
    0x00001cd4 b 0x1858                  |         goto label_10;
                                         | label_11:
    0x00001cd8 negu a0, v0               |         __asm ("negu a0, v0");
    0x00001cdc lw v0, -0x7ee4(gp)        |         v0 = *((gp - 8121));
    0x00001ce0 lw t9, -0x7f3c(gp)        |         t9 = sym.imp.strerror;
    0x00001ce4 lw s0, (v0)               |         s0 = *(v0);
    0x00001ce8 jalr t9                   |         t9 ();
    0x00001cec lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001cf0 move a3, v0               |         a3 = v0;
    0x00001cf4 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00001cf8 lw t9, -0x7f94(gp)        |         t9 = sym.imp.__fprintf_chk;
    0x00001cfc addiu a2, a2, 0x46d8      |         a2 += str.Failed_to_connect_to_system_bus:__s_n;
    0x00001d00 b 0x1cc0                  |         
                                         |     } while (1);
                                         | label_13:
    0x00001d04 negu a0, v0               |     __asm ("negu a0, v0");
    0x00001d08 lw v0, -0x7ee4(gp)        |     v0 = *((gp - 8121));
    0x00001d0c lw t9, -0x7f3c(gp)        |     t9 = sym.imp.strerror;
    0x00001d10 lw s0, (v0)               |     s0 = *(v0);
    0x00001d14 jalr t9                   |     t9 ();
    0x00001d18 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d1c sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00001d20 addiu a3, s3, 0x4700      |     a3 = s3 + str.com.axis.ShuttergainControl;
    0x00001d24 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00001d28 lw t9, -0x7f94(gp)        |     t9 = sym.imp.__fprintf_chk;
    0x00001d2c addiu a2, a2, 0x4760      |     a2 += str.Failed_to_acquire_service_name___s_:__s_n;
    0x00001d30 addiu a1, zero, 1         |     a1 = 1;
    0x00001d34 move a0, s0               |     a0 = s0;
    0x00001d38 jalr t9                   |     t9 ();
    0x00001d3c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d40 addiu v0, zero, -1        |     v0 = -1;
    0x00001d44 b 0x1858                  |     goto label_10;
                                         | label_29:
    0x00001d48 lw s7, -0x7ee4(gp)        |     s7 = *((gp - 8121));
    0x00001d4c lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00001d50 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.fwrite;
    0x00001d54 lw a3, (s7)               |     a3 = *(s7);
    0x00001d58 addiu a2, zero, 0x1d      |     a2 = 0x1d;
    0x00001d5c addiu a1, zero, 1         |     a1 = 1;
    0x00001d60 addiu a0, a0, 0x497c      |     a0 += str.Failed_to_mmap_shared_memory_n
    0x00001d64 jalr t9                   |     t9 ();
    0x00001d68 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d6c b 0x1b10                  |     goto label_9;
                                         | label_30:
    0x00001d70 lw v0, -0x7ee4(gp)        |     v0 = *((gp - 8121));
    0x00001d74 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00001d78 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.fwrite;
    0x00001d7c lw a3, (v0)               |     a3 = *(v0);
    0x00001d80 addiu a2, zero, 0x2c      |     a2 = 0x2c;
    0x00001d84 addiu a1, zero, 1         |     a1 = 1;
    0x00001d88 addiu a0, a0, 0x4850      |     a0 += str.Failed_to_determine_image_controller__abort_n;
    0x00001d8c jalr t9                   |     t9 ();
    0x00001d90 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d94 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x00001d98 b 0x1774                  |     goto label_4;
                                         | label_32:
    0x00001d9c negu a0, v0               |     __asm ("negu a0, v0");
    0x00001da0 lw v0, -0x7ee4(gp)        |     v0 = *((gp - 8121));
    0x00001da4 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.strerror;
    0x00001da8 lw s5, (v0)               |     s5 = *(v0);
    0x00001dac jalr t9                   |     t9 ();
    0x00001db0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001db4 move a0, s5               |     a0 = s5;
    0x00001db8 move a3, s4               |     a3 = s4;
    0x00001dbc lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00001dc0 lw t9, -0x7f94(gp)        |     t9 = sym.imp.__fprintf_chk;
    0x00001dc4 addiu a2, a2, 0x4808      |     a2 += str.Failed_to_determine_sensor_type___s_:__s_n;
    0x00001dc8 addiu a1, zero, 1         |     a1 = 1;
    0x00001dcc sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00001dd0 jalr t9                   |     t9 ();
    0x00001dd4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001dd8 lw t9, -0x7f48(gp)        |     t9 = sym.imp.sd_bus_error_free;
    0x00001ddc move a0, s6               |     a0 = s6;
    0x00001de0 jalr t9                   |     t9 ();
    0x00001de4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001de8 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x00001dec b 0x1774                  |     goto label_4;
                                         | label_24:
    0x00001df0 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00001df4 jalr t9                   |     t9 ();
    0x00001df8 nop                       |     
    0x00001dfc nop                       |     
                                         | }

[*] Function mmap used 3 times shuttergaind