[*] Binary protection state of lttng-sessiond

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


[*] Function strcat tear down of lttng-sessiond

    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/lttng-sessiond @ 0x2bdc8 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0002bdc8 ()                                          | void fcn_0002bdc8 (int16_t arg_0h, uint32_t arg1) {
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_4h;
                                                                     |     int16_t var_8h;
                                                                     |     int16_t var_14h;
                                                                     |     int16_t var_18h;
                                                                     |     int32_t var_18h_2;
                                                                     |     int16_t var_24h;
                                                                     |     int16_t var_28h;
                                                                     |     int16_t var_44h;
                                                                     |     int16_t var_10ch;
                                                                     |     r0 = arg1;
    0x0002bdc8 ldr.w r2, [pc, 0x450]                                 |     
    0x0002bdcc ldr.w r3, [pc, 0x450]                                 |     r3 = case.0xb5476.8;
    0x0002bdd0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0002bdd4 sub sp, 0x114                                         |     
    0x0002bdd6 add r2, pc                                            |     r2 = 0x57ff6;
    0x0002bdd8 ldr.w fp, [pc, 0x448]                                 |     
    0x0002bddc ldr r3, [r2, r3]                                      |     
    0x0002bdde add fp, pc                                            |     fp = 0x58006;
    0x0002bde0 ldr r3, [r3]                                          |     r3 = *(0x57ff6);
    0x0002bde2 str r3, [sp, 0x10c]                                   |     var_10ch = r3;
    0x0002bde4 mov.w r3, 0                                           |     r3 = 0;
    0x0002bde8 cmp r0, 0                                             |     
                                                                     |     if (arg_0h == ) {
    0x0002bdea beq.w 0x2c04a                                         |         goto label_6;
                                                                     |     }
    0x0002bdee blx 0x16414                                           |     r0 = gethostname ();
    0x0002bdf2 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0002bdf4 beq.w 0x2bfc4                                         |         goto label_7;
                                                                     |     }
    0x0002bdf8 ldr.w sb, [pc, 0x42c]                                 |     
    0x0002bdfc add.w r8, sp, 0x24                                    |     r8 += var_24h;
    0x0002be00 ldr.w r3, [pc, 0x428]                                 |     r3 = "_type__MSGPACK_OBJECT_MAP";
    0x0002be04 mov r2, r8                                            |     r2 = r8;
    0x0002be06 ldr.w r6, [pc, 0x428]                                 |     
    0x0002be0a add sb, pc                                            |     sb = 0x58036;
    0x0002be0c strd r0, fp, [sp, 0x18]                               |     __asm ("strd r0, fp, [var_18h]");
    0x0002be10 add r3, pc                                            |     r3 += pc;
    0x0002be12 mov r1, sb                                            |     r1 = sb;
    0x0002be14 str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x0002be16 add r6, pc                                            |     r6 = 0x5804c;
    0x0002be18 blx 0x16588                                           |     r0 = strcat (r0, r1)
    0x0002be1c mov r4, r0                                            |     r4 = r0;
    0x0002be1e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0002be20 beq 0x2be98                                           |         goto label_8;
                                                                     |     }
                                                                     | label_0:
    0x0002be22 ldrb r3, [r0]                                         |     r3 = *(r0);
    0x0002be24 cmp r3, 0x20                                          |     
                                                                     |     if (r3 != 0x20) {
    0x0002be26 bne 0x2be30                                           |         goto label_9;
                                                                     |     }
                                                                     |     do {
    0x0002be28 ldrb r3, [r4, 1]!                                     |         r3 = *((r4 += 1));
    0x0002be2c cmp r3, 0x20                                          |         
    0x0002be2e beq 0x2be28                                           |         
                                                                     |     } while (r3 == 0x20);
                                                                     | label_9:
    0x0002be30 ldrd r7, r1, [r6, 4]                                  |     __asm ("ldrd r7, r1, [r6, 4]");
    0x0002be34 cmp r1, r7                                            |     
                                                                     |     if (r1 <= r7) {
    0x0002be36 ble 0x2bebe                                           |         goto label_10;
                                                                     |     }
    0x0002be38 ldr.w fp, [r6]                                        |     fp = *(r6);
    0x0002be3c lsls r5, r7, 1                                        |     r5 = r7 << 1;
                                                                     | label_1:
    0x0002be3e mov r0, r4                                            |     r0 = r4;
    0x0002be40 blx 0x15fc4                                           |     getrandom ();
    0x0002be44 add r7, r5                                            |     r7 += r5;
    0x0002be46 add.w r5, r0, 0xd                                     |     r5 = r0 + 0xd;
    0x0002be4a mov r1, r5                                            |     r1 = r5;
    0x0002be4c movs r0, 1                                            |     r0 = 1;
    0x0002be4e blx 0x15b58                                           |     fcn_00015b58 ();
    0x0002be52 add.w sl, fp, r7, lsl 2                               |     sl = fp + (r7 << 2);
    0x0002be56 str.w r0, [fp, r7, lsl 2]                             |     __asm ("str.w r0, [fp, r7, lsl 2]");
    0x0002be5a cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0002be5c beq.w 0x2c05e                                         |         goto label_11;
                                                                     |     }
    0x0002be60 ldr r7, [pc, 0x3d0]                                   |     
    0x0002be62 mov.w r3, -1                                          |     r3 = -1;
    0x0002be66 movs r2, 1                                            |     r2 = 1;
    0x0002be68 mov r1, r5                                            |     r1 = r5;
    0x0002be6a add r7, pc                                            |     r7 = 0x580a2;
    0x0002be6c strd r7, r4, [sp]                                     |     __asm ("strd r7, r4, [sp]");
    0x0002be70 blx 0x16280                                           |     r0 = fcn_00016280 ();
    0x0002be74 cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x0002be76 blt 0x2bf2e                                           |         goto label_12;
                                                                     |     }
    0x0002be78 ldr r2, [pc, 0x3bc]                                   |     
    0x0002be7a movs r3, 1                                            |     r3 = 1;
    0x0002be7c str.w r3, [sl, 4]                                     |     __asm ("str.w r3, [sl, 4]");
    0x0002be80 movs r0, 0                                            |     r0 = 0;
    0x0002be82 mov r1, sb                                            |     r1 = sb;
    0x0002be84 add r2, pc                                            |     r2 = 0x580c0;
    0x0002be86 ldr r3, [r2, 4]                                       |     r3 = *(0x580c4);
    0x0002be88 adds r3, 1                                            |     r3++;
    0x0002be8a str r3, [r2, 4]                                       |     *((r2 + 4)) = r3;
    0x0002be8c mov r2, r8                                            |     r2 = r8;
    0x0002be8e blx 0x16588                                           |     r0 = strcat (r0, r1)
    0x0002be92 mov r4, r0                                            |     r4 = r0;
    0x0002be94 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0002be96 bne 0x2be22                                           |         goto label_0;
                                                                     |     }
                                                                     | label_8:
    0x0002be98 ldr r5, [sp, 0x18]                                    |     r5 = var_18h;
    0x0002be9a mov r0, r5                                            |     r0 = r5;
    0x0002be9c blx 0x15db0                                           |     fcn_00015db0 ();
    0x0002bea0 mov r0, r4                                            |     r0 = r4;
                                                                     | label_2:
    0x0002bea2 ldr r2, [pc, 0x398]                                   |     
    0x0002bea4 ldr r3, [pc, 0x378]                                   |     r3 = *(0x2c220);
    0x0002bea6 add r2, pc                                            |     r2 = 0x580e8;
    0x0002bea8 ldr r3, [r2, r3]                                      |     r3 = *(0x580e8);
    0x0002beaa ldr r2, [r3]                                          |     r2 = *(0x580e8);
    0x0002beac ldr r3, [sp, 0x10c]                                   |     r3 = var_10ch;
    0x0002beae eors r2, r3                                           |     r2 ^= r3;
    0x0002beb0 mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 != r3) {
    0x0002beb4 bne.w 0x2c0e8                                         |         goto label_13;
                                                                     |     }
    0x0002beb8 add sp, 0x114                                         |     
    0x0002beba pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     |     if (r1 == 0) {
                                                                     | label_10:
    0x0002bebe cbnz r1, 0x2bedc                                      |         
    0x0002bec0 movs r1, 0xc                                          |         r1 = 0xc;
    0x0002bec2 movs r0, 1                                            |         r0 = 1;
    0x0002bec4 blx 0x15b58                                           |         r0 = fcn_00015b58 ();
    0x0002bec8 mov fp, r0                                            |         
    0x0002beca str r0, [r6]                                          |         *(r6) = r0;
    0x0002becc cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0002bece beq.w 0x2c17a                                         |             goto label_14;
                                                                     |         }
    0x0002bed2 movs r1, 1                                            |         r1 = 1;
    0x0002bed4 lsl.w r5, r7, r1                                      |         r5 = r7 << r1;
    0x0002bed8 str r1, [r6, 8]                                       |         *((r6 + 8)) = r1;
    0x0002beda b 0x2be3e                                             |         goto label_1;
                                                                     |     }
    0x0002bedc lsls r3, r1, 1                                        |     r3 = r1 << 1;
    0x0002bede movs r0, 1                                            |     r0 = 1;
    0x0002bee0 add.w r1, r3, r1, lsl 2                               |     r1 = r3 + (r1 << 2);
    0x0002bee4 str r3, [r6, 8]                                       |     *((r6 + 8)) = r3;
    0x0002bee6 lsls r1, r1, 2                                        |     r1 <<= 2;
    0x0002bee8 blx 0x15b58                                           |     r0 = fcn_00015b58 ();
    0x0002beec mov fp, r0                                            |     
    0x0002beee cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0002bef0 beq.w 0x2c0ec                                         |         goto label_15;
                                                                     |     }
    0x0002bef4 lsls r5, r7, 1                                        |     r5 = r7 << 1;
    0x0002bef6 cmp r7, 0                                             |     
    0x0002bef8 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0002befa ittt gt                                               |     
                                                                     |     if (r7 <= 0) {
    0x0002befc movgt ip, 0                                           |         
                                                                     |     }
                                                                     |     if (r7 <= 0) {
    0x0002bf00 addgt sl, r5, r7                                      |         sl = r5 + r7;
                                                                     |     }
                                                                     |     if (r7 > 0) {
    0x0002bf04 lsl.w sl, sl, 2                                       |         sl <<= 2;
                                                                     |     }
                                                                     |     if (r7 <= 0) {
    0x0002bf08 ble 0x2bf20                                           |         goto label_16;
                                                                     |     }
                                                                     |     do {
    0x0002bf0a add.w r2, r3, ip                                      |         r2 = r3 + ip;
    0x0002bf0e ldm r2, {r0, r1, r2}                                  |         r0 = *(r2);
                                                                     |         r1 = *((r2 + 4));
                                                                     |         r2 = *((r2 + 8));
    0x0002bf10 add.w lr, fp, ip                                      |         lr = fp + ip;
    0x0002bf14 add.w ip, ip, 0xc                                     |         
    0x0002bf18 cmp sl, ip                                            |         
    0x0002bf1a stm.w lr, {r0, r1, r2}                                |         *(lr) = r0;
                                                                     |         *((lr + 4)) = r1;
                                                                     |         *((lr + 8)) = r2;
    0x0002bf1e bne 0x2bf0a                                           |         
                                                                     |     } while (sl != ip);
                                                                     | label_16:
    0x0002bf20 mov r0, r3                                            |     r0 = r3;
    0x0002bf22 blx 0x15db0                                           |     fcn_00015db0 ();
    0x0002bf26 ldr r3, [sp, 0x14]                                    |     r3 = var_14h;
    0x0002bf28 str.w fp, [r3]                                        |     __asm ("str.w fp, [r3]");
    0x0002bf2c b 0x2be3e                                             |     goto label_1;
                                                                     | label_12:
    0x0002bf2e blx 0x169e4                                           |     fcn_000169e4 ();
    0x0002bf32 movs r2, 0xc8                                         |     r2 = 0xc8;
    0x0002bf34 ldr r0, [r0]                                          |     r0 = *(r0);
    0x0002bf36 add r1, sp, 0x44                                      |     r1 += var_44h;
    0x0002bf38 ldrd r5, fp, [sp, 0x18]                               |     __asm ("ldrd r5, fp, [var_18h]");
    0x0002bf3c blx 0x15c84                                           |     fcn_00015c84 ();
    0x0002bf40 ldr r3, [pc, 0x2fc]                                   |     r3 = *(0x2c240);
    0x0002bf42 mov r4, r0                                            |     r4 = r0;
    0x0002bf44 ldr.w r6, [fp, r3]                                    |     r6 = *((fp + r3));
    0x0002bf48 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0002bf4a cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0002bf4c bne 0x2bfb4                                           |         
    0x0002bf4e blx 0x1665c                                           |         r0 = fcn_0001665c ();
    0x0002bf52 mov r7, r0                                            |         r7 = r0;
    0x0002bf54 movs r0, 0xe0                                         |         r0 = 0xe0;
    0x0002bf56 blx 0x168d8                                           |         fcn_000168d8 ();
    0x0002bf5a ldr r3, [pc, 0x2e8]                                   |         
    0x0002bf5c movs r2, 1                                            |         r2 = 1;
    0x0002bf5e strd r7, r0, [sp, 4]                                  |         __asm ("strd r7, r0, [var_4h]");
    0x0002bf62 add r7, sp, 0x28                                      |         r7 += var_28h;
    0x0002bf64 mov r0, r7                                            |         r0 = r7;
    0x0002bf66 add r3, pc                                            |         r3 = 0x581b0;
    0x0002bf68 str r3, [sp]                                          |         *(sp) = r3;
    0x0002bf6a movs r3, 0x1c                                         |         r3 = 0x1c;
    0x0002bf6c mov r1, r3                                            |         r1 = r3;
    0x0002bf6e blx 0x16280                                           |         fcn_00016280 ();
    0x0002bf72 ldr r3, [r6]                                          |         r3 = *(r6);
                                                                     |         if (r3 == 0) {
    0x0002bf74 cbnz r3, 0x2bfb0                                      |             
    0x0002bf76 ldr r3, [pc, 0x2d0]                                   |             r3 = *(0x2c24a);
    0x0002bf78 ldr.w r3, [fp, r3]                                    |             r3 = *((fp + r3));
    0x0002bf7c ldr.w r8, [r3]                                        |             r8 = *(0x2c24a);
    0x0002bf80 bl 0x8a498                                            |             r0 = fcn_0008a498 (r0);
    0x0002bf84 mov r6, r0                                            |             r6 = r0;
    0x0002bf86 ldr r0, [pc, 0x280]                                   |             
    0x0002bf88 add r0, pc                                            |             r0 = 0x58196;
    0x0002bf8a blx 0x1643c                                           |             r0 = fcn_0001643c ();
    0x0002bf8e ldr r2, [r0]                                          |             r2 = *(0x58196);
    0x0002bf90 mov r3, r6                                            |             r3 = r6;
    0x0002bf92 ldr r1, [pc, 0x2b8]                                   |             
    0x0002bf94 mov r0, r8                                            |             r0 = r8;
    0x0002bf96 str r4, [sp, 4]                                       |             var_4h = r4;
    0x0002bf98 cmp r2, 0                                             |             
    0x0002bf9a it eq                                                 |             
                                                                     |             if (r2 != 0) {
    0x0002bf9c moveq r2, r7                                          |                 r2 = r7;
                                                                     |             }
    0x0002bf9e str r2, [sp]                                          |             *(sp) = r2;
    0x0002bfa0 add r1, pc                                            |             r1 = 0x581f2;
    0x0002bfa2 ldr r2, [pc, 0x2ac]                                   |             
    0x0002bfa4 adds r1, 0x18                                         |             r1 += 0x18;
    0x0002bfa6 str r1, [sp, 8]                                       |             var_8h = r1;
    0x0002bfa8 movs r1, 1                                            |             r1 = 1;
    0x0002bfaa add r2, pc                                            |             r2 = 0x58200;
    0x0002bfac blx 0x1649c                                           |             fcn_0001649c ();
                                                                     |         }
                                                                     | label_5:
    0x0002bfb0 bl 0x8a690                                            |         fcn_0008a690 (r0, r1, r2);
                                                                     |     }
                                                                     | label_4:
    0x0002bfb4 mov r0, r5                                            |     r0 = r5;
    0x0002bfb6 blx 0x15db0                                           |     fcn_00015db0 ();
    0x0002bfba bl 0x2bd28                                            |     fcn_0002bd28 ();
                                                                     |     do {
                                                                     | label_3:
    0x0002bfbe mvn r0, 0xb                                           |         r0 = ~0xb;
    0x0002bfc2 b 0x2bea2                                             |         goto label_2;
                                                                     | label_7:
    0x0002bfc4 blx 0x169e4                                           |         fcn_000169e4 ();
    0x0002bfc8 movs r2, 0xc8                                         |         r2 = 0xc8;
    0x0002bfca ldr r0, [r0]                                          |         r0 = *(r0);
    0x0002bfcc add r1, sp, 0x44                                      |         r1 += var_44h;
    0x0002bfce blx 0x15c84                                           |         fcn_00015c84 ();
    0x0002bfd2 ldr r3, [pc, 0x26c]                                   |         r3 = *(0x2c242);
    0x0002bfd4 mov r5, r0                                            |         r5 = r0;
    0x0002bfd6 ldr.w r6, [fp, r3]                                    |         r6 = *((fp + r3));
    0x0002bfda ldr r3, [r6]                                          |         r3 = *(r6);
    0x0002bfdc cmp r3, 0                                             |         
    0x0002bfde bne 0x2bfbe                                           |         
                                                                     |     } while (r3 != 0);
    0x0002bfe0 blx 0x1665c                                           |     r0 = fcn_0001665c ();
    0x0002bfe4 mov r4, r0                                            |     r4 = r0;
    0x0002bfe6 movs r0, 0xe0                                         |     r0 = 0xe0;
    0x0002bfe8 blx 0x168d8                                           |     fcn_000168d8 ();
    0x0002bfec ldr r3, [pc, 0x264]                                   |     
    0x0002bfee add r7, sp, 0x28                                      |     r7 += var_28h;
    0x0002bff0 str r0, [sp, 8]                                       |     var_8h = r0;
    0x0002bff2 movs r2, 1                                            |     r2 = 1;
    0x0002bff4 mov r0, r7                                            |     r0 = r7;
    0x0002bff6 add r3, pc                                            |     r3 = 0x5824e;
    0x0002bff8 strd r3, r4, [sp]                                     |     __asm ("strd r3, r4, [sp]");
    0x0002bffc movs r3, 0x1c                                         |     r3 = 0x1c;
    0x0002bffe mov r1, r3                                            |     r1 = r3;
    0x0002c000 blx 0x16280                                           |     fcn_00016280 ();
    0x0002c004 ldr r3, [r6]                                          |     r3 = *(r6);
                                                                     |     if (r3 == 0) {
    0x0002c006 cbnz r3, 0x2c044                                      |         
    0x0002c008 ldr r3, [pc, 0x23c]                                   |         r3 = *(0x2c248);
    0x0002c00a ldr.w r3, [fp, r3]                                    |         r3 = *((fp + r3));
    0x0002c00e ldr.w r8, [r3]                                        |         r8 = *(0x2c248);
    0x0002c012 bl 0x8a498                                            |         fcn_0008a498 (r0);
    0x0002c016 ldr r3, [pc, 0x1f4]                                   |         
    0x0002c018 mov r6, r0                                            |         r6 = r0;
    0x0002c01a add r3, pc                                            |         r3 = 0x5822c;
    0x0002c01c mov r0, r3                                            |         r0 = r3;
    0x0002c01e blx 0x1643c                                           |         fcn_0001643c ();
    0x0002c022 ldr r1, [pc, 0x234]                                   |         
    0x0002c024 mov r3, r6                                            |         r3 = r6;
    0x0002c026 ldr r4, [r0]                                          |         r4 = *(r0);
    0x0002c028 mov r0, r8                                            |         r0 = r8;
    0x0002c02a ldr r2, [pc, 0x230]                                   |         
    0x0002c02c add r1, pc                                            |         r1 = 0x5828a;
    0x0002c02e str r5, [sp, 4]                                       |         var_4h = r5;
    0x0002c030 adds r1, 0x18                                         |         r1 += 0x18;
    0x0002c032 cmp r4, 0                                             |         
    0x0002c034 it eq                                                 |         
                                                                     |         if (r4 != 0) {
    0x0002c036 moveq r4, r7                                          |             r4 = r7;
                                                                     |         }
    0x0002c038 str r1, [sp, 8]                                       |         var_8h = r1;
    0x0002c03a add r2, pc                                            |         r2 = 0x5829c;
    0x0002c03c movs r1, 1                                            |         r1 = 1;
    0x0002c03e str r4, [sp]                                          |         *(sp) = r4;
    0x0002c040 blx 0x1649c                                           |         fcn_0001649c ();
                                                                     |     }
    0x0002c044 bl 0x8a690                                            |     fcn_0008a690 (r0, r1, r2);
    0x0002c048 b 0x2bfbe                                             |     goto label_3;
                                                                     | label_6:
    0x0002c04a ldr r3, [pc, 0x214]                                   |     
    0x0002c04c movw r2, 0x287                                        |     r2 = 0x287;
    0x0002c050 ldr r1, [pc, 0x210]                                   |     
    0x0002c052 ldr r0, [pc, 0x214]                                   |     
    0x0002c054 add r3, pc                                            |     r3 = 0x582ba;
    0x0002c056 add r1, pc                                            |     r1 = 0x582be;
    0x0002c058 add r0, pc                                            |     r0 = 0x582c6;
    0x0002c05a blx 0x15cc0                                           |     fcn_00015cc0 ();
                                                                     | label_11:
    0x0002c05e blx 0x169e4                                           |     fcn_000169e4 ();
    0x0002c062 movs r2, 0xc8                                         |     r2 = 0xc8;
    0x0002c064 ldr r0, [r0]                                          |     r0 = *(r0);
    0x0002c066 add r1, sp, 0x44                                      |     r1 += var_44h;
    0x0002c068 ldrd r5, fp, [sp, 0x18]                               |     __asm ("ldrd r5, fp, [var_18h]");
    0x0002c06c blx 0x15c84                                           |     fcn_00015c84 ();
    0x0002c070 ldr r3, [pc, 0x1cc]                                   |     r3 = *(0x2c240);
    0x0002c072 mov r6, r0                                            |     r6 = r0;
    0x0002c074 ldr.w r8, [fp, r3]                                    |     r8 = *((fp + r3));
    0x0002c078 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0002c07c cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0002c07e bne 0x2bfb4                                           |         goto label_4;
                                                                     |     }
    0x0002c080 blx 0x1665c                                           |     r0 = fcn_0001665c ();
    0x0002c084 mov r4, r0                                            |     r4 = r0;
    0x0002c086 movs r0, 0xe0                                         |     r0 = 0xe0;
    0x0002c088 blx 0x168d8                                           |     fcn_000168d8 ();
    0x0002c08c ldr r3, [pc, 0x1dc]                                   |     
    0x0002c08e add r7, sp, 0x28                                      |     r7 += var_28h;
    0x0002c090 strd r4, r0, [sp, 4]                                  |     __asm ("strd r4, r0, [var_4h]");
    0x0002c094 movs r2, 1                                            |     r2 = 1;
    0x0002c096 mov r0, r7                                            |     r0 = r7;
    0x0002c098 add r3, pc                                            |     r3 = 0x58308;
    0x0002c09a str r3, [sp]                                          |     *(sp) = r3;
    0x0002c09c movs r3, 0x1c                                         |     r3 = 0x1c;
    0x0002c09e mov r1, r3                                            |     r1 = r3;
    0x0002c0a0 blx 0x16280                                           |     fcn_00016280 ();
    0x0002c0a4 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0002c0a8 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0002c0aa bne 0x2bfb0                                           |         goto label_5;
                                                                     |     }
    0x0002c0ac ldr r3, [pc, 0x198]                                   |     r3 = *(0x2c248);
    0x0002c0ae ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0002c0b2 ldr.w r8, [r3]                                        |     r8 = *(0x2c248);
    0x0002c0b6 bl 0x8a498                                            |     r0 = fcn_0008a498 (r0);
    0x0002c0ba mov r4, r0                                            |     r4 = r0;
    0x0002c0bc ldr r0, [pc, 0x150]                                   |     
    0x0002c0be add r0, pc                                            |     r0 = 0x582d2;
    0x0002c0c0 blx 0x1643c                                           |     r0 = fcn_0001643c ();
    0x0002c0c4 ldr r2, [r0]                                          |     r2 = *(0x582d2);
    0x0002c0c6 mov r3, r4                                            |     r3 = r4;
    0x0002c0c8 ldr r1, [pc, 0x1a4]                                   |     
    0x0002c0ca mov r0, r8                                            |     r0 = r8;
    0x0002c0cc str r6, [sp, 4]                                       |     var_4h = r6;
    0x0002c0ce cmp r2, 0                                             |     
    0x0002c0d0 it eq                                                 |     
                                                                     |     if (r2 != 0) {
    0x0002c0d2 moveq r2, r7                                          |         r2 = r7;
                                                                     |     }
    0x0002c0d4 str r2, [sp]                                          |     *(sp) = r2;
    0x0002c0d6 add r1, pc                                            |     r1 = 0x5834a;
    0x0002c0d8 ldr r2, [pc, 0x198]                                   |     
    0x0002c0da adds r1, 0x18                                         |     r1 += 0x18;
    0x0002c0dc str r1, [sp, 8]                                       |     var_8h = r1;
    0x0002c0de movs r1, 1                                            |     r1 = 1;
    0x0002c0e0 add r2, pc                                            |     r2 = 0x58358;
    0x0002c0e2 blx 0x1649c                                           |     fcn_0001649c ();
    0x0002c0e6 b 0x2bfb0                                             |     goto label_5;
                                                                     | label_13:
    0x0002c0e8 blx 0x1646c                                           |     fcn_0001646c ();
                                                                     | label_15:
    0x0002c0ec blx 0x169e4                                           |     fcn_000169e4 ();
    0x0002c0f0 movs r2, 0xc8                                         |     r2 = 0xc8;
    0x0002c0f2 ldr r0, [r0]                                          |     r0 = *(r0);
    0x0002c0f4 add r1, sp, 0x44                                      |     r1 += var_44h;
    0x0002c0f6 ldrd r5, fp, [sp, 0x18]                               |     __asm ("ldrd r5, fp, [var_18h]");
    0x0002c0fa blx 0x15c84                                           |     fcn_00015c84 ();
    0x0002c0fe ldr r3, [pc, 0x140]                                   |     r3 = *(0x2c242);
    0x0002c100 mov r6, r0                                            |     r6 = r0;
    0x0002c102 ldr.w r8, [fp, r3]                                    |     r8 = *((fp + r3));
    0x0002c106 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0002c10a cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0002c10c bne.w 0x2bfb4                                         |         goto label_4;
                                                                     |     }
    0x0002c110 blx 0x1665c                                           |     r0 = fcn_0001665c ();
    0x0002c114 mov r4, r0                                            |     r4 = r0;
    0x0002c116 movs r0, 0xe0                                         |     r0 = 0xe0;
    0x0002c118 blx 0x168d8                                           |     fcn_000168d8 ();
    0x0002c11c ldr r3, [pc, 0x158]                                   |     
    0x0002c11e add r7, sp, 0x28                                      |     r7 += var_28h;
    0x0002c120 strd r4, r0, [sp, 4]                                  |     __asm ("strd r4, r0, [var_4h]");
    0x0002c124 movs r2, 1                                            |     r2 = 1;
    0x0002c126 mov r0, r7                                            |     r0 = r7;
    0x0002c128 add r3, pc                                            |     r3 = 0x583a4;
    0x0002c12a str r3, [sp]                                          |     *(sp) = r3;
    0x0002c12c movs r3, 0x1c                                         |     r3 = 0x1c;
    0x0002c12e mov r1, r3                                            |     r1 = r3;
    0x0002c130 blx 0x16280                                           |     fcn_00016280 ();
    0x0002c134 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0002c138 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0002c13a bne.w 0x2bfb0                                         |         goto label_5;
                                                                     |     }
    0x0002c13e ldr r3, [pc, 0x108]                                   |     r3 = *(0x2c24a);
    0x0002c140 ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0002c144 ldr.w r8, [r3]                                        |     r8 = *(0x2c24a);
    0x0002c148 bl 0x8a498                                            |     r0 = fcn_0008a498 (r0);
    0x0002c14c mov r4, r0                                            |     r4 = r0;
    0x0002c14e ldr r0, [pc, 0xc4]                                    |     
    0x0002c150 add r0, pc                                            |     r0 = 0x5836a;
    0x0002c152 blx 0x1643c                                           |     r0 = fcn_0001643c ();
    0x0002c156 ldr r2, [r0]                                          |     r2 = *(0x5836a);
    0x0002c158 mov r3, r4                                            |     r3 = r4;
    0x0002c15a ldr r1, [pc, 0x120]                                   |     
    0x0002c15c mov r0, r8                                            |     r0 = r8;
    0x0002c15e str r6, [sp, 4]                                       |     var_4h = r6;
    0x0002c160 cmp r2, 0                                             |     
    0x0002c162 it eq                                                 |     
                                                                     |     if (r2 != 0) {
    0x0002c164 moveq r2, r7                                          |         r2 = r7;
                                                                     |     }
    0x0002c166 str r2, [sp]                                          |     *(sp) = r2;
    0x0002c168 add r1, pc                                            |     r1 = 0x583ea;
    0x0002c16a ldr r2, [pc, 0x114]                                   |     
    0x0002c16c adds r1, 0x30                                         |     r1 += 0x30;
    0x0002c16e str r1, [sp, 8]                                       |     var_8h = r1;
    0x0002c170 movs r1, 1                                            |     r1 = 1;
    0x0002c172 add r2, pc                                            |     r2 = 0x583f8;
    0x0002c174 blx 0x1649c                                           |     fcn_0001649c ();
    0x0002c178 b 0x2bfb0                                             |     goto label_5;
                                                                     | label_14:
    0x0002c17a blx 0x169e4                                           |     fcn_000169e4 ();
    0x0002c17e movs r2, 0xc8                                         |     r2 = 0xc8;
    0x0002c180 ldr r0, [r0]                                          |     r0 = *(r0);
    0x0002c182 add r1, sp, 0x44                                      |     r1 += var_44h;
    0x0002c184 ldrd r5, fp, [sp, 0x18]                               |     __asm ("ldrd r5, fp, [var_18h]");
    0x0002c188 blx 0x15c84                                           |     fcn_00015c84 ();
    0x0002c18c ldr r3, [pc, 0xb0]                                    |     r3 = *(0x2c240);
    0x0002c18e mov r6, r0                                            |     r6 = r0;
    0x0002c190 ldr.w r8, [fp, r3]                                    |     r8 = *((fp + r3));
    0x0002c194 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0002c198 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0002c19a bne.w 0x2bfb4                                         |         goto label_4;
                                                                     |     }
    0x0002c19e blx 0x1665c                                           |     r0 = fcn_0001665c ();
    0x0002c1a2 mov r4, r0                                            |     r4 = r0;
    0x0002c1a4 movs r0, 0xe0                                         |     r0 = 0xe0;
    0x0002c1a6 blx 0x168d8                                           |     fcn_000168d8 ();
    0x0002c1aa ldr r3, [pc, 0xd8]                                    |     
    0x0002c1ac add r7, sp, 0x28                                      |     r7 += var_28h;
    0x0002c1ae strd r4, r0, [sp, 4]                                  |     __asm ("strd r4, r0, [var_4h]");
    0x0002c1b0 ands r1, r0                                           |     r1 &= r0;
    0x0002c1b2 movs r2, 1                                            |     r2 = 1;
    0x0002c1b4 mov r0, r7                                            |     r0 = r7;
    0x0002c1b6 add r3, pc                                            |     r3 = 0x58440;
    0x0002c1b8 str r3, [sp]                                          |     *(sp) = r3;
    0x0002c1ba movs r3, 0x1c                                         |     r3 = 0x1c;
    0x0002c1bc mov r1, r3                                            |     r1 = r3;
    0x0002c1be blx 0x16280                                           |     fcn_00016280 ();
    0x0002c1c2 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0002c1c6 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0002c1c8 bne.w 0x2bfb0                                         |         goto label_5;
                                                                     |     }
    0x0002c1cc ldr r3, [pc, 0x78]                                    |     r3 = *(0x2c248);
    0x0002c1ce ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0002c1d2 ldr.w r8, [r3]                                        |     r8 = *(0x2c248);
    0x0002c1d6 bl 0x8a498                                            |     r0 = fcn_0008a498 (r0);
    0x0002c1da mov r4, r0                                            |     r4 = r0;
    0x0002c1dc ldr r0, [pc, 0x38]                                    |     
    0x0002c1de add r0, pc                                            |     r0 = 0x583fa;
    0x0002c1e0 blx 0x1643c                                           |     r0 = fcn_0001643c ();
    0x0002c1e4 ldr r2, [r0]                                          |     r2 = *(0x583fa);
    0x0002c1e6 mov r3, r4                                            |     r3 = r4;
    0x0002c1e8 ldr r1, [pc, 0x9c]                                    |     
    0x0002c1ea mov r0, r8                                            |     r0 = r8;
    0x0002c1ec str r6, [sp, 4]                                       |     var_4h = r6;
    0x0002c1ee cmp r2, 0                                             |     
    0x0002c1f0 it eq                                                 |     
                                                                     |     if (r2 != 0) {
    0x0002c1f2 moveq r2, r7                                          |         r2 = r7;
                                                                     |     }
    0x0002c1f4 str r2, [sp]                                          |     *(sp) = r2;
    0x0002c1f6 add r1, pc                                            |     r1 = 0x58482;
    0x0002c1f8 ldr r2, [pc, 0x90]                                    |     
    0x0002c1fa adds r1, 0x30                                         |     r1 += 0x30;
    0x0002c1fc str r1, [sp, 8]                                       |     var_8h = r1;
    0x0002c1fe movs r1, 1                                            |     r1 = 1;
    0x0002c200 add r2, pc                                            |     r2 = 0x58490;
    0x0002c202 blx 0x1649c                                           |     fcn_0001649c ();
    0x0002c206 b 0x2bfb0                                             |     goto label_5;
                                                                     | }

[*] Function strcat used 3 times lttng-sessiond