[*] Binary protection state of dbus-cleanup-sockets
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of dbus-cleanup-sockets
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-cleanup-sockets @ 0x10f4 */
| #include <stdint.h>
|
; (fcn) fcn.000010f4 () | void fcn_000010f4 (FILE * stream, char * s2, char * path, int16_t arg_14h, int16_t arg_18h, int16_t arg_1ch, char * s, int16_t arg_24h, int16_t arg_28h, int16_t arg_2ch, void * ptr, int16_t arg_34h, int16_t arg_3ch, void * arg_3eh, int16_t arg_ach) {
| int16_t var_0h;
| int16_t var_4h;
| label_8:
0x00000c32 movs r0, 8 | r0 = 8;
0x00000c34 blx 0xa88 | malloc (r0);
| label_10:
0x00000c38 str r0, [sp, 0x30] | *(ptr) = r0;
0x00000c3a cmp r0, 0 |
| if (r0 == 0) {
0x00000c3c beq.w 0xfe0 | goto label_11;
| }
0x00000c40 ldr r0, [sp, 0x20] | r0 = *(s);
0x00000c42 blx 0xa7c | r0 = opendir ();
0x00000c46 mov sb, r0 | sb = r0;
0x00000c48 cmp r0, 0 |
| if (r0 == 0) {
0x00000c4a beq.w 0xff4 | goto label_12;
| }
0x00000c4e ldr.w r3, [pc, 0x408] | r3 = *(0x00001058);
0x00000c52 mov.w fp, 2 |
0x00000c56 mov.w sl, 0 | sl = 0;
0x00000c5a add r3, pc | r3 += pc;
0x00000c5c str r3, [sp, 0xc] | *(s2) = r3;
| do {
0x00000c5e mov r0, sb | r0 = sb;
0x00000c60 blx 0xb0c | r0 = readdir64 ();
0x00000c64 cmp r0, 0 |
| if (r0 == 0) {
0x00000c66 beq 0xcec | goto label_13;
| }
| label_0:
0x00000c68 add.w r4, r0, 0x13 | r4 = r0 + 0x13;
0x00000c6c ldr r1, [sp, 0xc] | r1 = *(s2);
0x00000c6e movs r2, 5 | r2 = 5;
0x00000c70 mov r0, r4 | r0 = r4;
0x00000c72 blx 0xb24 | r0 = strncmp (r0, r1, r2);
0x00000c76 mov r5, r0 | r5 = r0;
0x00000c78 cmp r0, 0 |
0x00000c7a bne 0xc5e |
| } while (r0 != 0);
0x00000c7c movs r0, 0x10 | r0 = 0x10;
0x00000c7e blx 0xa88 | r0 = malloc (r0);
0x00000c82 mov r6, r0 | r6 = r0;
0x00000c84 cmp r0, 0 |
| if (r0 == 0) {
0x00000c86 beq.w 0xfea | goto label_14;
| }
0x00000c8a ldr r0, [sp, 0x20] | r0 = *(s);
0x00000c8c blx 0xab8 | r0 = strlen (r0);
0x00000c90 mov r7, r0 | r7 = r0;
0x00000c92 mov r0, r4 | r0 = r4;
0x00000c94 blx 0xab8 | r0 = strlen (r0);
0x00000c98 add.w r8, r7, r0 | r8 = r7 + r0;
0x00000c9c add.w r8, r8, 2 | r8 += 2;
0x00000ca0 mov r0, r8 | r0 = r8;
0x00000ca2 blx 0xa88 | r0 = malloc (r0);
0x00000ca6 cmp r0, 0 |
| if (r0 == 0) {
0x00000ca8 beq.w 0x1038 | goto label_15;
| }
0x00000cac ldr r1, [sp, 0x20] | r1 = *(s);
0x00000cae mov r2, r7 | r2 = r7;
0x00000cb0 str r0, [r6] | *(r6) = r0;
0x00000cb2 str r0, [sp, 0x10] | *(path) = r0;
0x00000cb4 blx 0xa28 | memcpy (r0, r1, r2);
0x00000cb8 ldr r3, [sp, 0x10] | r3 = *(path);
0x00000cba movs r2, 0x2f | r2 = 0x2f;
0x00000cbc adds r0, r7, 1 | r0 = r7 + 1;
0x00000cbe mov r1, r4 | r1 = r4;
0x00000cc0 add r0, r3 | r0 += r3;
0x00000cc2 strb r2, [r3, r7] | *((r3 + r7)) = r2;
0x00000cc4 blx 0xa70 | strcpy (r0, r1);
0x00000cc8 cmp fp, sl |
0x00000cca mov.w r3, -1 | r3 = -1;
0x00000cce strd r3, r5, [r6, 4] | __asm ("strd r3, r5, [r6, 4]");
0x00000cd2 str r5, [r6, 0xc] | *((r6 + 0xc)) = r5;
| if (fp == sl) {
0x00000cd4 beq.w 0xed4 | goto label_16;
| }
| label_6:
0x00000cd8 ldr r3, [sp, 0x30] | r3 = *(ptr);
0x00000cda mov r0, sb | r0 = sb;
0x00000cdc str.w r6, [r3, sl, lsl 2] | __asm ("str.w r6, [r3, sl, lsl 2]");
0x00000ce0 add.w sl, sl, 1 | sl++;
0x00000ce4 blx 0xb0c | r0 = readdir64 ();
0x00000ce8 cmp r0, 0 |
| if (r0 != 0) {
0x00000cea bne 0xc68 | goto label_0;
| }
| label_13:
0x00000cec mov r0, sb | r0 = sb;
0x00000cee blx 0xb54 | closedir ();
0x00000cf2 cmp.w sl, 0 |
| if (sl == 0) {
0x00000cf6 beq.w 0xf7c | goto label_17;
| }
0x00000cfa ldr r3, [sp, 0x30] | r3 = *(ptr);
0x00000cfc ldr.w fp, [sp, 0x34] | fp = *(arg_34h);
0x00000d00 sub.w sb, r3, 4 | sb = r3 - 4;
0x00000d04 ldr r3, [pc, 0x354] |
0x00000d06 str.w sb, [sp, 0x2c] | __asm ("str.w sb, [arg_2ch]");
0x00000d0a add r3, pc | r3 = 0x1d6a;
0x00000d0c str r3, [sp, 0x18] | *(arg_18h) = r3;
0x00000d0e ldr r3, [pc, 0x350] |
0x00000d10 add r3, pc | r3 = 0x1d76;
0x00000d12 str r3, [sp, 0x1c] | *(arg_1ch) = r3;
0x00000d14 ldr r3, [pc, 0x34c] |
0x00000d16 add r3, pc | r3 = 0x1d7e;
0x00000d18 str r3, [sp, 0x24] | *(arg_24h) = r3;
0x00000d1a ldr r3, [pc, 0x34c] |
0x00000d1c add r3, pc | r3 = 0x1d8a;
0x00000d1e str r3, [sp, 0x28] | *(arg_28h) = r3;
| label_2:
0x00000d20 ldr.w r8, [sp, 0x2c] | r8 = *(arg_2ch);
0x00000d24 movs r2, 0 | r2 = 0;
0x00000d26 mov r7, r2 | r7 = r2;
0x00000d28 str r2, [sp, 0xc] | *(s2) = r2;
| label_1:
0x00000d2a ldr r4, [r8, 4]! | r4 = *((r8 += 4));
0x00000d2e adds r7, 1 | r7++;
0x00000d30 ldrd r3, r6, [r4, 4] | __asm ("ldrd r3, r6, [r4, 4]");
0x00000d34 cmp r3, 0 |
| if (r3 >= 0) {
0x00000d36 bge.w 0xf9e | goto label_18;
| }
0x00000d3a cmp r6, 0 |
| if (r6 != 0) {
0x00000d3c bne 0xdcc | goto label_3;
| }
0x00000d3e ldr r3, [r4, 0xc] | r3 = *((r4 + 0xc));
0x00000d40 cmp r3, 5 |
| if (r3 > 5) {
0x00000d42 bgt 0xe02 | goto label_19;
| }
0x00000d44 adds r3, 1 | r3++;
0x00000d46 movs r1, 1 | r1 = 1;
0x00000d48 mov r2, r6 | r2 = r6;
0x00000d4a mov r0, r1 | r0 = r1;
0x00000d4c str r3, [r4, 0xc] | *((r4 + 0xc)) = r3;
0x00000d4e blx 0xb18 | r0 = socket (r0, r1, r2);
0x00000d52 cmp r0, 0 |
0x00000d54 mov r5, r0 | r5 = r0;
0x00000d56 str r0, [r4, 4] | *((r4 + 4)) = r0;
| if (r0 < 0) {
0x00000d58 blt.w 0xe86 | goto label_20;
| }
0x00000d5c mov.w r2, 0x800 | r2 = 0x800;
0x00000d60 movs r1, 4 | r1 = 4;
0x00000d62 blx 0xb00 | r0 = fcntl64 ();
0x00000d66 cmp r0, 0 |
| if (r0 < 0) {
0x00000d68 blt.w 0xeaa | goto label_21;
| }
0x00000d6c add.w r3, sp, 0x3e | r3 += arg_3eh;
0x00000d70 mov r1, r6 | r1 = r6;
0x00000d72 movs r2, 0x6c | r2 = 0x6c;
0x00000d74 mov r0, r3 | r0 = r3;
0x00000d76 blx 0xad0 | memset (r0, r1, r2);
0x00000d7a ldr r3, [r4] | r3 = *(r4);
0x00000d7c movs r2, 0x6b | r2 = 0x6b;
0x00000d7e add.w sb, sp, 0x3c | sb += arg_3ch;
0x00000d82 mov r1, r3 | r1 = r3;
0x00000d84 str r3, [sp, 0x10] | *(path) = r3;
0x00000d86 movs r3, 1 | r3 = 1;
0x00000d88 strh.w r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x00000d8c blx 0xadc | strncpy (r0, r1, r2);
0x00000d90 b 0xd9c |
| while (r0 < 0) {
0x00000d92 blx 0xac4 | r0 = errno_location ();
0x00000d96 ldr r3, [r0] | r3 = *(r0);
0x00000d98 cmp r3, 4 |
| if (r3 != 4) {
0x00000d9a bne 0xe1c | goto label_22;
| }
0x00000d9c movs r2, 0x6e | r2 = 0x6e;
0x00000d9e mov r1, sb | r1 = sb;
0x00000da0 mov r0, r5 | r0 = r5;
0x00000da2 blx 0xb48 | r0 = connect (r0, r1, r2);
0x00000da6 cmp r0, 0 |
0x00000da8 blt 0xd92 |
| }
0x00000daa ldr r2, [sp, 0x18] | r2 = *(arg_18h);
0x00000dac movs r6, 3 | r6 = 3;
0x00000dae ldr r3, [r2, 4] | r3 = *((r2 + 4));
0x00000db0 adds r3, 1 | r3++;
0x00000db2 str r3, [r2, 4] | *((r2 + 4)) = r3;
| label_4:
0x00000db4 mov r0, r5 | r0 = r5;
0x00000db6 str r6, [r4, 8] | *((r4 + 8)) = r6;
0x00000db8 blx 0xb3c | close (r0);
0x00000dbc ldr r3, [r4, 8] | r3 = *((r4 + 8));
0x00000dbe mov.w r2, -1 | r2 = -1;
0x00000dc2 str r2, [r4, 4] | *((r4 + 4)) = r2;
| if (r3 == 0) {
0x00000dc4 cbnz r3, 0xdcc |
| label_5:
0x00000dc6 ldr r3, [sp, 0xc] | r3 = *(s2);
0x00000dc8 adds r3, 1 | r3++;
0x00000dca str r3, [sp, 0xc] | *(s2) = r3;
| }
| label_3:
0x00000dcc cmp sl, r7 |
| if (sl != r7) {
0x00000dce bne 0xd2a | goto label_1;
| }
0x00000dd0 ldr r2, [sp, 0xc] | r2 = *(s2);
0x00000dd2 cmp r2, 0 |
| if (r2 == 0) {
0x00000dd4 beq.w 0xef8 | goto label_23;
| }
0x00000dd8 ldr r3, [pc, 0x290] |
0x00000dda movs r2, 0x41 | r2 = 0x41;
0x00000ddc ldr r0, [pc, 0x290] |
0x00000dde movs r1, 1 | r1 = 1;
0x00000de0 ldr.w r3, [fp, r3] | r3 = *((fp + r3));
0x00000de4 add r0, pc | r0 = 0x1e58;
0x00000de6 ldr r3, [r3] | r3 = *(0x106c);
0x00000de8 blx 0xa64 | fwrite (r0, r1, r2, r3);
0x00000dec movs r0, 2 | r0 = 2;
0x00000dee blx 0xa34 | sleep (r0);
0x00000df2 b 0xd20 | goto label_2;
| label_19:
0x00000e02 ldr r3, [pc, 0x268] | r3 = *(0x106e);
0x00000e04 movs r1, 1 | r1 = 1;
0x00000e06 ldr r2, [pc, 0x26c] |
0x00000e08 ldr.w r3, [fp, r3] | r3 = *((fp + r3));
0x00000e0c add r2, pc | r2 = 0x1e86;
0x00000e0e ldr r0, [r3] | r0 = *(0x106e);
0x00000e10 ldr r3, [r4] | r3 = *(r4);
0x00000e12 blx 0xaf4 | fprintf_chk ()
0x00000e16 movs r3, 1 | r3 = 1;
0x00000e18 str r3, [r4, 8] | *((r4 + 8)) = r3;
0x00000e1a b 0xdcc | goto label_3;
| label_22:
0x00000e1c mov r2, r3 | r2 = r3;
0x00000e1e mov r3, r0 | r3 = r0;
0x00000e20 cmp r2, 0x6f |
0x00000e22 mov r0, r2 | r0 = r2;
| if (r2 == 0x6f) {
0x00000e24 beq 0xe4c | goto label_24;
| }
0x00000e26 cmp r2, 0x73 |
| if (r2 == 0x73) {
0x00000e28 beq 0xdb4 | goto label_4;
| }
0x00000e2a cmp r2, 0xb |
| if (r2 == 0xb) {
0x00000e2c beq 0xdb4 | goto label_4;
| }
0x00000e2e ldr r3, [pc, 0x23c] | r3 = *(0x106e);
0x00000e30 ldr.w r3, [fp, r3] | r3 = *((fp + r3));
0x00000e34 ldr r6, [r3] | r6 = *(0x106e);
0x00000e36 blx 0xa94 | strerror (r0);
0x00000e3a ldr r3, [sp, 0x10] | r3 = *(path);
0x00000e3c movs r1, 1 | r1 = 1;
0x00000e3e str r0, [sp] | *(sp) = r0;
0x00000e40 mov r0, r6 | r0 = r6;
0x00000e42 ldr r2, [sp, 0x28] | r2 = *(arg_28h);
0x00000e44 movs r6, 1 | r6 = 1;
0x00000e46 blx 0xaf4 | fprintf_chk ()
0x00000e4a b 0xdb4 | goto label_4;
| label_24:
0x00000e4c str r3, [sp, 0x14] | *(arg_14h) = r3;
0x00000e4e ldr r3, [sp, 0x1c] | r3 = *(arg_1ch);
0x00000e50 ldr r0, [sp, 0x10] | r0 = *(path);
0x00000e52 ldr r2, [r3] | r2 = *(r3);
0x00000e54 adds r2, 1 | r2++;
0x00000e56 str r2, [r3] | *(r3) = r2;
0x00000e58 blx 0xa4c | r0 = unlink (r0);
0x00000e5c cmp r0, 0 |
0x00000e5e ldr r3, [sp, 0x14] | r3 = *(arg_14h);
0x00000e60 it ge |
| if (r0 >= 0) {
0x00000e62 movge r6, 4 | r6 = 4;
| goto label_25;
| }
| if (r0 >= 0) {
| label_25:
0x00000e64 bge 0xdb4 | goto label_4;
| }
0x00000e66 ldr r0, [r3] | r0 = *(r3);
0x00000e68 ldr r3, [pc, 0x200] | r3 = *(0x106c);
0x00000e6a ldr.w r3, [fp, r3] | r3 = *((fp + r3));
0x00000e6e ldr r6, [r3] | r6 = *(0x106c);
0x00000e70 blx 0xa94 | strerror (r0);
0x00000e74 str r0, [sp] | *(sp) = r0;
0x00000e76 mov r0, r6 | r0 = r6;
0x00000e78 movs r6, 1 | r6 = 1;
0x00000e7a ldr r3, [sp, 0x10] | r3 = *(path);
0x00000e7c mov r1, r6 | r1 = r6;
0x00000e7e ldr r2, [sp, 0x24] | r2 = *(arg_24h);
0x00000e80 blx 0xaf4 | fprintf_chk ()
0x00000e84 b 0xdb4 | goto label_4;
| label_20:
0x00000e86 ldr r3, [pc, 0x1e4] | r3 = *(0x106e);
0x00000e88 ldr.w r3, [fp, r3] | r3 = *((fp + r3));
0x00000e8c ldr r5, [r3] | r5 = *(0x106e);
0x00000e8e blx 0xac4 | r0 = errno_location ();
0x00000e92 ldr r0, [r0] | r0 = *(r0);
0x00000e94 blx 0xa94 | strerror (r0);
0x00000e98 ldr r2, [pc, 0x1dc] |
0x00000e9a mov r3, r0 | r3 = r0;
0x00000e9c movs r1, 1 | r1 = 1;
0x00000e9e mov r0, r5 | r0 = r5;
0x00000ea0 add r2, pc | r2 = 0x1f1c;
0x00000ea2 blx 0xaf4 | fprintf_chk ()
0x00000ea6 str r6, [r4, 8] | *((r4 + 8)) = r6;
0x00000ea8 b 0xdc6 | goto label_5;
| label_21:
0x00000eaa ldr r3, [pc, 0x1c0] | r3 = *(0x106e);
0x00000eac ldr.w r3, [fp, r3] | r3 = *((fp + r3));
0x00000eb0 ldr.w sb, [r3] | sb = *(0x106e);
0x00000eb4 ldr r3, [r4] | r3 = *(r4);
0x00000eb6 str r3, [sp, 0x10] | *(path) = r3;
0x00000eb8 blx 0xac4 | r0 = errno_location ();
0x00000ebc ldr r0, [r0] | r0 = *(r0);
0x00000ebe blx 0xa94 | strerror (r0);
0x00000ec2 ldr r2, [pc, 0x1b8] |
0x00000ec4 movs r1, 1 | r1 = 1;
0x00000ec6 str r0, [sp] | *(sp) = r0;
0x00000ec8 mov r0, sb | r0 = sb;
0x00000eca ldr r3, [sp, 0x10] | r3 = *(path);
0x00000ecc add r2, pc | r2 = 0x1f4e;
0x00000ece blx 0xaf4 | fprintf_chk ()
0x00000ed2 b 0xdb4 | goto label_4;
| label_16:
0x00000ed4 lsl.w fp, fp, 1 |
0x00000ed8 ldr r0, [sp, 0x30] | r0 = *(ptr);
0x00000eda lsls.w r4, fp, 2 | r4 = fp << 2;
| if (r4 == fp) {
0x00000ede beq 0xf96 | goto label_26;
| }
0x00000ee0 mov r1, r4 | r1 = r4;
0x00000ee2 blx 0xa58 | realloc (r0, r1);
0x00000ee6 str r0, [sp, 0x30] | *(ptr) = r0;
0x00000ee8 cmp r0, 0 |
| if (r0 != 0) {
0x00000eea bne.w 0xcd8 | goto label_6;
| }
0x00000eee ldr r2, [pc, 0x190] |
0x00000ef0 mov r3, r4 | r3 = r4;
0x00000ef2 ldr r0, [pc, 0x178] | r0 = *(0x106e);
0x00000ef4 add r2, pc | r2 = 0x1f7a;
0x00000ef6 b 0xfa6 | goto label_9;
| label_23:
0x00000ef8 ldr r1, [pc, 0x188] |
0x00000efa mov r5, r2 | r5 = r2;
0x00000efc ldr.w sb, [sp, 0x2c] | sb = *(arg_2ch);
0x00000f00 add r1, pc | r1 = 0x1f88;
0x00000f02 ldr r3, [r1, 4] | r3 = *(0x1f8c);
0x00000f04 ldr r0, [r1] | r0 = *(0x1f88);
0x00000f06 sub.w r3, sl, r3 | r3 = sl - r3;
0x00000f0a subs r3, r3, r0 | r3 -= r0;
0x00000f0c ldr r0, [r1, 8] | r0 = *(0x1f90);
0x00000f0e add r3, r0 | r3 += r0;
0x00000f10 str r3, [r1, 8] | *((r1 + 8)) = r3;
0x00000f12 ldr r3, [sp, 0x30] | r3 = *(ptr);
| if (r3 == 0) {
0x00000f14 cbz r3, 0xf3e | goto label_27;
| }
| do {
0x00000f16 ldr r4, [sb, 4]! | r4 = *((sb += 4));
| if (r4 != 0) {
0x00000f1a cbz r4, 0xf32 |
0x00000f1c ldr r0, [r4] | r0 = *(r4);
0x00000f1e blx 0xa1c | free (r0);
0x00000f22 ldr r0, [r4, 4] | r0 = *((r4 + 4));
0x00000f24 cmp r0, 0 |
| if (r0 >= 0) {
0x00000f26 blt 0xf2c |
0x00000f28 blx 0xb3c | close (r0);
| }
0x00000f2c mov r0, r4 | r0 = r4;
0x00000f2e blx 0xa1c | free (r0);
| }
0x00000f32 adds r5, 1 | r5++;
0x00000f34 cmp sl, r5 |
0x00000f36 bne 0xf16 |
| } while (sl != r5);
| label_7:
0x00000f38 ldr r0, [sp, 0x30] | r0 = *(ptr);
0x00000f3a blx 0xa1c | free (r0);
| do {
| label_27:
0x00000f3e ldr r4, [pc, 0x148] |
0x00000f40 movs r0, 1 | r0 = 1;
0x00000f42 ldr r1, [pc, 0x148] |
0x00000f44 ldr r3, [sp, 0x20] | r3 = *(s);
0x00000f46 add r4, pc |
0x00000f48 ldr r5, [r4, 8] | r5 = *(0x1fdc);
0x00000f4a add r1, pc | r1 = 0x1fdc;
0x00000f4c ldr r2, [r4] | r2 = *(0x1fd4);
0x00000f4e str r5, [sp, 4] | var_4h = r5;
0x00000f50 ldr r4, [r4, 4] | r4 = *(0x1fd8);
0x00000f52 str r4, [sp] | *(sp) = r4;
0x00000f54 blx 0xae8 | printf_chk ();
0x00000f58 ldr r2, [pc, 0x134] |
0x00000f5a ldr r3, [pc, 0xf0] | r3 = *(0x104e);
0x00000f5c add r2, pc | r2 = 0x1ff0;
0x00000f5e ldr r3, [r2, r3] | r3 = *(0x1ff0);
0x00000f60 ldr r2, [r3] | r2 = *(0x1ff0);
0x00000f62 ldr r3, [sp, 0xac] | r3 = *(arg_ach);
0x00000f64 eors r2, r3 | r2 ^= r3;
0x00000f66 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00000f6a bne 0xfdc | goto label_28;
| }
0x00000f6c movs r0, 0 | r0 = 0;
0x00000f6e add sp, 0xb4 |
0x00000f70 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_17:
0x00000f7c ldr r2, [pc, 0x118] |
0x00000f7e add r2, pc | r2 = 0x201a;
0x00000f80 ldrd r1, r3, [r2] | __asm ("ldrd r1, r3, [r2]");
0x00000f84 rsbs r3, r3, 0 | r3 -= ;
0x00000f86 subs r3, r3, r1 | r3 -= r1;
0x00000f88 ldr r1, [r2, 8] | r1 = *(0x2022);
0x00000f8a add r3, r1 | r3 += r1;
0x00000f8c str r3, [r2, 8] | *((r2 + 8)) = r3;
0x00000f8e ldr r3, [sp, 0x30] | r3 = *(ptr);
0x00000f90 cmp r3, 0 |
0x00000f92 beq 0xf3e |
| } while (r3 == 0);
0x00000f94 b 0xf38 | goto label_7;
| label_26:
0x00000f96 blx 0xa1c | free (r0);
0x00000f9a str r4, [sp, 0x30] | *(ptr) = r4;
0x00000f9c b 0xcd8 | goto label_6;
| label_18:
0x00000f9e ldr r2, [pc, 0xfc] |
0x00000fa0 mov r3, r6 | r3 = r6;
0x00000fa2 ldr r0, [pc, 0xc8] | r0 = *(0x106e);
0x00000fa4 add r2, pc | r2 = 0x2046;
| do {
| label_9:
0x00000fa6 ldr r4, [sp, 0x34] | r4 = *(arg_34h);
0x00000fa8 movs r1, 1 | r1 = 1;
0x00000faa ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x00000fac ldr r0, [r0] | r0 = *(r0);
0x00000fae blx 0xaf4 | fprintf_chk ()
0x00000fb2 movs r0, 1 | r0 = 1;
0x00000fb4 blx 0xaac | exit (r0);
0x00000fb8 movs r0, 0 | r0 = 0;
0x00000fba bl 0x11bc | fcn_000011bc (r0);
0x00000fbe ldr r2, [pc, 0xe0] |
0x00000fc0 mov sl, r0 | sl = r0;
0x00000fc2 ldr r1, [pc, 0xe0] |
0x00000fc4 movs r0, 1 | r0 = 1;
0x00000fc6 add r2, pc | r2 = 0x206c;
0x00000fc8 add r1, pc | r1 = 0x2072;
0x00000fca blx 0xae8 | printf_chk ();
0x00000fce mov r0, sl | r0 = sl;
0x00000fd0 blx 0xaac | exit (r0);
0x00000fd4 ldr r3, [pc, 0xd0] |
0x00000fd6 add r3, pc | r3 = 0x2082;
0x00000fd8 str r3, [sp, 0x20] | *(s) = r3;
0x00000fda b 0xc32 | goto label_8;
| label_28:
0x00000fdc blx 0xa40 | stack_chk_fail ();
| label_11:
0x00000fe0 ldr r2, [pc, 0xc8] |
0x00000fe2 movs r3, 8 | r3 = 8;
0x00000fe4 ldr r0, [pc, 0x84] | r0 = *(0x106c);
0x00000fe6 add r2, pc | r2 = 0x2096;
0x00000fe8 b 0xfa6 |
| } while (1);
| label_14:
0x00000fea ldr r2, [pc, 0xc4] |
0x00000fec movs r3, 0x10 | r3 = 0x10;
0x00000fee ldr r0, [pc, 0x7c] | r0 = *(0x106e);
0x00000ff0 add r2, pc | r2 = 0x20a6;
0x00000ff2 b 0xfa6 | goto label_9;
| label_12:
0x00000ff4 ldr r2, [sp, 0x34] | r2 = *(arg_34h);
0x00000ff6 ldr r3, [pc, 0x74] | r3 = *(0x106e);
0x00000ff8 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00000ffa ldr r5, [r3] | r5 = *(0x106e);
0x00000ffc blx 0xac4 | r0 = errno_location ();
0x00001000 ldr r0, [r0] | r0 = *(r0);
0x00001002 blx 0xa94 | strerror (r0);
0x00001006 ldr r2, [pc, 0xac] |
0x00001008 mov r4, r0 | r4 = r0;
0x0000100a ldr r3, [sp, 0x20] | r3 = *(s);
0x0000100c movs r1, 1 | r1 = 1;
0x0000100e mov r0, r5 | r0 = r5;
0x00001010 str r4, [sp] | *(sp) = r4;
0x00001012 add r2, pc | r2 = 0x20cc;
0x00001014 blx 0xaf4 | fprintf_chk ()
0x00001018 movs r0, 1 | r0 = 1;
0x0000101a blx 0xaac | exit (r0);
0x0000101e ldr r4, [sp, 0x34] | r4 = *(arg_34h);
0x00001020 movs r2, 0x3b | r2 = 0x3b;
0x00001022 ldr r3, [pc, 0x48] |
0x00001024 movs r1, 1 | r1 = 1;
0x00001026 ldr r0, [pc, 0x90] |
0x00001028 ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000102a add r0, pc | r0 = 0x20e8;
0x0000102c ldr r3, [r3] | r3 = *(0x106e);
0x0000102e blx 0xa64 | fwrite (r0, r1, r2, r3);
0x00001032 movs r0, 1 | r0 = 1;
0x00001034 blx 0xaac | exit (r0);
| label_15:
0x00001038 ldr r2, [pc, 0x80] |
0x0000103a mov r3, r8 | r3 = r8;
0x0000103c ldr r0, [pc, 0x2c] | r0 = *(0x106c);
0x0000103e add r2, pc | r2 = 0x20fe;
0x00001040 b 0xfa6 | goto label_9;
0x000010f4 adds r0, 0x14 | r0 += 0x14;
0x000010f6 b 0xc38 | goto label_10;
| }
[*] Function fprintf used 8 times dbus-cleanup-sockets