[*] Binary protection state of libdsdevice-api.so.0.0.1
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function system tear down of libdsdevice-api.so.0.0.1
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libdsdevice-api.so.0.0.1 @ 0x1a34 */
| #include <stdint.h>
|
; (fcn) fcn.00001a34 () | void fcn_00001a34 (int16_t arg1) {
| int16_t var_0h;
| int16_t var_8h_2;
| int16_t var_ch;
| int16_t var_0h_2;
| int16_t var_8h;
| int16_t var_28h;
| int16_t var_8ch;
| r0 = arg1;
0x00001a34 push {r4, r5, r6, lr} |
0x00001a36 sub sp, 0x90 |
0x00001a38 ldr r4, [pc, 0x74] |
0x00001a3a add r6, sp, 8 | r6 += var_8h;
0x00001a3c mov r5, r0 | r5 = r0;
0x00001a3e movs r2, 1 | r2 = 1;
0x00001a40 ldr r3, [pc, 0x70] | r3 = *(0x1ab4);
0x00001a42 mov r0, r6 | r0 = r6;
0x00001a44 add r4, pc | r4 = 0x34f8;
0x00001a46 ldr r3, [r4, r3] |
0x00001a48 ldr r3, [r3] | r3 = *(0x34f8);
0x00001a4a str r3, [sp, 0x8c] | var_8ch = r3;
0x00001a4c mov.w r3, 0 | r3 = 0;
0x00001a50 blx 0x14c8 | r0 = resource_get_domain ();
| if (r0 != 0) {
0x00001a54 cbnz r0, 0x1a96 | goto label_3;
| }
0x00001a56 mov r4, r0 | r4 = r0;
0x00001a58 mov r3, r0 | r3 = r0;
0x00001a5a mov r2, r0 | r2 = r0;
0x00001a5c str r0, [sp] | *(sp) = r0;
0x00001a5e mov r1, r5 | r1 = r5;
0x00001a60 mov r0, r6 | r0 = r6;
0x00001a62 blx 0x1610 | r0 = fcn_00001610 ();
| if (r0 != 0) {
0x00001a66 cbnz r0, 0x1a8a | goto label_4;
| }
0x00001a68 movs r4, 1 | r4 = 1;
| do {
0x00001a6a mov r0, r6 | r0 = r6;
0x00001a6c blx 0x137c | fcn_0000137c ();
| label_0:
0x00001a70 ldr r2, [pc, 0x44] |
0x00001a72 ldr r3, [pc, 0x40] | r3 = *(0x1ab6);
0x00001a74 add r2, pc | r2 = 0x3530;
0x00001a76 ldr r3, [r2, r3] | r3 = *(0x3530);
0x00001a78 ldr r2, [r3] | r2 = *(0x3530);
0x00001a7a ldr r3, [sp, 0x8c] | r3 = var_8ch;
0x00001a7c eors r2, r3 | r2 ^= r3;
0x00001a7e mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00001a82 bne 0x1aaa | goto label_5;
| }
0x00001a84 mov r0, r4 | r0 = r4;
0x00001a86 add sp, 0x90 |
0x00001a88 pop {r4, r5, r6, pc} |
| label_4:
0x00001a8a movs r3, 0x64 | r3 = 0x64;
0x00001a8c add r2, sp, 0x28 | r2 += var_28h;
0x00001a8e mov r1, r6 | r1 = r6;
0x00001a90 blx 0x14a4 | interface_requirement_new ();
0x00001a94 b 0x1a6a |
| } while (1);
| label_3:
0x00001a96 ldr r3, [pc, 0x24] |
0x00001a98 movs r0, 0 | r0 = 0;
0x00001a9a ldr r2, [pc, 0x24] |
0x00001a9c movs r1, 0x10 | r1 = 0x10;
0x00001a9e mov r4, r0 | r4 = r0;
0x00001aa0 add r3, pc | r3 = 0x3562;
0x00001aa2 add r2, pc | r2 = 0x3568;
0x00001aa4 blx 0x16d4 | fcn_000016d4 ();
0x00001aa8 b 0x1a70 | goto label_0;
| label_5:
0x00001aaa blx 0x15ac | get_domain_context_from_system_registry ()
0x00001aae nop |
0x00001ab0 movs r4, 0x60 | r4 = 0x60;
0x00001ab2 movs r0, r0 |
0x00001ab4 lsls r0, r2, 5 | r0 = r2 << 5;
0x00001ab6 movs r0, r0 |
0x00001ab8 movs r4, 0x30 | r4 = 0x30;
0x00001aba movs r0, r0 |
0x00001abc lsrs r0, r0, 0x18 | r0 >>= 0x18;
0x00001abe movs r0, r0 |
0x00001ac0 lsrs r2, r0, 7 | r2 = r0 >> 7;
0x00001ac2 movs r0, r0 |
0x00001ac4 ldr r2, [pc, 0x254] |
0x00001ac6 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00001aca mov r8, r3 | r8 = r3;
0x00001acc ldr r3, [pc, 0x250] | r3 = *(0x1d20);
0x00001ace sub sp, 0x14 |
0x00001ad0 add r2, pc | r2 = 0x37f0;
0x00001ad2 mov r5, r0 | r5 = r0;
0x00001ad4 movs r6, 0 | r6 = 0;
0x00001ad6 mov r4, r1 | r4 = r1;
0x00001ad8 ldr r3, [r2, r3] |
0x00001ada ldr r3, [r3] | r3 = *(0x37f0);
0x00001adc str r3, [sp, 0xc] | var_ch = r3;
0x00001ade mov.w r3, 0 | r3 = 0;
0x00001ae2 str r6, [sp, 8] | var_8h_2 = r6;
0x00001ae4 blx 0x14bc | r0 = regcomp ();
0x00001ae8 mov r1, r0 | r1 = r0;
0x00001aea mov r0, r5 | r0 = r5;
0x00001aec blx 0x15a0 | stack_chk_fail ();
0x00001af0 blx 0x14d4 | r0 = g_propagate_error ();
0x00001af4 mov r7, r0 | r7 = r0;
0x00001af6 blx 0x14f8 | r0 = ipc_data_set_ipc_data_array ();
0x00001afa mov r1, r0 | r1 = r0;
0x00001afc mov r0, r7 | r0 = r7;
0x00001afe blx 0x15a0 | stack_chk_fail ();
0x00001b02 ldr r1, [pc, 0x220] |
0x00001b04 mov r5, r0 | r5 = r0;
0x00001b06 mov r2, r6 | r2 = r6;
0x00001b08 mov r0, r4 | r0 = r4;
0x00001b0a add r1, pc | r1 = 0x3834;
0x00001b0c blx 0x16bc | r0 = fcn_000016bc ();
0x00001b10 cmp r0, 0 |
| if (r0 == 0) {
0x00001b12 beq.w 0x1cbe | goto label_6;
| }
0x00001b16 mov r1, r0 | r1 = r0;
0x00001b18 mov r0, r5 | r0 = r5;
0x00001b1a blx 0x1564 | interface_definition_destroy ();
0x00001b1e ldr r1, [pc, 0x208] |
0x00001b20 mov r2, r6 | r2 = r6;
0x00001b22 mov r0, r4 | r0 = r4;
0x00001b24 add r1, pc | r1 = 0x3852;
0x00001b26 blx 0x16bc | r0 = fcn_000016bc ();
0x00001b2a mov r1, r0 | r1 = r0;
| if (r0 != 0) {
0x00001b2c cbz r0, 0x1b34 |
0x00001b2e mov r0, r5 | r0 = r5;
0x00001b30 blx 0x1444 | ipc_data_create ();
| }
0x00001b34 ldr r1, [pc, 0x1f4] |
0x00001b36 movs r2, 0 | r2 = 0;
0x00001b38 mov r0, r4 | r0 = r4;
0x00001b3a add r1, pc | r1 = 0x386a;
0x00001b3c blx 0x16bc | r0 = fcn_000016bc ();
0x00001b40 mov r1, r0 | r1 = r0;
| if (r0 != 0) {
0x00001b42 cbz r0, 0x1b4a |
0x00001b44 mov r0, r5 | r0 = r5;
0x00001b46 blx 0x1634 | fcn_00001634 ();
| }
0x00001b4a ldr.w sb, [pc, 0x1e4] |
0x00001b4e mov r0, r4 | r0 = r4;
0x00001b50 ldr r1, [pc, 0x1e0] |
0x00001b52 add sb, pc | sb = 0x3888;
0x00001b54 mov r2, sb | r2 = sb;
0x00001b56 add r1, pc | r1 = 0x388e;
0x00001b58 blx 0x16bc | r0 = fcn_000016bc ();
0x00001b5c mov r6, r0 | r6 = r0;
0x00001b5e mov r0, r5 | r0 = r5;
0x00001b60 mov r1, r6 | r1 = r6;
0x00001b62 blx 0x161c | fcn_0000161c ();
0x00001b66 ldr r1, [pc, 0x1d0] |
0x00001b68 mov r0, r6 | r0 = r6;
0x00001b6a add r1, pc | r1 = 0x38a8;
0x00001b6c blx 0x13ec | fcn_000013ec ();
0x00001b70 ldr r1, [pc, 0x1c8] |
0x00001b72 cmp r0, 0 |
0x00001b74 movw r2, 0x1bb | r2 = 0x1bb;
0x00001b78 mov r0, r4 | r0 = r4;
0x00001b7a it eq |
| if (r0 != 0) {
0x00001b7c moveq r2, 0x50 | r2 = 0x50;
| }
0x00001b7e add r1, pc | r1 = 0x38be;
0x00001b80 blx 0x13b8 | r0 = fcn_000013b8 ();
0x00001b84 mov r6, r0 | r6 = r0;
0x00001b86 mov r0, r5 | r0 = r5;
0x00001b88 mov r1, r6 | r1 = r6;
0x00001b8a subs r6, 1 | r6--;
0x00001b8c blx 0x151c | domain_resource_get_type ();
0x00001b90 movw r3, 0xfffe | r3 = 0xfffe;
0x00001b94 cmp r6, r3 |
| if (r6 > r3) {
0x00001b96 bhi 0x1c3c | goto label_7;
| }
0x00001b98 ldr.w fp, [pc, 0x1a4] | fp = "a_get_string";
0x00001b9c movs r2, 0 | r2 = 0;
0x00001b9e mov r0, r4 | r0 = r4;
0x00001ba0 add fp, pc |
0x00001ba2 mov r1, fp | r1 = fp;
0x00001ba4 blx 0x16bc | fcn_000016bc ();
0x00001ba8 ldr r1, [pc, 0x198] |
0x00001baa mov r6, r0 | r6 = r0;
0x00001bac add r1, pc | r1 = 0x38f4;
0x00001bae bl 0x1a34 | r0 = fcn_00001a34 (r0);
0x00001bb2 mov sl, r0 | sl = r0;
0x00001bb4 cmp r0, 0 |
0x00001bb6 beq 0x1c82 |
| while (1) {
| label_2:
0x00001bb8 mov r1, r6 | r1 = r6;
0x00001bba mov r0, r5 | r0 = r5;
0x00001bbc blx 0x1438 | domain_dsdevice_set_description ();
0x00001bc0 ldr r1, [pc, 0x184] |
0x00001bc2 movs r2, 0 | r2 = 0;
0x00001bc4 mov r0, r4 | r0 = r4;
0x00001bc6 add r1, pc | r1 = 0x3912;
0x00001bc8 blx 0x16bc | r0 = fcn_000016bc ();
0x00001bcc mov r1, r0 | r1 = r0;
| if (r0 != 0) {
0x00001bce cbz r0, 0x1bd6 |
0x00001bd0 mov r0, r5 | r0 = r5;
0x00001bd2 blx 0x16a4 | fcn_000016a4 ();
| }
0x00001bd6 ldr r1, [pc, 0x174] |
0x00001bd8 movs r2, 0 | r2 = 0;
0x00001bda mov r0, r4 | r0 = r4;
0x00001bdc add r1, pc | r1 = 0x392e;
0x00001bde blx 0x16bc | r0 = fcn_000016bc ();
0x00001be2 mov r1, r0 | r1 = r0;
| if (r0 != 0) {
0x00001be4 cbz r0, 0x1bec |
0x00001be6 mov r0, r5 | r0 = r5;
0x00001be8 blx 0x1664 | fcn_00001664 ();
| }
0x00001bec ldr r1, [pc, 0x160] |
0x00001bee movs r2, 4 | r2 = 4;
0x00001bf0 mov r0, r4 | r0 = r4;
0x00001bf2 add r1, pc | r1 = 0x3946;
0x00001bf4 blx 0x13b8 | r0 = fcn_000013b8 ();
0x00001bf8 subs r1, r0, 0 | r1 = r0 - 0;
| if (r1 <= r0) {
0x00001bfa ble 0x1c9e | goto label_8;
| }
0x00001bfc mov r0, r5 | r0 = r5;
0x00001bfe blx 0x1588 | domain_dsdevice_get_max_pinlength ();
0x00001c02 ldr r2, [pc, 0x150] |
0x00001c04 mov r0, r4 | r0 = r4;
0x00001c06 ldr r1, [pc, 0x150] |
0x00001c08 add r2, pc | r2 = 0x3962;
0x00001c0a add r1, pc | r1 = 0x3968;
0x00001c0c blx 0x16bc | fcn_000016bc ();
0x00001c10 add r1, sp, 8 | r1 += var_8h_2;
0x00001c12 mov r4, r0 | r4 = r0;
0x00001c14 blx 0x1604 | fcn_00001604 ();
0x00001c16 vldmia r6!, {s19, s20} | __asm ("vldmia r6!, {s19, s20}");
0x00001c1a cmp r2, 0 |
| if (r2 != 0) {
0x00001c1c bne 0x1cce | goto label_9;
| }
0x00001c1e cmp.w r0, 0x3e8 |
0x00001c22 sbcs r3, r1, 0 | __asm ("sbcs r3, r1, 0");
| if (r0 < 0x3e8) {
0x00001c26 blt 0x1cae | goto label_10;
| }
0x00001c28 cmp.w r0, -0x80000000 |
0x00001c2c sbcs r1, r1, 0 | __asm ("sbcs r1, r1, 0");
| if (r0 >= -0x80000000) {
0x00001c30 bge 0x1cf2 | goto label_11;
| }
0x00001c32 mov r1, r4 | r1 = r4;
0x00001c34 mov r0, r5 | r0 = r5;
0x00001c36 blx 0x1540 | resource_declare_interface_implementation ();
0x00001c3a b 0x1c58 | goto label_1;
| label_7:
0x00001c3c ldr r2, [pc, 0x11c] |
0x00001c3e mov r3, sb | r3 = sb;
0x00001c40 movs r1, 0x10 | r1 = 0x10;
0x00001c42 movs r0, 0 | r0 = 0;
0x00001c44 add r2, pc | r2 = 0x39a4;
0x00001c46 blx 0x16d4 | fcn_000016d4 ();
0x00001c4a ldr r1, [pc, 0x114] |
0x00001c4c mov.w r0, 0x190 | r0 = 0x190;
0x00001c50 add r1, pc | r1 = 0x39b6;
0x00001c52 blx 0x13d0 | fcn_000013d0 ();
0x00001c56 str r0, [sp, 8] | var_8h_2 = r0;
| label_1:
0x00001c58 mov r0, r7 | r0 = r7;
0x00001c5a blx 0x13e0 | fcn_000013e0 ();
0x00001c5e ldr r1, [sp, 8] | r1 = var_8h_2;
| if (r1 != 0) {
0x00001c60 cbz r1, 0x1c68 |
0x00001c62 mov r0, r8 | r0 = r8;
0x00001c64 blx 0x14e0 | resource_relation_load_from_reference_like ();
| }
0x00001c68 ldr r2, [pc, 0xf8] |
0x00001c6a ldr r3, [pc, 0xb4] | r3 = *(0x1d22);
0x00001c6c add r2, pc | r2 = 0x39d4;
0x00001c6e ldr r3, [r2, r3] | r3 = *(0x39d4);
0x00001c70 ldr r2, [r3] | r2 = *(0x39d4);
0x00001c72 ldr r3, [sp, 0xc] | r3 = var_ch;
0x00001c74 eors r2, r3 | r2 ^= r3;
0x00001c76 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00001c7a bne 0x1d18 | goto label_12;
| }
0x00001c7c add sp, 0x14 |
0x00001c7e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
0x00001c82 ldr r1, [pc, 0xe4] |
0x00001c84 mov r0, r6 | r0 = r6;
0x00001c86 add r1, pc | r1 = 0x39f4;
0x00001c88 bl 0x1a34 | r0 = fcn_00001a34 (r0);
| if (r0 == 0) {
0x00001c8c cbz r0, 0x1ce0 | goto label_13;
| }
0x00001c8e ldr r2, [pc, 0xdc] |
0x00001c90 mov r3, sb | r3 = sb;
0x00001c92 mov r0, sl | r0 = sl;
0x00001c94 movs r1, 0x40 | r1 = 0x40;
0x00001c96 add r2, pc | r2 = 0x3a08;
0x00001c98 blx 0x16d4 | fcn_000016d4 ();
0x00001c9c b 0x1bb8 |
| }
| label_8:
0x00001c9e ldr r1, [pc, 0xd0] |
0x00001ca0 mov.w r0, 0x190 | r0 = 0x190;
0x00001ca4 add r1, pc | r1 = 0x3a1a;
0x00001ca6 blx 0x13d0 | fcn_000013d0 ();
0x00001caa str r0, [sp, 8] | var_8h_2 = r0;
0x00001cac b 0x1c58 | goto label_1;
| label_10:
0x00001cae ldr r1, [pc, 0xc4] |
0x00001cb0 mov.w r0, 0x190 | r0 = 0x190;
0x00001cb4 add r1, pc | r1 = 0x3a2e;
0x00001cb6 blx 0x13d0 | fcn_000013d0 ();
0x00001cba str r0, [sp, 8] | var_8h_2 = r0;
0x00001cbc b 0x1c58 | goto label_1;
| label_6:
0x00001cbe ldr r1, [pc, 0xb8] |
0x00001cc0 mov.w r0, 0x1a6 | r0 = 0x1a6;
0x00001cc4 add r1, pc | r1 = 0x3a42;
0x00001cc6 blx 0x13d0 | fcn_000013d0 ();
0x00001cca str r0, [sp, 8] | var_8h_2 = r0;
0x00001ccc b 0x1c58 | goto label_1;
| label_9:
0x00001cce ldr r3, [pc, 0xac] |
0x00001cd0 movs r1, 0x10 | r1 = 0x10;
0x00001cd2 ldr r2, [pc, 0xac] |
0x00001cd4 movs r0, 0 | r0 = 0;
0x00001cd6 add r3, pc | r3 = 0x3a58;
0x00001cd8 add r2, pc | r2 = 0x3a5e;
0x00001cda blx 0x16d4 | fcn_000016d4 ();
0x00001cde b 0x1c58 | goto label_1;
| label_13:
0x00001ce0 ldr r2, [pc, 0xa0] |
0x00001ce2 mov r3, sb | r3 = sb;
0x00001ce4 movs r1, 0x10 | r1 = 0x10;
0x00001ce6 str.w fp, [sp] | __asm ("str.w fp, [sp]");
0x00001cea add r2, pc | r2 = 0x3a72;
0x00001cec blx 0x16d4 | fcn_000016d4 ();
0x00001cf0 b 0x1bb8 | goto label_2;
| label_11:
0x00001cf2 mov r0, r2 | r0 = r2;
0x00001cf4 ldr r3, [pc, 0x90] |
0x00001cf6 ldr r2, [pc, 0x94] |
0x00001cf8 mvn r1, 0x80000000 | r1 = ~0x80000000;
0x00001cfc str r1, [sp] | *(sp) = r1;
0x00001cfe movs r1, 0x10 | r1 = 0x10;
0x00001d00 add r3, pc | r3 = 0x3a8c;
0x00001d02 add r2, pc | r2 = 0x3a94;
0x00001d04 blx 0x16d4 | fcn_000016d4 ();
0x00001d08 ldr r1, [pc, 0x84] |
0x00001d0a mov.w r0, 0x190 | r0 = 0x190;
0x00001d0e add r1, pc | r1 = 0x3aa2;
0x00001d10 blx 0x13d0 | fcn_000013d0 ();
0x00001d14 str r0, [sp, 8] | var_8h_2 = r0;
0x00001d16 b 0x1c58 | goto label_1;
| label_12:
0x00001d18 blx 0x15ac | get_domain_context_from_system_registry ()
0x00001d1c movs r3, 0xd4 | r3 = 0xd4;
0x00001d1e movs r0, r0 |
0x00001d20 lsls r0, r2, 5 | r0 = r2 << 5;
0x00001d22 movs r0, r0 |
0x00001d24 lsrs r6, r0, 0x16 | r6 = r0 >> 0x16;
0x00001d26 movs r0, r0 |
0x00001d28 lsrs r4, r3, 5 | r4 = r3 >> 5;
0x00001d2a movs r0, r0 |
0x00001d2c lsrs r2, r6, 5 | r2 = r6 >> 5;
0x00001d2e movs r0, r0 |
0x00001d30 lsrs r6, r1, 0x15 | r6 = r1 >> 0x15;
0x00001d32 movs r0, r0 |
0x00001d34 lsrs r2, r6, 5 | r2 = r6 >> 5;
0x00001d36 movs r0, r0 |
0x00001d38 lsrs r6, r4, 5 | r6 = r4 >> 5;
0x00001d3a movs r0, r0 |
0x00001d3c lsrs r6, r2, 5 | r6 = r2 >> 5;
0x00001d3e movs r0, r0 |
0x00001d40 lsrs r4, r7, 5 | r4 = r7 >> 5;
0x00001d42 movs r0, r0 |
0x00001d44 lsrs r4, r6, 5 | r4 = r6 >> 5;
0x00001d46 movs r0, r0 |
0x00001d48 lsrs r6, r0, 0x13 | r6 = r0 >> 0x13;
0x00001d4a movs r0, r0 |
0x00001d4c lsrs r4, r7, 0x12 | r4 = r7 >> 0x12;
0x00001d4e movs r0, r0 |
0x00001d50 lsrs r2, r6, 0x12 | r2 = r6 >> 0x12;
0x00001d52 movs r0, r0 |
0x00001d54 lsrs r0, r3, 0x13 | r0 = r3 >> 0x13;
0x00001d56 movs r0, r0 |
0x00001d58 lsrs r6, r3, 0x13 | r6 = r3 >> 0x13;
0x00001d5a movs r0, r0 |
0x00001d5c lsrs r0, r3, 2 | r0 = r3 >> 2;
0x00001d5e movs r0, r0 |
0x00001d60 lsrs r4, r5, 2 | r4 = r5 >> 2;
0x00001d62 movs r0, r0 |
0x00001d64 movs r2, 0x38 | r2 = 0x38;
0x00001d66 movs r0, r0 |
0x00001d68 lsrs r6, r5, 0xc | r6 = r5 >> 0xc;
0x00001d6a movs r0, r0 |
0x00001d6c lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x00001d6e movs r0, r0 |
0x00001d70 lsrs r4, r1, 0x10 | r4 = r1 >> 0x10;
0x00001d72 movs r0, r0 |
0x00001d74 lsrs r0, r4, 0x11 | r0 = r4 >> 0x11;
0x00001d76 movs r0, r0 |
0x00001d78 lsls r0, r1, 0x1f | r0 = r1 << 0x1f;
0x00001d7a movs r0, r0 |
0x00001d7c lsrs r2, r1, 0xf | r2 = r1 >> 0xf;
0x00001d7e movs r0, r0 |
0x00001d80 lsrs r0, r3, 0x10 | r0 = r3 >> 0x10;
0x00001d82 movs r0, r0 |
0x00001d84 lsrs r2, r6, 0xd | r2 = r6 >> 0xd;
0x00001d86 movs r0, r0 |
0x00001d88 lsrs r0, r4, 0xe | r0 = r4 >> 0xe;
0x00001d8a movs r0, r0 |
0x00001d8c lsrs r2, r1, 0x11 | r2 = r1 >> 0x11;
0x00001d8e movs r0, r0 |
0x00001d90 lsrs r6, r3, 0x11 | r6 = r3 >> 0x11;
0x00001d92 movs r0, r0 |
| }
[*] Function system used 3 times libdsdevice-api.so.0.0.1