[*] 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