[*] Binary protection state of ntpconfd

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


[*] Function system tear down of ntpconfd

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/ntpconfd @ 0x6988 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00006988 ()                  | void fcn_00006988 () {
                                             |     int16_t var_0h;
                                             |     int16_t var_8h;
                                             |     int16_t var_ch;
    0x00006988 ldr r2, [pc, 0x140]           |     
    0x0000698a movs r0, 0                    |     r0 = 0;
    0x0000698c ldr r3, [pc, 0x140]           |     r3 = *(0x6ad0);
    0x0000698e push {r4, r5, lr}             |     
    0x00006990 sub sp, 0x14                  |     
    0x00006992 add r2, pc                    |     r2 = 0xd462;
    0x00006994 ldr r5, [pc, 0x13c]           |     
    0x00006996 ldr r3, [r2, r3]              |     
    0x00006998 add r5, pc                    |     r5 = 0xd470;
    0x0000699a ldr r3, [r3]                  |     r3 = *(0xd462);
    0x0000699c str r3, [sp, 0xc]             |     var_ch = r3;
    0x0000699e mov.w r3, 0                   |     r3 = 0;
    0x000069a2 str r0, [sp, 8]               |     var_8h = r0;
    0x000069a4 str r0, [r5, 0x30]            |     *((r5 + 0x30)) = r0;
    0x000069a6 bl 0x63e0                     |     r0 = fcn_000063e0 (r0);
                                             |     if (r0 != 0) {
    0x000069aa cbnz r0, 0x6a00               |         goto label_2;
                                             |     }
    0x000069ac ldr r3, [r5, 0x28]            |     r3 = *((r5 + 0x28));
    0x000069ae cbnz r3, 0x69d0               |     
                                             |     while (1) {
                                             | label_0:
    0x000069b0 ldr r0, [sp, 8]               |         r0 = var_8h;
                                             |         if (r0 != 0) {
    0x000069b2 cbz r0, 0x69b8                |             
    0x000069b4 blx 0x1a60                    |             g_error_free ();
                                             |         }
    0x000069b8 ldr r2, [pc, 0x11c]           |         
    0x000069ba ldr r3, [pc, 0x114]           |         r3 = *(0x6ad2);
    0x000069bc add r2, pc                    |         r2 = 0xd498;
    0x000069be ldr r3, [r2, r3]              |         r3 = *(0xd498);
    0x000069c0 ldr r2, [r3]                  |         r2 = *(0xd498);
    0x000069c2 ldr r3, [sp, 0xc]             |         r3 = var_ch;
    0x000069c4 eors r2, r3                   |         r2 ^= r3;
    0x000069c6 mov.w r3, 0                   |         r3 = 0;
                                             |         if (r2 != r3) {
    0x000069ca bne 0x6ac6                    |             goto label_3;
                                             |         }
    0x000069cc add sp, 0x14                  |         
    0x000069ce pop {r4, r5, pc}              |         
    0x000069d0 mov r4, r0                    |         r4 = r0;
    0x000069d2 ldr r0, [r5, 0x24]            |         r0 = *((r5 + 0x24));
    0x000069d4 cmp r0, 0                     |         
                                             |         if (r0 != 0) {
    0x000069d6 bne 0x6a82                    |             goto label_4;
                                             |         }
                                             | label_1:
    0x000069d8 ldr r0, [pc, 0x100]           |         
    0x000069da add r1, sp, 8                 |         r1 += var_8h;
    0x000069dc add r0, pc                    |         r0 = 0xd4bc;
    0x000069de blx 0x1b24                    |         r0 = fcn_00001b24 ();
    0x000069e2 cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x000069e4 beq 0x6a6a                    |             goto label_5;
                                             |         }
    0x000069e6 ldr r4, [pc, 0xf8]            |         
    0x000069e8 add r4, pc                    |         r4 = 0xd4ce;
    0x000069ea ldr r0, [r4, 0x2c]            |         r0 = *(0xd4fa);
                                             |         if (r0 != 0) {
    0x000069ec cbz r0, 0x69f6                |             
    0x000069ee blx 0x1f44                    |             fcn_00001f44 ();
    0x000069f2 movs r3, 0                    |             r3 = 0;
    0x000069f4 str r3, [r4, 0x2c]            |             *((r4 + 0x2c)) = r3;
                                             |         }
    0x000069f6 ldr r3, [pc, 0xec]            |         
    0x000069f8 movs r2, 0                    |         r2 = 0;
    0x000069fa add r3, pc                    |         r3 = 0xd4e4;
    0x000069fc str r2, [r3, 0x28]            |         *((r3 + 0x28)) = r2;
    0x000069fe b 0x69b0                      |         
                                             |     }
                                             | label_2:
    0x00006a00 bl 0x670c                     |     fcn_0000670c ();
    0x00006a04 ldr r3, [r5, 0x28]            |     r3 = *((r5 + 0x28));
                                             |     if (r3 == 0) {
    0x00006a06 cbz r3, 0x6a38                |         goto label_6;
                                             |     }
    0x00006a08 ldr r0, [pc, 0xdc]            |     
    0x00006a0a add r1, sp, 8                 |     r1 += var_8h;
    0x00006a0c add r0, pc                    |     r0 = "%sFailed to stop NTP service: %s";
    0x00006a0e blx 0x1a18                    |     r0 = policykit_system_reload_or_try_restart_service ()
    0x00006a12 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00006a14 beq 0x6a9c                    |         goto label_7;
                                             |     }
    0x00006a16 ldr r4, [pc, 0xd4]            |     
    0x00006a18 add r4, pc                    |     r4 = 0xd50a;
    0x00006a1a ldr r3, [r4, 0x1c]            |     r3 = *(0xd526);
    0x00006a1c cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x00006a1e beq 0x69b0                    |         goto label_0;
                                             |     }
    0x00006a20 ldr r5, [r4, 0x2c]            |     r5 = *((r4 + 0x2c));
    0x00006a22 cmp r5, 0                     |     
                                             |     if (r5 != 0) {
    0x00006a24 bne 0x69b0                    |         goto label_0;
                                             |     }
    0x00006a26 ldr r1, [pc, 0xc8]            |     
    0x00006a28 mov r2, r5                    |     r2 = r5;
    0x00006a2a movs r0, 0xf                  |     r0 = 0xf;
    0x00006a2c add r1, pc                    |     r1 = 0xd522;
    0x00006a2e blx 0x1d78                    |     g_dbus_connection_new_for_address_finish ();
    0x00006a32 strd r0, r5, [r4, 0x2c]       |     __asm ("strd r0, r5, [r4, 0x2c]");
    0x00006a36 b 0x69b0                      |     goto label_0;
                                             | label_6:
    0x00006a38 ldr r0, [pc, 0xb8]            |     
    0x00006a3a add r1, sp, 8                 |     r1 += var_8h;
    0x00006a3c add r0, pc                    |     r0 = 0xd534;
    0x00006a3e blx 0x1e48                    |     r0 = fcn_00001e48 ();
    0x00006a42 mov r4, r0                    |     r4 = r0;
                                             |     if (r0 != 0) {
    0x00006a44 cbnz r0, 0x6a8a               |         goto label_8;
                                             |     }
    0x00006a46 ldr r2, [sp, 8]               |     r2 = var_8h;
    0x00006a48 mov.w r1, 0x100               |     r1 = 0x100;
    0x00006a4c ldr r3, [pc, 0xa8]            |     
    0x00006a4e ldr r2, [r2, 8]               |     r2 = *((r2 + 8));
    0x00006a50 add r3, pc                    |     r3 = 0xd54c;
    0x00006a52 str r2, [sp]                  |     *(sp) = r2;
    0x00006a54 ldr r2, [pc, 0xa4]            |     
    0x00006a56 add r2, pc                    |     r2 = 0xd556;
    0x00006a58 blx 0x1b00                    |     fcn_00001b00 ();
    0x00006a5c ldr r0, [r5, 0x2c]            |     r0 = *((r5 + 0x2c));
    0x00006a5e cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00006a60 beq 0x69b0                    |         goto label_0;
                                             |     }
    0x00006a62 blx 0x1f44                    |     fcn_00001f44 ();
    0x00006a66 str r4, [r5, 0x2c]            |     *((r5 + 0x2c)) = r4;
    0x00006a68 b 0x69b0                      |     goto label_0;
                                             | label_5:
    0x00006a6a ldr r4, [sp, 8]               |     r4 = var_8h;
    0x00006a6c mov.w r1, 0x100               |     r1 = 0x100;
    0x00006a70 ldr r3, [pc, 0x8c]            |     
    0x00006a72 ldr r2, [pc, 0x90]            |     
    0x00006a74 ldr r4, [r4, 8]               |     r4 = *((r4 + 8));
    0x00006a76 add r3, pc                    |     r3 = 0xd57a;
    0x00006a78 add r2, pc                    |     r2 = 0xd582;
    0x00006a7a str r4, [sp]                  |     *(sp) = r4;
    0x00006a7c blx 0x1b00                    |     fcn_00001b00 ();
    0x00006a80 b 0x69b0                      |     goto label_0;
                                             | label_4:
    0x00006a82 blx 0x1f44                    |     fcn_00001f44 ();
    0x00006a86 str r4, [r5, 0x24]            |     *((r5 + 0x24)) = r4;
    0x00006a88 b 0x69d8                      |     goto label_1;
                                             | label_8:
    0x00006a8a ldr r3, [r5, 0x1c]            |     r3 = *((r5 + 0x1c));
                                             |     if (r3 == 0) {
    0x00006a8c cbz r3, 0x6a92                |         goto label_9;
                                             |     }
    0x00006a8e ldr r4, [r5, 0x2c]            |     r4 = *((r5 + 0x2c));
    0x00006a90 cbz r4, 0x6ab4                |     
                                             |     while (1) {
                                             | label_9:
    0x00006a92 ldr r3, [pc, 0x74]            |         
    0x00006a94 movs r2, 1                    |         r2 = 1;
    0x00006a96 add r3, pc                    |         r3 = 0xd5a4;
    0x00006a98 str r2, [r3, 0x28]            |         *((r3 + 0x28)) = r2;
    0x00006a9a b 0x69b0                      |         goto label_0;
                                             | label_7:
    0x00006a9c ldr r4, [sp, 8]               |         r4 = var_8h;
    0x00006a9e mov.w r1, 0x100               |         r1 = 0x100;
    0x00006aa2 ldr r3, [pc, 0x68]            |         
    0x00006aa4 ldr r2, [pc, 0x68]            |         
    0x00006aa6 ldr r4, [r4, 8]               |         r4 = *((r4 + 8));
    0x00006aa8 add r3, pc                    |         r3 = 0xd5ba;
    0x00006aaa add r2, pc                    |         r2 = 0xd5be;
    0x00006aac str r4, [sp]                  |         *(sp) = r4;
    0x00006aae blx 0x1b00                    |         fcn_00001b00 ();
    0x00006ab0 invalid                       |         
    0x00006ab4 ldr r1, [pc, 0x5c]            |         
    0x00006ab6 mov r2, r4                    |         r2 = r4;
    0x00006ab8 movs r0, 0xf                  |         r0 = 0xf;
    0x00006aba add r1, pc                    |         r1 = 0xd5d2;
    0x00006abc blx 0x1d78                    |         g_dbus_connection_new_for_address_finish ();
    0x00006ac0 strd r0, r4, [r5, 0x2c]       |         __asm ("strd r0, r4, [r5, 0x2c]");
    0x00006ac4 b 0x6a92                      |         
                                             |     }
                                             | label_3:
    0x00006ac6 blx 0x1d1c                    |     fcn_00001d1c ();
    0x00006aca nop                           |     
    0x00006acc strh r2, [r5, 0x22]           |     *((r5 + 0x22)) = r2;
    0x00006ace movs r0, r0                   |     
    0x00006ad0 lsls r4, r3, 7                |     r4 = r3 << 7;
    0x00006ad2 movs r0, r0                   |     
    0x00006ad4 strh r4, [r3, 0x38]           |     *((r3 + 0x38)) = r4;
    0x00006ad6 movs r0, r0                   |     
    0x00006ad8 strh r0, [r0, 0x22]           |     *((r0 + 0x22)) = r0;
    0x00006ada movs r0, r0                   |     
    0x00006adc ldr r0, [r2, 0x30]            |     r0 = *((r2 + 0x30));
    0x00006ade movs r0, r0                   |     
    0x00006ae0 strh r4, [r1, 0x36]           |     *((r1 + 0x36)) = r4;
    0x00006ae2 movs r0, r0                   |     
    0x00006ae4 strh r2, [r7, 0x34]           |     *((r7 + 0x34)) = r2;
    0x00006ae6 movs r0, r0                   |     
    0x00006ae8 ldr r0, [r4, 0x2c]            |     r0 = *((r4 + 0x2c));
    0x00006aea movs r0, r0                   |     
    0x00006aec strh r4, [r3, 0x34]           |     *((r3 + 0x34)) = r4;
    0x00006aee movs r0, r0                   |     
    0x00006af0 lsls r1, r1, 5                |     r1 <<= 5;
    0x00006af2 movs r0, r0                   |     
    0x00006af4 ldr r0, [r6, 0x28]            |     r0 = *((r6 + 0x28));
    0x00006af6 movs r0, r0                   |     
    0x00006af8 ldr r0, [r2, 0x28]            |     r0 = *((r2 + 0x28));
    0x00006afa movs r0, r0                   |     
    0x00006afc ldr r6, [r0, 0x34]            |     r6 = *((r0 + 0x34));
    0x00006afe movs r0, r0                   |     
    0x00006b00 ldr r2, [r5, 0x24]            |     r2 = *((r5 + 0x24));
    0x00006b02 movs r0, r0                   |     
    0x00006b04 ldr r4, [r7, 0x24]            |     r4 = *((r7 + 0x24));
    0x00006b06 movs r0, r0                   |     
    0x00006b08 strh r6, [r3, 0x30]           |     *((r3 + 0x30)) = r6;
    0x00006b0a movs r0, r0                   |     
    0x00006b0c ldr r0, [r7, 0x20]            |     r0 = *((r7 + 0x20));
    0x00006b0e movs r0, r0                   |     
    0x00006b10 ldr r6, [r1, 0x2c]            |     r6 = *((r1 + 0x2c));
    0x00006b12 movs r0, r0                   |     
    0x00006b14 lsls r3, r7, 2                |     r3 = r7 << 2;
    0x00006b16 movs r0, r0                   |     
    0x00006b18 push {lr}                     |     
    0x00006b1a sub sp, 0xc                   |     
    0x00006b1c bl 0x8244                     |     fcn_00008244 ();
    0x00006b20 vldr d16, [pc, 0x3c]          |     __asm ("vldr d16, [0x00006b64]");
    0x00006b24 vcmpe.f64 d0, d16             |     __asm ("vcmpe.f64 d0, d16");
    0x00006b28 vmrs apsr_nzcv, fpscr         |     __asm ("vmrs apsr_nzcv, fpscr");
                                             |     if (r0 <= r0) {
    0x00006b2c bgt 0x6b3c                    |         
    0x00006b2e vldr d16, [pc, 0x38]          |         __asm ("vldr d16, [0x00006b6c]");
    0x00006b32 vcmpe.f64 d0, d16             |         __asm ("vcmpe.f64 d0, d16");
    0x00006b36 vmrs apsr_nzcv, fpscr         |         __asm ("vmrs apsr_nzcv, fpscr");
                                             |         if (r0 >= r0) {
    0x00006b3a bpl 0x6b58                    |             goto label_10;
                                             |         }
                                             |     }
    0x00006b3c ldr r3, [pc, 0x30]            |     
    0x00006b3e movs r1, 0x10                 |     r1 = 0x10;
    0x00006b40 ldr r2, [pc, 0x30]            |     
    0x00006b42 movs r0, 0                    |     r0 = 0;
    0x00006b44 vstr d0, [sp]                 |     __asm ("vstr d0, [sp]");
    0x00006b46 lsrs r0, r0, 0xc              |     r0 >>= 0xc;
    0x00006b48 add r3, pc                    |     r3 = 0xd6bc;
    0x00006b4a add r2, pc                    |     r2 = 0xd6c2;
    0x00006b4c blx 0x1b00                    |     fcn_00001b00 ();
    0x00006b50 bl 0x8344                     |     fcn_00008344 ();
    0x00006b54 bl 0x6988                     |     fcn_00006988 ();
                                             | label_10:
    0x00006b58 movs r0, 1                    |     r0 = 1;
    0x00006b5a add sp, 0xc                   |     
    0x00006b5c ldr pc, [sp], 4               |     pc = *(sp);
                                             |     sp += 4;
                                             | }

[*] Function system used 2 times ntpconfd