[*] Binary protection state of systemd-fstab-generator

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


[*] Function fprintf tear down of systemd-fstab-generator

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/systemd/system-generators/systemd-fstab-generator @ 0x187c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0000187c ()              | void fcn_0000187c (int16_t arg1, int16_t arg2) {
                                         |     r0 = arg1;
                                         |     r1 = arg2;
    0x0000187c push {r4, r5, r6, lr}     |     
    0x0000187e mov r4, r1                |     r4 = r1;
                                         |     if (r1 != 0) {
    0x00001880 cbz r1, 0x1888            |         
    0x00001882 ldrb r3, [r1]             |         r3 = *(r1);
                                         |         if (r3 != 0) {
    0x00001884 cbnz r3, 0x1894           |             goto label_0;
                                         |         }
    0x00001886 mov r4, r3                |         r4 = r3;
                                         |     }
    0x00001888 mov r5, r4                |     r5 = r4;
                                         |     do {
    0x0000188a mov r0, r4                |         r0 = r4;
    0x0000188c blx 0x1158                |         free (r0);
    0x00001890 mov r0, r5                |         r0 = r5;
    0x00001892 pop {r4, r5, r6, pc}      |         
                                         | label_0:
    0x00001894 ldr r1, [pc, 0x5c]        |         
    0x00001896 mov r6, r0                |         r6 = r0;
    0x00001898 mov r0, r4                |         r0 = r4;
    0x0000189a add r1, pc                |         r1 = 0x3192;
    0x0000189c blx 0x1368                |         r0 = strcmp (r0, r1);
    0x000018a0 mov r5, r0                |         r5 = r0;
                                         |         if (r0 == 0) {
    0x000018a2 cbnz r0, 0x18b0           |             
    0x000018a4 mov r4, r5                |             r4 = r5;
    0x000018a6 mov r0, r4                |             r0 = r4;
    0x000018a8 blx 0x1158                |             free (r0);
    0x000018ac mov r0, r5                |             r0 = r5;
    0x000018ae pop {r4, r5, r6, pc}      |             
                                         |         }
    0x000018b0 ldr r2, [pc, 0x44]        |         
    0x000018b2 mov r0, r4                |         r0 = r4;
    0x000018b4 ldr r1, [pc, 0x44]        |         
    0x000018b6 add r2, pc                |         r2 = 0x31b2;
    0x000018b8 add r1, pc                |         r1 = 0x31b8;
    0x000018ba blx 0x11a0                |         r0 = strreplace ();
    0x000018be mov r4, r0                |         r4 = r0;
                                         |         if (r0 != 0) {
    0x000018c0 cbz r0, 0x18dc            |             
    0x000018c2 ldr r2, [pc, 0x3c]        |             
    0x000018c4 mov r3, r0                |             r3 = r0;
    0x000018c6 movs r1, 1                |             r1 = 1;
    0x000018c8 mov r0, r6                |             r0 = r6;
    0x000018ca movs r5, 1                |             r5 = 1;
    0x000018cc add r2, pc                |             r2 = 0x31d2;
    0x000018ce blx 0x1290                |             fprintf_chk ()
    0x000018d2 mov r0, r4                |             r0 = r4;
    0x000018d4 blx 0x1158                |             free (r0);
    0x000018d8 mov r0, r5                |             r0 = r5;
    0x000018da pop {r4, r5, r6, pc}      |             
                                         |         }
    0x000018dc ldr r1, [pc, 0x24]        |         
    0x000018de movs r2, 0x4a             |         r2 = 0x4a;
    0x000018e0 ldr r3, [pc, 0x24]        |         
    0x000018e2 movs r0, 3                |         r0 = 3;
    0x000018e4 add r1, pc                |         r1 = 0x31ec;
    0x000018e6 add r3, pc                |         r3 = 0x31f2;
    0x000018e8 adds r1, 7                |         r1 += 7;
    0x000018ea blx 0x1384                |         r0 = fcn_00001384 ();
    0x000018ee mov r5, r0                |         r5 = r0;
    0x000018f0 b 0x188a                  |         
                                         |     } while (1);
                                         | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/systemd/system-generators/systemd-fstab-generator @ 0x190c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.0000190c ()                          | void fcn_0000190c (int16_t arg_80h, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                     |     int16_t var_0h_2;
                                                     |     int32_t var_0h;
                                                     |     int32_t var_8h;
                                                     |     int32_t var_8h_2;
                                                     |     void * ptr;
                                                     |     int16_t var_18h;
                                                     |     int32_t var_18h_2;
                                                     |     int16_t var_24h;
                                                     |     int16_t var_64h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     |     r2 = arg3;
                                                     |     r3 = arg4;
    0x0000190c push.w {r4, r5, r6, r7, r8, lr}       |     
    0x00001910 mov r8, r0                            |     r8 = r0;
    0x00001912 mov r0, r2                            |     r0 = r2;
    0x00001914 ldr r2, [pc, 0xec]                    |     
    0x00001916 mov r6, r1                            |     r6 = r1;
    0x00001918 mov r1, r3                            |     r1 = r3;
    0x0000191a ldr r3, [pc, 0xec]                    |     r3 = *(0x1a0a);
    0x0000191c sub sp, 0x68                          |     
    0x0000191e add r2, pc                            |     r2 = 0x3326;
    0x00001920 movs r4, 0                            |     r4 = 0;
    0x00001922 ldr r7, [sp, 0x80]                    |     r7 = *(arg_80h);
    0x00001924 ldr r3, [r2, r3]                      |     
    0x00001926 mov r2, r4                            |     r2 = r4;
    0x00001928 ldr r3, [r3]                          |     r3 = *(0x3326);
    0x0000192a str r3, [sp, 0x64]                    |     var_64h = r3;
    0x0000192c mov.w r3, 0                           |     r3 = 0;
    0x00001930 add r3, sp, 0x14                      |     r3 += ptr;
    0x00001932 strd r4, r4, [sp]                     |     __asm ("strd r4, r4, [sp]");
    0x00001934 add r0, r0                            |     r0 += r0;
    0x00001936 str r4, [sp, 0x14]                    |     ptr = r4;
    0x00001938 blx 0x11f4                            |     r0 = fstab_filter_options ();
    0x0000193c subs r5, r0, 0                        |     r5 = r0 - 0;
                                                     |     if (r5 < r0) {
    0x0000193e blt 0x199a                            |         goto label_2;
                                                     |     }
    0x00001940 ldr r0, [sp, 0x14]                    |     r0 = ptr;
                                                     |     if (r5 != r0) {
    0x00001942 bne 0x1968                            |         goto label_3;
                                                     |     }
                                                     | label_1:
    0x00001944 movs r4, 0                            |     r4 = 0;
                                                     |     do {
                                                     | label_0:
    0x00001946 ldr r0, [sp, 0x14]                    |         r0 = ptr;
    0x00001948 blx 0x1158                            |         free (r0);
    0x0000194c ldr r2, [pc, 0xbc]                    |         
    0x0000194e ldr r3, [pc, 0xb8]                    |         r3 = *(0x1a0a);
    0x00001950 add r2, pc                            |         r2 = 0x3360;
    0x00001952 ldr r3, [r2, r3]                      |         r3 = *(0x3360);
    0x00001954 ldr r2, [r3]                          |         r2 = *(0x3360);
    0x00001956 ldr r3, [sp, 0x64]                    |         r3 = var_64h;
    0x00001958 eors r2, r3                           |         r2 ^= r3;
    0x0000195a mov.w r3, 0                           |         r3 = 0;
                                                     |         if (r2 != r3) {
    0x0000195e bne 0x1a00                            |             goto label_4;
                                                     |         }
    0x00001960 mov r0, r4                            |         r0 = r4;
    0x00001962 add sp, 0x68                          |         
    0x00001964 pop.w {r4, r5, r6, r7, r8, pc}        |         
                                                     | label_3:
    0x00001968 add r1, sp, 0x18                      |         r1 += var_18h;
    0x0000196a blx 0x1098                            |         r0 = parse_sec_fix_0 ();
    0x0000196e cmp r0, 0                             |         
                                                     |         if (r0 < 0) {
    0x00001970 blt 0x19d4                            |             goto label_5;
                                                     |         }
    0x00001972 vmov.i32 d16, 0                       |         __asm ("vmov.i32 d16, 0");
    0x00001976 movs r1, 0x40                         |         r1 = 0x40;
    0x00001978 ldrd r2, r3, [sp, 0x18]               |         __asm ("ldrd r2, r3, [var_18h]");
    0x0000197c add r0, sp, 0x24                      |         r0 += var_24h;
    0x0000197e vstr d16, [sp]                        |         __asm ("vstr d16, [sp]");
    0x00001982 blx 0x10a4                            |         format_timespan ();
    0x00001984 invalid                               |         
    0x00001988 mov r1, r0                            |         r1 = r0;
    0x0000198a str r1, [sp]                          |         *(sp) = r1;
    0x0000198c mov r3, r7                            |         r3 = r7;
    0x0000198e mov r0, r8                            |         r0 = r8;
    0x00001990 movs r1, 1                            |         r1 = 1;
    0x00001992 add r2, pc                            |         r2 += pc;
    0x00001994 blx 0x1290                            |         fprintf_chk ()
    0x00001998 b 0x1946                              |         
                                                     |     } while (1);
                                                     | label_2:
    0x0000199a blx 0x10ec                            |     r0 = log_get_max_level ();
    0x0000199e cmp r0, 3                             |     
    0x000019a0 ittt le                               |     
                                                     |     if (r0 <= 3) {
    0x000019a2 rsble r0, r5, 0                       |         __asm ("rsble r0, r5, 0");
                                                     |     }
                                                     |     if (r0 <= 3) {
    0x000019a4 uxtble r0, r0                         |         __asm ("uxtble r0, r0");
                                                     |     }
                                                     |     if (r0 <= 3) {
    0x000019a6 rsble r4, r0, 0                       |         __asm ("rsble r4, r0, 0");
                                                     |     }
    0x000019a8 bgt 0x19b4                            |     
                                                     |     while (1) {
    0x000019aa cmp r4, 0                             |         
    0x000019ac it ge                                 |         
                                                     |         if (r4 < 0) {
    0x000019ae mvnge r4, 0x55                        |             r4 = ~0x55;
                                                     |         }
    0x000019b2 b 0x1946                              |         goto label_0;
    0x000019b4 ldr r2, [pc, 0x5c]                    |         
    0x000019b6 movs r3, 0xcd                         |         r3 = 0xcd;
    0x000019b8 ldr r4, [pc, 0x5c]                    |         
    0x000019ba mov r1, r5                            |         r1 = r5;
    0x000019bc ldr r0, [pc, 0x5c]                    |         
    0x000019be add r2, pc                            |         r2 = 0x33d6;
    0x000019c0 add r4, pc                            |         r4 = 0x33dc;
    0x000019c2 adds r2, 7                            |         r2 += 7;
    0x000019c4 add r0, pc                            |         r0 = 0x33e4;
    0x000019c6 strd r0, r4, [sp]                     |         __asm ("strd r0, r4, [sp]");
    0x000019ca movs r0, 4                            |         r0 = 4;
    0x000019cc blx 0x12b4                            |         r0 = log_internal ();
    0x000019d0 mov r4, r0                            |         r4 = r0;
    0x000019d2 b 0x19aa                              |         
                                                     |     }
                                                     | label_5:
    0x000019d4 blx 0x10ec                            |     r0 = log_get_max_level ();
    0x000019d8 cmp r0, 3                             |     
    0x000019da ldr r3, [sp, 0x14]                    |     r3 = ptr;
                                                     |     if (r0 <= 3) {
    0x000019dc ble 0x1944                            |         goto label_1;
                                                     |     }
    0x000019de ldr r2, [pc, 0x40]                    |     
    0x000019e0 ldr r0, [pc, 0x40]                    |     
    0x000019e2 ldr r1, [pc, 0x44]                    |     
    0x000019e4 add r2, pc                            |     r2 = 0x340a;
    0x000019e6 strd r6, r3, [sp, 8]                  |     __asm ("strd r6, r3, [var_8h]");
    0x000019ea add r0, pc                            |     r0 = 0x3412;
    0x000019ec movs r3, 0xd3                         |     r3 = 0xd3;
    0x000019ee add r1, pc                            |     r1 = 0x341c;
    0x000019f0 adds r2, 7                            |     r2 += 7;
    0x000019f2 strd r1, r0, [sp]                     |     __asm ("strd r1, r0, [sp]");
    0x000019f6 mov r1, r4                            |     r1 = r4;
    0x000019f8 movs r0, 4                            |     r0 = 4;
    0x000019fa blx 0x12b4                            |     log_internal ();
    0x000019fe b 0x1946                              |     goto label_0;
                                                     | label_4:
    0x00001a00 blx 0x1284                            |     stack_chk_fail ();
    0x00001a04 cmp lr, r2                            |     
    0x00001a06 movs r1, r0                           |     r1 = r0;
    0x00001a08 lsls r0, r6, 4                        |     r0 = r6 << 4;
    0x00001a0a movs r0, r0                           |     
    0x00001a0c cmp r4, ip                            |     
    0x00001a0e movs r1, r0                           |     r1 = r0;
    0x00001a10 movs r5, 0xaa                         |     r5 = 0xaa;
    0x00001a12 movs r0, r0                           |     
    0x00001a14 movs r4, 0xde                         |     r4 = 0xde;
    0x00001a16 movs r0, r0                           |     
    0x00001a18 movs r5, 0x30                         |     r5 = 0x30;
    0x00001a1a movs r0, r0                           |     
    0x00001a1c adds r5, 0x10                         |     r5 += 0x10;
    0x00001a1e movs r0, r0                           |     
    0x00001a20 movs r4, 0xb8                         |     r4 = 0xb8;
    0x00001a22 movs r0, r0                           |     
    0x00001a24 movs r5, 0x22                         |     r5 = 0x22;
    0x00001a26 movs r0, r0                           |     
    0x00001a28 adds r4, 0xe6                         |     r4 += 0xe6;
    0x00001a2a movs r0, r0                           |     
                                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/systemd/system-generators/systemd-fstab-generator @ 0x1ad4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00001ad4 ()                                  | void fcn_00001ad4 (uint32_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                             |     int16_t var_0h_2;
                                                             |     int16_t var_4h_2;
                                                             |     int16_t var_8h;
                                                             |     int16_t var_ch;
                                                             |     int16_t var_10h_2;
                                                             |     int16_t var_14h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
                                                             |     r2 = arg3;
                                                             |     r3 = arg4;
                                                             |     if (? >= ?) {
    0x00001ad4 ldrbmi lr, [r0, sp, lsr 18]!                  |         
                                                             |     }
    0x00001ad8 mov r4, r1                                    |     r4 = r1;
    0x00001ada mov r1, r2                                    |     r1 = r2;
    0x00001adc ldr r2, [pc, 0x1ac]                           |     
    0x00001ade mov sb, r3                                    |     sb = r3;
    0x00001ae0 sub sp, 0x18                                  |     
    0x00001ae2 ldr r3, [pc, 0x1ac]                           |     r3 = *(0x1c92);
    0x00001ae4 movs r6, 0                                    |     r6 = 0;
    0x00001ae6 add r2, pc                                    |     r2 = 0x3776;
    0x00001ae8 ldr r3, [r2, r3]                              |     
    0x00001aea ldr r3, [r3]                                  |     r3 = *(0x3776);
    0x00001aec str r3, [sp, 0x14]                            |     var_14h = r3;
    0x00001aee mov.w r3, 0                                   |     r3 = 0;
    0x00001af2 strd r6, r6, [sp, 8]                          |     __asm ("strd r6, r6, [var_ch]");
    0x00001af6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001af8 beq 0x1bf0                                    |         goto label_3;
                                                             |     }
    0x00001afa cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00001afc beq.w 0x1c3a                                  |         goto label_4;
                                                             |     }
    0x00001b00 add r3, sp, 8                                 |     r3 += var_8h;
    0x00001b02 mov r5, r0                                    |     r5 = r0;
    0x00001b04 str r3, [sp]                                  |     *(sp) = r3;
    0x00001b06 mov r0, r4                                    |     r0 = r4;
    0x00001b08 mov r3, r6                                    |     r3 = r6;
    0x00001b0a mov r2, r6                                    |     r2 = r6;
    0x00001b0c str r6, [sp, 4]                               |     var_4h_2 = r6;
    0x00001b0e blx 0x11f4                                    |     r0 = fstab_filter_options ();
    0x00001b12 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 < r0) {
    0x00001b14 blt 0x1bb2                                    |         goto label_5;
                                                             |     }
                                                             |     if (r4 == r0) {
    0x00001b16 beq 0x1b7a                                    |         goto label_6;
                                                             |     }
    0x00001b18 ldr r4, [sp, 8]                               |     r4 = var_8h;
                                                             |     if (r4 == 0) {
    0x00001b1a cbz r4, 0x1b52                                |         goto label_7;
                                                             |     }
    0x00001b1c ldr.w r8, [pc, 0x174]                         |     
    0x00001b20 subs r4, 4                                    |     r4 -= 4;
    0x00001b22 ldr r7, [pc, 0x174]                           |     
    0x00001b24 add r6, sp, 0x10                              |     r6 += var_10h_2;
    0x00001b26 add r8, pc                                    |     r8 = 0x37be;
    0x00001b28 add r7, pc                                    |     r7 = 0x37c6;
    0x00001b2a b 0x1b4a                                      |     
                                                             |     while (r0 != 0) {
    0x00001b2c mov r3, r8                                    |         r3 = r8;
    0x00001b2e movs r2, 0                                    |         r2 = 0;
    0x00001b30 mov r1, r7                                    |         r1 = r7;
    0x00001b32 str r6, [sp]                                  |         *(sp) = r6;
    0x00001b34 blx 0x12a8                                    |         r0 = unit_name_mangle_with_suffix ();
    0x00001b38 subs.w sl, r0, 0                              |         sl = r0 - 0;
                                                             |         if (sl < r0) {
    0x00001b3c blt 0x1c04                                    |             goto label_8;
                                                             |         }
    0x00001b3e ldr r1, [sp, 0x10]                            |         r1 = var_10h_2;
    0x00001b40 add r0, sp, 0xc                               |         r0 += var_ch;
    0x00001b42 blx 0x11b8                                    |         r0 = strv_consume ();
    0x00001b46 cmp r0, 0                                     |         
                                                             |         if (r0 < 0) {
    0x00001b48 blt 0x1c22                                    |             goto label_9;
                                                             |         }
    0x00001b4a ldr r0, [r4, 4]!                              |         r0 = *((r4 += 4));
    0x00001b4e cmp r0, 0                                     |         
    0x00001b50 bne 0x1b2c                                    |         
                                                             |     }
                                                             | label_7:
    0x00001b52 ldr r0, [sp, 0xc]                             |     r0 = var_ch;
                                                             |     if (r0 != 0) {
    0x00001b54 cbz r0, 0x1b7a                                |         
    0x00001b56 ldr r1, [pc, 0x144]                           |         
    0x00001b58 movs r3, 0                                    |         r3 = 0;
    0x00001b5a mov r2, r3                                    |         r2 = r3;
    0x00001b5c add r1, pc                                    |         r1 = 0x37fe;
    0x00001b5e blx 0x108c                                    |         r0 = strv_join_full ();
    0x00001b62 mov r6, r0                                    |         r6 = r0;
    0x00001b64 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00001b66 beq.w 0x1c6e                                  |             goto label_10;
                                                             |         }
    0x00001b6a mov r3, r0                                    |         r3 = r0;
    0x00001b6c mov r2, sb                                    |         r2 = sb;
    0x00001b6e movs r1, 1                                    |         r1 = 1;
    0x00001b70 mov r0, r5                                    |         r0 = r5;
    0x00001b72 movs r4, 0                                    |         r4 = 0;
    0x00001b74 blx 0x1290                                    |         fprintf_chk ()
    0x00001b78 b 0x1b7e                                      |         
                                                             |     } else {
                                                             | label_6:
    0x00001b7a movs r6, 0                                    |         r6 = 0;
    0x00001b7c mov r4, r6                                    |         r4 = r6;
                                                             |     }
                                                             |     do {
                                                             | label_1:
    0x00001b7e mov r0, r6                                    |         r0 = r6;
    0x00001b80 blx 0x1158                                    |         free (r0);
    0x00001b82 invalid                                       |         
                                                             |         if (r0 != 0) {
    0x00001b86 cbz r0, 0x1b8e                                |             
    0x00001b88 blx 0x11e8                                    |             strv_free ();
    0x00001b8c str r0, [sp, 0xc]                             |             var_ch = r0;
                                                             |         }
    0x00001b8e ldr r0, [sp, 8]                               |         r0 = var_8h;
                                                             |         if (r0 != 0) {
    0x00001b90 cbz r0, 0x1b96                                |             
    0x00001b92 blx 0x11e8                                    |             strv_free ();
                                                             |         }
    0x00001b96 ldr r2, [pc, 0x108]                           |         
    0x00001b98 ldr r3, [pc, 0xf4]                            |         r3 = *(0x1c90);
    0x00001b9a add r2, pc                                    |         r2 = 0x3840;
    0x00001b9c ldr r3, [r2, r3]                              |         r3 = *(0x3840);
    0x00001b9e ldr r2, [r3]                                  |         r2 = *(0x3840);
    0x00001ba0 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00001ba2 eors r2, r3                                   |         r2 ^= r3;
    0x00001ba4 mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00001ba8 bne 0x1c86                                    |             goto label_11;
                                                             |         }
    0x00001baa mov r0, r4                                    |         r0 = r4;
    0x00001bac add sp, 0x18                                  |         
    0x00001bae pop.w {r4, r5, r6, r7, r8, sb, sl, pc}        |         
                                                             | label_5:
    0x00001bb2 blx 0x10ec                                    |         r0 = log_get_max_level ();
    0x00001bb6 cmp r0, 3                                     |         
    0x00001bb8 ittt le                                       |         
                                                             |         if (r0 <= 3) {
    0x00001bba rsble r0, r4, 0                               |             __asm ("rsble r0, r4, 0");
                                                             |         }
                                                             |         if (r0 <= 3) {
    0x00001bbc uxtble r0, r0                                 |             __asm ("uxtble r0, r0");
                                                             |         }
                                                             |         if (r0 <= 3) {
    0x00001bbe rsble r4, r0, 0                               |             __asm ("rsble r4, r0, 0");
                                                             |         }
                                                             |         if (r0 > 3) {
    0x00001bc0 bgt 0x1bd0                                    |             goto label_12;
                                                             |         }
                                                             | label_0:
    0x00001bc2 cmp r4, 0                                     |         
    0x00001bc4 mov.w r6, 0                                   |         r6 = 0;
    0x00001bc8 it ge                                         |         
                                                             |         if (r4 < 0) {
    0x00001bca mvnge r4, 0x55                                |             r4 = ~0x55;
                                                             |         }
    0x00001bce b 0x1b7e                                      |         
                                                             |     } while (1);
                                                             | label_12:
    0x00001bd0 ldr r2, [pc, 0xd0]                            |     
    0x00001bd2 mov r1, r4                                    |     r1 = r4;
    0x00001bd4 ldr r5, [pc, 0xd0]                            |     
    0x00001bd6 movs r3, 0xf6                                 |     r3 = 0xf6;
    0x00001bd8 ldr r0, [pc, 0xd0]                            |     
    0x00001bda add r2, pc                                    |     r2 = 0x3882;
    0x00001bdc add r5, pc                                    |     r5 = 0x3888;
    0x00001bde adds r2, 7                                    |     r2 += 7;
    0x00001be0 add r0, pc                                    |     r0 = 0x3890;
    0x00001be2 strd r0, r5, [sp]                             |     __asm ("strd r0, r5, [sp]");
    0x00001be4 lsls r0, r0, 0x14                             |     r0 <<= 0x14;
    0x00001be6 movs r0, 4                                    |     r0 = 4;
    0x00001be8 blx 0x12b4                                    |     r0 = log_internal ();
    0x00001bec mov r4, r0                                    |     r4 = r0;
    0x00001bee b 0x1bc2                                      |     goto label_0;
                                                             | label_3:
    0x00001bf0 ldr r1, [pc, 0xbc]                            |     
    0x00001bf2 movs r2, 0xf1                                 |     r2 = 0xf1;
    0x00001bf4 ldr r3, [pc, 0xbc]                            |     
    0x00001bf6 ldr r0, [pc, 0xc0]                            |     
    0x00001bf8 add r1, pc                                    |     r1 = 0x38ac;
    0x00001bfa add r3, pc                                    |     r3 = 0x38b2;
    0x00001bfc adds r1, 7                                    |     r1 += 7;
    0x00001bfe add r0, pc                                    |     r0 = 0x38bc;
    0x00001c00 blx 0x120c                                    |     log_assert_failed ();
                                                             | label_8:
    0x00001c04 blx 0x10ec                                    |     r0 = log_get_max_level ();
    0x00001c08 cmp r0, 2                                     |     
    0x00001c0a ittt le                                       |     
                                                             |     if (r0 <= 2) {
    0x00001c0c rsble r0, sl, 0                               |         __asm ("rsble r0, sl, 0");
                                                             |     }
                                                             |     if (r0 <= 2) {
    0x00001c10 uxtble r0, r0                                 |         __asm ("uxtble r0, r0");
                                                             |     }
                                                             |     if (r0 <= 2) {
    0x00001c12 rsbs r4, r0, 0                                |         r4 = r0 - ;
                                                             |     }
                                                             |     if (r0 > 2) {
    0x00001c14 bgt 0x1c4e                                    |         goto label_13;
                                                             |     }
                                                             | label_2:
    0x00001c16 cmp r4, 0                                     |     
    0x00001c18 it ge                                         |     
    0x00001c1a mvnge r4, 0x55                                |     r4 = ~0x55;
                                                             |     while (1) {
    0x00001c1e movs r6, 0                                    |         r6 = 0;
    0x00001c20 b 0x1b7e                                      |         goto label_1;
                                                             | label_9:
    0x00001c22 ldr r1, [pc, 0x98]                            |         
    0x00001c24 movw r2, 0x103                                |         r2 = 0x103;
    0x00001c26 asrs r3, r0, 8                                |         r3 = r0 >> 8;
    0x00001c28 ldr r3, [pc, 0x94]                            |         
    0x00001c2a movs r0, 3                                    |         r0 = 3;
    0x00001c2c add r1, pc                                    |         r1 = 0x38ee;
    0x00001c2e add r3, pc                                    |         r3 = 0x38f2;
    0x00001c30 adds r1, 7                                    |         r1 += 7;
    0x00001c32 blx 0x1384                                    |         r0 = fcn_00001384 ();
    0x00001c36 mov r4, r0                                    |         r4 = r0;
    0x00001c38 b 0x1c1e                                      |         
                                                             |     }
                                                             | label_4:
    0x00001c3a ldr r1, [pc, 0x88]                            |     
    0x00001c3c movs r2, 0xf2                                 |     r2 = 0xf2;
    0x00001c3e ldr r3, [pc, 0x88]                            |     
    0x00001c40 ldr r0, [pc, 0x88]                            |     
    0x00001c42 add r1, pc                                    |     r1 = 0x390c;
    0x00001c44 add r3, pc                                    |     r3 = 0x3912;
    0x00001c46 adds r1, 7                                    |     r1 += 7;
    0x00001c48 add r0, pc                                    |     r0 = 0x3918;
    0x00001c4a blx 0x120c                                    |     log_assert_failed ();
                                                             | label_13:
    0x00001c4e ldr r2, [pc, 0x80]                            |     
    0x00001c50 movs r3, 0xff                                 |     r3 = 0xff;
    0x00001c52 ldr r4, [pc, 0x80]                            |     
    0x00001c54 mov r1, sl                                    |     r1 = sl;
    0x00001c56 ldr r0, [pc, 0x80]                            |     
    0x00001c58 add r2, pc                                    |     r2 = 0x392e;
    0x00001c5a add r4, pc                                    |     r4 = 0x3934;
    0x00001c5c adds r2, 7                                    |     r2 += 7;
    0x00001c5e add r0, pc                                    |     r0 = 0x393c;
    0x00001c60 strd r0, r4, [sp]                             |     __asm ("strd r0, r4, [sp]");
    0x00001c64 movs r0, 3                                    |     r0 = 3;
    0x00001c66 blx 0x12b4                                    |     r0 = log_internal ();
    0x00001c6a mov r4, r0                                    |     r4 = r0;
    0x00001c6c b 0x1c16                                      |     goto label_2;
                                                             | label_10:
    0x00001c6e ldr r1, [pc, 0x6c]                            |     
    0x00001c70 movw r2, 0x109                                |     r2 = 0x109;
    0x00001c74 ldr r3, [pc, 0x68]                            |     
    0x00001c76 movs r0, 3                                    |     r0 = 3;
    0x00001c78 add r1, pc                                    |     r1 = 0x395a;
    0x00001c7a add r3, pc                                    |     r3 = 0x395e;
    0x00001c7c adds r1, 7                                    |     r1 += 7;
    0x00001c7e blx 0x1384                                    |     r0 = fcn_00001384 ();
    0x00001c82 mov r4, r0                                    |     r4 = r0;
    0x00001c84 b 0x1b7e                                      |     goto label_1;
                                                             | label_11:
    0x00001c86 blx 0x1284                                    |     stack_chk_fail ();
    0x00001c8a nop                                           |     
    0x00001c8c mvns r6, r1                                   |     r6 = ~r1;
    0x00001c8e movs r1, r0                                   |     r1 = r0;
    0x00001c90 lsls r0, r6, 4                                |     r0 = r6 << 4;
    0x00001c92 movs r0, r0                                   |     
    0x00001c94 movs r4, 0x8a                                 |     r4 = 0x8a;
    0x00001c96 movs r0, r0                                   |     
    0x00001c98 movs r4, 0x90                                 |     r4 = 0x90;
    0x00001c9a movs r0, r0                                   |     
    0x00001c9c movs r4, 0x90                                 |     r4 = 0x90;
    0x00001c9e movs r0, r0                                   |     
    0x00001ca0 orrs r2, r3                                   |     r2 |= r3;
    0x00001ca2 movs r1, r0                                   |     r1 = r0;
    0x00001ca4 movs r2, 0xc2                                 |     r2 = 0xc2;
    0x00001ca6 movs r0, r0                                   |     
    0x00001ca8 movs r3, 0x14                                 |     r3 = 0x14;
    0x00001caa movs r0, r0                                   |     
    0x00001cac adds r2, 0x24                                 |     r2 += 0x24;
    0x00001cae movs r0, r0                                   |     
    0x00001cb0 movs r2, 0xa4                                 |     r2 = 0xa4;
    0x00001cb2 movs r0, r0                                   |     
    0x00001cb4 adds r1, 0x5a                                 |     r1 += 0x5a;
    0x00001cb6 movs r0, r0                                   |     
    0x00001cb8 movs r3, 0xa6                                 |     r3 = 0xa6;
    0x00001cba movs r0, r0                                   |     
    0x00001cbc movs r2, 0x70                                 |     r2 = 0x70;
    0x00001cbe movs r0, r0                                   |     
    0x00001cc0 adds r1, 0xd6                                 |     r1 += 0xd6;
    0x00001cc2 movs r0, r0                                   |     
    0x00001cc4 movs r2, 0x5a                                 |     r2 = 0x5a;
    0x00001cc6 movs r0, r0                                   |     
    0x00001cc8 adds r1, 0x10                                 |     r1 += 0x10;
    0x00001cca movs r0, r0                                   |     
    0x00001ccc movs r3, 0x60                                 |     r3 = 0x60;
    0x00001cce movs r0, r0                                   |     
    0x00001cd0 movs r2, 0x44                                 |     r2 = 0x44;
    0x00001cd2 movs r0, r0                                   |     
    0x00001cd4 movs r3, 0x6e                                 |     r3 = 0x6e;
    0x00001cd6 movs r0, r0                                   |     
    0x00001cd8 adds r1, 0xa6                                 |     r1 += 0xa6;
    0x00001cda movs r0, r0                                   |     
    0x00001cdc movs r2, 0x24                                 |     r2 = 0x24;
    0x00001cde movs r0, r0                                   |     
    0x00001ce0 adds r1, 0x8a                                 |     r1 += 0x8a;
    0x00001ce2 movs r0, r0                                   |     
                                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/systemd/system-generators/systemd-fstab-generator @ 0x1ce4 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) fcn.00001ce4 ()                                  | void fcn_00001ce4 (int16_t arg1, uint32_t arg2, int16_t arg3, int16_t arg4) {
                                                             |     int16_t var_0h;
                                                             |     int16_t var_4h;
                                                             |     int16_t var_8h_2;
                                                             |     int16_t var_10h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
                                                             |     r2 = arg3;
                                                             |     r3 = arg4;
    0x00001ce4 svcmi 0xf0e92d                                |     __asm ("svcmi 0xf0e92d");
    0x00001ce8 sub sp, 0x5c                                  |     
    0x00001cea mov r4, r2                                    |     r4 = r2;
    0x00001cec add r7, sp, 0x10                              |     r7 += var_10h;
    0x00001cee ldr.w r2, [pc, 0xa20]                         |     r2 = *(0x00002710);
    0x00001cf2 str r3, [r7, 0xc]                             |     *((r7 + 0xc)) = r3;
    0x00001cf4 ldr.w r3, [pc, 0xa1c]                         |     
    0x00001cf8 add r2, pc                                    |     r2 += pc;
    0x00001cfa str r0, [r7, 0x14]                            |     *((r7 + 0x14)) = r0;
    0x00001cfc ldrd sl, sb, [r7, 0x70]                       |     __asm ("ldrd sl, sb, [r7, 0x70]");
    0x00001d00 ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x00001d02 ldr.w fp, [r7, 0x84]                          |     fp = *((r7 + 0x84));
    0x00001d06 ldr r3, [r3]                                  |     r3 = *(0x2714);
    0x00001d08 str r3, [r7, 0x44]                            |     *((r7 + 0x44)) = r3;
    0x00001d0a mov.w r3, 0                                   |     r3 = 0;
    0x00001d0e movs r3, 0                                    |     r3 = 0;
    0x00001d10 strd r3, r3, [r7, 0x18]                       |     __asm ("strd r3, r3, [r7, 0x18]");
    0x00001d14 strd r3, r3, [r7, 0x20]                       |     __asm ("strd r3, r3, [r7, 0x20]");
    0x00001d16 adds r3, 8                                    |     r3 += 8;
    0x00001d18 strd r3, r3, [r7, 0x28]                       |     __asm ("strd r3, r3, [r7, 0x28]");
    0x00001d1c ldr.w r3, [r7, 0x80]                          |     r3 = *((r7 + 0x80));
    0x00001d20 str r3, [r7, 0x10]                            |     *((r7 + 0x10)) = r3;
    0x00001d22 cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00001d24 beq 0x1dd4                                    |         goto label_25;
                                                             |     }
    0x00001d26 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00001d28 beq 0x1df0                                    |         goto label_26;
                                                             |     }
    0x00001d2a cmp.w sb, 0                                   |     
                                                             |     if (sb == 0) {
    0x00001d2e beq 0x1e0c                                    |         goto label_27;
                                                             |     }
    0x00001d30 cmp.w fp, 0                                   |     
                                                             |     if (fp == 0) {
    0x00001d34 beq 0x1e28                                    |         goto label_28;
                                                             |     }
    0x00001d36 mov r5, r1                                    |     r5 = r1;
    0x00001d38 cmp.w sl, 0                                   |     
                                                             |     if (sl != 0) {
    0x00001d3c bne 0x1dac                                    |         goto label_29;
                                                             |     }
                                                             | label_0:
    0x00001d3e movs r1, 0x2f                                 |     r1 = 0x2f;
    0x00001d40 mov r0, r4                                    |     r0 = r4;
    0x00001d42 blx 0x1104                                    |     r0 = strchr (r0, r1);
    0x00001d46 mov r6, r0                                    |     r6 = r0;
    0x00001d48 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00001d4a bne 0x1dc2                                    |         goto label_30;
                                                             |     }
    0x00001d4c blx 0x10ec                                    |     r0 = log_get_max_level ();
    0x00001d50 cmp r0, 3                                     |     
    0x00001d52 itt le                                        |     
                                                             |     if (r0 > 3) {
    0x00001d54 movle r0, r6                                  |         r0 = r6;
                                                             |     }
                                                             |     if (r0 > 3) {
    0x00001d56 movle r8, r6                                  |         r8 = r6;
                                                             |     }
                                                             |     if (r0 > 3) {
    0x00001d58 bgt 0x1e54                                    |         goto label_31;
                                                             |     }
                                                             |     do {
                                                             | label_1:
    0x00001d5a blx 0x1074                                    |         safe_fclose ();
    0x00001d5e ldr r0, [r7, 0x28]                            |         r0 = *((r7 + 0x28));
                                                             |         if (r0 != 0) {
    0x00001d60 cbz r0, 0x1d68                                |             
    0x00001d62 blx 0x11e8                                    |             strv_free ();
    0x00001d66 str r0, [r7, 0x28]                            |             *((r7 + 0x28)) = r0;
                                                             |         }
    0x00001d68 ldr r0, [r7, 0x24]                            |         r0 = *((r7 + 0x24));
                                                             |         if (r0 != 0) {
    0x00001d6a cbz r0, 0x1d70                                |             
    0x00001d6c blx 0x11e8                                    |             strv_free ();
                                                             |         }
    0x00001d70 mov r0, r6                                    |         r0 = r6;
    0x00001d72 blx 0x1158                                    |         free (r0);
    0x00001d76 ldr r0, [r7, 0x20]                            |         r0 = *((r7 + 0x20));
    0x00001d78 blx 0x1158                                    |         free (r0);
    0x00001d7c ldr r0, [r7, 0x1c]                            |         r0 = *((r7 + 0x1c));
    0x00001d7e blx 0x1158                                    |         free (r0);
    0x00001d82 ldr r0, [r7, 0x18]                            |         r0 = *((r7 + 0x18));
    0x00001d84 blx 0x1158                                    |         free (r0);
    0x00001d88 ldr.w r2, [pc, 0x98c]                         |         r2 = *(0x00002718);
    0x00001d8c ldr.w r3, [pc, 0x984]                         |         r3 = *(0x2714);
    0x00001d90 add r2, pc                                    |         r2 += pc;
    0x00001d92 ldr r3, [r2, r3]                              |         r3 = *((r2 + r3));
    0x00001d94 ldr r2, [r3]                                  |         r2 = *(0x2714);
    0x00001d96 ldr r3, [r7, 0x44]                            |         r3 = *((r7 + 0x44));
    0x00001d98 eors r2, r3                                   |         r2 ^= r3;
    0x00001d9a mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00001d9e bne.w 0x246a                                  |             goto label_32;
                                                             |         }
    0x00001da2 mov r0, r8                                    |         r0 = r8;
    0x00001da4 adds r7, 0x4c                                 |         r7 += 0x4c;
    0x00001da6 mov sp, r7                                    |         
    0x00001da8 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |         
                                                             | label_29:
    0x00001dac ldr.w r1, [pc, 0x96c]                         |         
    0x00001db0 mov r0, sl                                    |         r0 = sl;
    0x00001db2 add r1, pc                                    |         r1 = 0x44d2;
    0x00001db4 blx 0x1368                                    |         r0 = strcmp (r0, r1);
    0x00001db8 mov r8, r0                                    |         r8 = r0;
    0x00001dba mov r6, r0                                    |         r6 = r0;
    0x00001dbc cmp r0, 0                                     |         
    0x00001dbe beq 0x1d5a                                    |         
                                                             |     } while (r0 == 0);
    0x00001dc0 b 0x1d3e                                      |     goto label_0;
                                                             | label_30:
    0x00001dc2 mov r0, r4                                    |     r0 = r4;
    0x00001dc4 blx 0x1134                                    |     mount_point_is_api ();
    0x00001dc6 invalid                                       |     
                                                             |     if (r0 != 0) {
    0x00001dca cbz r0, 0x1e44                                |         
    0x00001dcc movs r6, 0                                    |         r6 = 0;
    0x00001dce ldr r0, [r7, 0x2c]                            |         r0 = *((r7 + 0x2c));
    0x00001dd0 mov r8, r6                                    |         r8 = r6;
    0x00001dd2 b 0x1d5a                                      |         goto label_1;
                                                             | label_25:
    0x00001dd4 ldr.w r1, [pc, 0x948]                         |         
    0x00001dd8 movw r2, 0x169                                |         r2 = 0x169;
    0x00001ddc ldr.w r3, [pc, 0x944]                         |         
    0x00001de0 ldr.w r0, [pc, 0x944]                         |         
    0x00001de4 add r1, pc                                    |         r1 = 0x4508;
    0x00001de6 add r3, pc                                    |         r3 = 0x450e;
    0x00001de8 adds r1, 7                                    |         r1 += 7;
    0x00001dea add r0, pc                                    |         r0 = 0x4516;
    0x00001dec blx 0x120c                                    |         log_assert_failed ();
                                                             | label_26:
    0x00001df0 ldr.w r1, [pc, 0x938]                         |         
    0x00001df4 mov.w r2, 0x16a                               |         r2 = 0x16a;
    0x00001df8 ldr.w r3, [pc, 0x934]                         |         
    0x00001dfa subs r1, 0x34                                 |         r1 -= 0x34;
    0x00001dfc ldr.w r0, [pc, 0x934]                         |         
    0x00001e00 add r1, pc                                    |         r1 = 0x4530;
    0x00001e02 add r3, pc                                    |         r3 = 0x4536;
    0x00001e04 adds r1, 7                                    |         r1 += 7;
    0x00001e06 add r0, pc                                    |         r0 = 0x453e;
    0x00001e08 blx 0x120c                                    |         log_assert_failed ();
                                                             | label_27:
    0x00001e0c ldr.w r1, [pc, 0x928]                         |         
    0x00001e10 movw r2, 0x16b                                |         r2 = 0x16b;
    0x00001e14 ldr.w r3, [pc, 0x924]                         |         
    0x00001e16 subs r1, 0x24                                 |         r1 -= 0x24;
    0x00001e18 ldr.w r0, [pc, 0x924]                         |         
    0x00001e1c add r1, pc                                    |         r1 = 0x4558;
    0x00001e1e add r3, pc                                    |         r3 = 0x455e;
    0x00001e20 adds r1, 7                                    |         r1 += 7;
    0x00001e22 add r0, pc                                    |         r0 = 0x4566;
    0x00001e24 blx 0x120c                                    |         log_assert_failed ();
                                                             | label_28:
    0x00001e28 ldr.w r1, [pc, 0x918]                         |         
    0x00001e2c movw r2, 0x16d                                |         r2 = 0x16d;
    0x00001e30 ldr.w r3, [pc, 0x914]                         |         
    0x00001e34 ldr.w r0, [pc, 0x914]                         |         
    0x00001e38 add r1, pc                                    |         r1 = 0x4580;
    0x00001e3a add r3, pc                                    |         r3 = 0x4586;
    0x00001e3c adds r1, 7                                    |         r1 += 7;
    0x00001e3e add r0, pc                                    |         r0 = 0x458e;
    0x00001e40 blx 0x120c                                    |         log_assert_failed ();
                                                             |     }
    0x00001e44 mov r0, r4                                    |     r0 = r4;
    0x00001e46 blx 0x12e4                                    |     r0 = mount_point_ignore ();
    0x00001e4a mov r3, r0                                    |     r3 = r0;
                                                             |     if (r0 != 0) {
    0x00001e4c cbz r0, 0x1e80                                |         
    0x00001e4e ldr r0, [r7, 0x2c]                            |         r0 = *((r7 + 0x2c));
    0x00001e50 mov r8, r6                                    |         r8 = r6;
    0x00001e52 b 0x1d5a                                      |         goto label_1;
                                                             | label_31:
    0x00001e54 ldr.w r2, [pc, 0x8f8]                         |         
    0x00001e58 movw r3, 0x173                                |         r3 = 0x173;
    0x00001e5c ldr.w r1, [pc, 0x8f4]                         |         
    0x00001e5e adds r4, r6, r3                               |         r4 = r6 + r3;
    0x00001e60 movs r0, 4                                    |         r0 = 4;
    0x00001e62 ldr.w r5, [pc, 0x8f4]                         |         
    0x00001e66 mov r8, r6                                    |         r8 = r6;
    0x00001e68 add r2, pc                                    |         r2 = 0x45bc;
    0x00001e6a str r4, [sp, 8]                               |         var_8h_2 = r4;
    0x00001e6c add r1, pc                                    |         r1 = 0x45c4;
    0x00001e6e adds r2, 7                                    |         r2 += 7;
    0x00001e70 add r5, pc                                    |         r5 = 0x45ce;
    0x00001e72 str r1, [sp, 4]                               |         var_4h = r1;
    0x00001e74 str r5, [sp]                                  |         *(sp) = r5;
    0x00001e76 mov r1, r6                                    |         r1 = r6;
    0x00001e78 blx 0x12b4                                    |         log_internal ();
    0x00001e7c ldr r0, [r7, 0x2c]                            |         r0 = *((r7 + 0x2c));
    0x00001e7e b 0x1d5a                                      |         goto label_1;
                                                             |     }
    0x00001e80 ldr.w r6, [pc, 0x8d8]                         |     
    0x00001e84 add.w r2, r7, 0x24                            |     r2 = r7 + 0x24;
    0x00001e88 str r0, [sp, 4]                               |     var_4h = r0;
    0x00001e8a str r2, [sp]                                  |     *(sp) = r2;
    0x00001e8c mov r2, r0                                    |     r2 = r0;
    0x00001e8e add r6, pc                                    |     r6 = 0x45ee;
    0x00001e90 str r0, [r7, 8]                               |     *((r7 + 8)) = r0;
    0x00001e92 mov r1, r6                                    |     r1 = r6;
    0x00001e94 mov r0, sb                                    |     r0 = sb;
    0x00001e96 blx 0x11f4                                    |     r0 = fstab_filter_options ();
    0x00001e9a subs.w r8, r0, 0                              |     r8 = r0 - 0;
    0x00001e9e ldr r3, [r7, 8]                               |     r3 = *((r7 + 8));
                                                             |     if (r8 < r0) {
    0x00001ea0 blt.w 0x1ff8                                  |         goto label_33;
                                                             |     }
    0x00001ea4 add.w r2, r7, 0x28                            |     r2 = r7 + 0x28;
    0x00001ea8 str r3, [sp, 4]                               |     var_4h = r3;
    0x00001eaa str r2, [sp]                                  |     *(sp) = r2;
    0x00001eac add.w r1, r6, 0x18                            |     r1 = r6 + 0x18;
    0x00001eae lsls r0, r3, 4                                |     r0 = r3 << 4;
    0x00001eb0 mov r2, r3                                    |     r2 = r3;
    0x00001eb2 mov r0, sb                                    |     r0 = sb;
    0x00001eb4 str r3, [r7, 8]                               |     *((r7 + 8)) = r3;
    0x00001eb6 blx 0x11f4                                    |     r0 = fstab_filter_options ();
    0x00001eba subs.w r8, r0, 0                              |     r8 = r0 - 0;
    0x00001ebe ldr r3, [r7, 8]                               |     r3 = *((r7 + 8));
                                                             |     if (r8 < r0) {
    0x00001ec0 blt.w 0x1ff8                                  |         goto label_33;
                                                             |     }
    0x00001ec4 ldr.w r1, [pc, 0x898]                         |     
    0x00001ec8 mov r0, r4                                    |     r0 = r4;
    0x00001eca add r1, pc                                    |     r1 = 0x462e;
    0x00001ecc blx 0x1308                                    |     r0 = path_compare ();
    0x00001ed0 mov r6, r0                                    |     r6 = r0;
    0x00001ed2 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00001ed4 bne 0x1f5c                                    |         goto label_34;
                                                             |     }
    0x00001ed6 ldr r3, [r7, 0x7c]                            |     r3 = *((r7 + 0x7c));
    0x00001ed8 lsls r3, r3, 0x1f                             |     r3 <<= 0x1f;
                                                             |     if (r3 >= r3) {
    0x00001eda bpl.w 0x2052                                  |         goto label_35;
                                                             |     }
    0x00001ede blx 0x10ec                                    |     r0 = log_get_max_level ();
    0x00001ee2 cmp r0, 3                                     |     
                                                             |     if (r0 > 3) {
    0x00001ee4 bgt.w 0x202e                                  |         goto label_36;
                                                             |     }
    0x00001ee8 ldr r3, [r7, 0x7c]                            |     r3 = *((r7 + 0x7c));
    0x00001eea lsls r3, r3, 0x1e                             |     r3 <<= 0x1e;
    0x00001eec bmi 0x1f20                                    |     
                                                             |     while (r6 >= r3) {
                                                             | label_3:
    0x00001eee ldr r3, [r7, 0x7c]                            |         r3 = *((r7 + 0x7c));
    0x00001ef0 lsls r0, r3, 0x1d                             |         r0 = r3 << 0x1d;
                                                             |         if (r0 < r3) {
    0x00001ef2 bpl 0x1f20                                    |             
    0x00001ef4 blx 0x10ec                                    |             r0 = log_get_max_level ();
    0x00001ef8 cmp r0, 3                                     |             
                                                             |             if (r0 <= 3) {
    0x00001efa ble 0x1f20                                    |                 goto label_2;
                                                             |             }
    0x00001efc ldr.w r3, [pc, 0x864]                         |             
    0x00001f00 movs r1, 0                                    |             r1 = 0;
    0x00001f02 ldr.w r2, [pc, 0x864]                         |             
    0x00001f06 movs r0, 4                                    |             r0 = 4;
    0x00001f08 add r3, pc                                    |             r3 = 0x4670;
    0x00001f0a str r3, [sp, 4]                               |             var_4h = r3;
    0x00001f0c add r2, pc                                    |             r2 = 0x467a;
    0x00001f0e ldr.w r3, [pc, 0x85c]                         |             
    0x00001f12 adds r2, 7                                    |             r2 += 7;
    0x00001f14 add r3, pc                                    |             r3 = 0x4686;
    0x00001f16 str r3, [sp]                                  |             *(sp) = r3;
    0x00001f18 movw r3, 0x189                                |             r3 = 0x189;
    0x00001f1c blx 0x12b4                                    |             log_internal ();
                                                             |         }
                                                             | label_2:
    0x00001f20 ldr r3, [r7, 0x24]                            |         r3 = *((r7 + 0x24));
                                                             |         if (r3 != 0) {
    0x00001f22 cbz r3, 0x1f32                                |             
    0x00001f24 ldr r3, [r3]                                  |             r3 = *(r3);
                                                             |             if (r3 == 0) {
    0x00001f26 cbz r3, 0x1f32                                |                 goto label_7;
                                                             |             }
    0x00001f28 blx 0x10ec                                    |             r0 = log_get_max_level ();
    0x00001f2c cmp r0, 3                                     |             
                                                             |             if (r0 > 3) {
    0x00001f2e bgt.w 0x230e                                  |                 goto label_37;
                                                             |             }
                                                             |         }
                                                             | label_7:
    0x00001f32 ldr r6, [r7, 0x28]                            |         r6 = *((r7 + 0x28));
                                                             |         if (r6 != 0) {
    0x00001f34 cbz r6, 0x1f44                                |             
    0x00001f36 ldr r3, [r6]                                  |             r3 = *(r6);
                                                             |             if (r3 == 0) {
    0x00001f38 cbz r3, 0x1f44                                |                 goto label_8;
                                                             |             }
    0x00001f3a blx 0x10ec                                    |             r0 = log_get_max_level ();
    0x00001f3e cmp r0, 3                                     |             
                                                             |             if (r0 > 3) {
    0x00001f40 bgt.w 0x2334                                  |                 goto label_38;
                                                             |             }
                                                             |         }
                                                             | label_8:
    0x00001f44 ldr r3, [r7, 0x7c]                            |         r3 = *((r7 + 0x7c));
    0x00001f46 mov r0, r6                                    |         r0 = r6;
    0x00001f48 bic r3, r3, 7                                 |         r3 = BIT_MASK (r3, 7);
    0x00001f4c str r3, [r7, 0x7c]                            |         *((r7 + 0x7c)) = r3;
    0x00001f4e blx 0x11e8                                    |         strv_free ();
    0x00001f52 str r0, [r7, 0x28]                            |         *((r7 + 0x28)) = r0;
    0x00001f54 ldr r0, [r7, 0x24]                            |         r0 = *((r7 + 0x24));
    0x00001f56 blx 0x11e8                                    |         strv_free ();
    0x00001f5a str r0, [r7, 0x24]                            |         *((r7 + 0x24)) = r0;
                                                             | label_34:
    0x00001f5c ldr.w r1, [pc, 0x810]                         |         
    0x00001f60 add.w r2, r7, 0x18                            |         r2 = r7 + 0x18;
    0x00001f64 mov r0, r4                                    |         r0 = r4;
    0x00001f66 add r1, pc                                    |         r1 = 0x46da;
    0x00001f68 blx 0x10b0                                    |         r0 = unit_name_from_path ();
    0x00001f6c subs.w r8, r0, 0                              |         r8 = r0 - 0;
                                                             |         if (r8 >= r0) {
    0x00001f70 blt 0x2004                                    |             
    0x00001f72 ldr.w r0, [pc, 0x800]                         |             
    0x00001f76 add r0, pc                                    |             r0 = 0x46f0;
    0x00001f78 blx 0x1170                                    |             r0 = secure_getenv ();
    0x00001f7c mov r1, r0                                    |             r1 = r0;
    0x00001f7e cmp r0, 0                                     |             
                                                             |             if (r0 == 0) {
    0x00001f80 beq.w 0x208a                                  |                 goto label_39;
                                                             |             }
                                                             | label_4:
    0x00001f84 add.w r3, r7, 0x2c                            |             r3 = r7 + 0x2c;
    0x00001f88 ldrd r0, r2, [r7, 0x14]                       |             __asm ("ldrd r0, r2, [r7, 0x14]");
    0x00001f8c str r3, [r7, 4]                               |             *((r7 + 4)) = r3;
    0x00001f8e blx 0x1320                                    |             generator_open_unit_file ();
    0x00001f90 strd pc, r1, [r8, 0x2c0]                      |             __asm ("strd pc, r1, [r8, 0x2c0]");
    0x00001f94 lsrs r0, r0, 0x20                             |             r0 >>= 0x20;
                                                             |             if (r0 >= r0) {
    0x00001f96 blt 0x1ffe                                    |                 
    0x00001f98 ldr.w r2, [pc, 0x7dc]                         |                 
    0x00001f9c mov r3, fp                                    |                 r3 = fp;
    0x00001f9e ldr r0, [r7, 0x2c]                            |                 r0 = *((r7 + 0x2c));
    0x00001fa0 movs r1, 1                                    |                 r1 = 1;
    0x00001fa2 add r2, pc                                    |                 r2 = 0x471e;
    0x00001fa4 blx 0x1290                                    |                 fprintf_chk ()
    0x00001fa8 cmp.w sl, 0                                   |                 
                                                             |                 if (sl != 0) {
    0x00001fac beq 0x1fd4                                    |                     
    0x00001fae ldr.w r3, [pc, 0x7cc]                         |                     r3 = *(0x0000277c);
    0x00001fb2 add.w r6, r7, 0x38                            |                     r6 = r7 + 0x38;
    0x00001fb6 add r3, pc                                    |                     r3 += pc;
    0x00001fb8 ldm.w r3, {r0, r1, r2}                        |                     r0 = *(r3);
                                                             |                     r1 = *((r3 + 4));
                                                             |                     r2 = *((r3 + 8));
    0x00001fbc stm.w r6, {r0, r1, r2}                        |                     *(r6) = r0;
                                                             |                     *((r6 + 4)) = r1;
                                                             |                     *((r6 + 8)) = r2;
    0x00001fc0 mov r1, sl                                    |                     r1 = sl;
    0x00001fc2 mov r0, r6                                    |                     r0 = r6;
    0x00001fc4 blx 0x1260                                    |                     r0 = strv_find ();
                                                             |                     if (r0 == 0) {
    0x00001fc8 cbz r0, 0x1fd4                                |                         goto label_9;
                                                             |                     }
    0x00001fca ldr r3, [r7, 0x7c]                            |                     r3 = *((r7 + 0x7c));
    0x00001fcc ands r3, r3, 4                                |                     r3 &= 4;
                                                             |                     if (r3 == r3) {
    0x00001fd0 beq.w 0x235c                                  |                         goto label_40;
                                                             |                     }
                                                             |                 }
                                                             | label_9:
    0x00001fd4 ldr r3, [r7, 0x2c]                            |                 r3 = *((r7 + 0x2c));
    0x00001fd6 str r3, [r7, 8]                               |                 *((r7 + 8)) = r3;
    0x00001fd8 cmp r3, 0                                     |                 
                                                             |                 if (r3 != 0) {
    0x00001fda bne 0x2092                                    |                     goto label_41;
                                                             |                 }
    0x00001fdc ldr.w r1, [pc, 0x7a0]                         |                 
    0x00001fe0 mov.w r2, 0x140                               |                 r2 = 0x140;
    0x00001fe4 ldr.w r3, [pc, 0x79c]                         |                 
    0x00001fe8 ldr.w r0, [pc, 0x79c]                         |                 
    0x00001fec add r1, pc                                    |                 r1 = 0x4770;
    0x00001fee add r3, pc                                    |                 r3 = 0x4776;
    0x00001ff0 adds r1, 7                                    |                 r1 += 7;
    0x00001ff2 add r0, pc                                    |                 r0 = 0x477e;
    0x00001ff4 blx 0x120c                                    |                 log_assert_failed ();
                                                             | label_33:
    0x00001ff8 ldr r0, [r7, 0x2c]                            |                 r0 = *((r7 + 0x2c));
    0x00001ffa mov r6, r3                                    |                 r6 = r3;
    0x00001ffc b 0x1d5a                                      |                 goto label_1;
                                                             |             }
                                                             | label_5:
    0x00001ffe ldr r0, [r7, 0x2c]                            |             r0 = *((r7 + 0x2c));
    0x00002000 movs r6, 0                                    |             r6 = 0;
    0x00002002 b 0x1d5a                                      |             goto label_1;
                                                             |         }
    0x00002004 blx 0x10ec                                    |         r0 = log_get_max_level ();
    0x00002008 cmp r0, 2                                     |         
    0x0000200a ittt le                                       |         
                                                             |         if (r0 <= 2) {
    0x0000200c rsble r8, r8, 0                               |             __asm ("rsble r8, r8, 0");
                                                             |         }
                                                             |         if (r0 <= 2) {
    0x00002010 uxtble r8, r8                                 |             __asm ("uxtble r8, r8");
                                                             |         }
                                                             |         if (r0 <= 2) {
    0x00002014 rsb.w r8, r8, 0                               |             r8 -= ;
                                                             |         }
    0x00002016 lsrs r0, r0, 0x20                             |         r0 >>= 0x20;
                                                             |         if (r0 > r0) {
    0x00002018 bgt.w 0x22e6                                  |             goto label_42;
                                                             |         }
                                                             | label_6:
    0x0000201c cmp.w r8, 0                                   |         
    0x00002020 ldr r0, [r7, 0x2c]                            |         r0 = *((r7 + 0x2c));
    0x00002022 mov.w r6, 0                                   |         r6 = 0;
    0x00002026 it ge                                         |         
                                                             |         if (r8 < 0) {
    0x00002028 mvnge r8, 0x55                                |             r8 = ~0x55;
                                                             |         }
    0x0000202c b 0x1d5a                                      |         goto label_1;
                                                             | label_36:
    0x0000202e ldr.w r3, [pc, 0x75c]                         |         
    0x00002032 mov r1, r6                                    |         r1 = r6;
    0x00002034 ldr.w r2, [pc, 0x758]                         |         
    0x00002038 movs r0, 4                                    |         r0 = 4;
    0x0000203a add r3, pc                                    |         r3 = 0x47cc;
    0x0000203c str r3, [sp, 4]                               |         var_4h = r3;
    0x0000203e add r2, pc                                    |         r2 = 0x47d2;
    0x00002040 ldr.w r3, [pc, 0x750]                         |         
    0x00002044 adds r2, 7                                    |         r2 += 7;
    0x00002046 add r3, pc                                    |         r3 = 0x47de;
    0x00002048 str r3, [sp]                                  |         *(sp) = r3;
    0x0000204a movw r3, 0x185                                |         r3 = 0x185;
    0x0000204c asrs r5, r0, 0xe                              |         r5 = r0 >> 0xe;
    0x0000204e blx 0x12b4                                    |         log_internal ();
                                                             | label_35:
    0x00002052 ldr r3, [r7, 0x7c]                            |         r3 = *((r7 + 0x7c));
    0x00002054 lsls r6, r3, 0x1e                             |         r6 = r3 << 0x1e;
    0x00002056 bpl.w 0x1eee                                  |         
                                                             |     }
    0x0000205a blx 0x10ec                                    |     r0 = log_get_max_level ();
    0x0000205e cmp r0, 3                                     |     
                                                             |     if (r0 <= 3) {
    0x00002060 ble.w 0x1f20                                  |         goto label_2;
                                                             |     }
    0x00002064 ldr.w r3, [pc, 0x730]                         |     
    0x00002068 movs r1, 0                                    |     r1 = 0;
    0x0000206a ldr.w r2, [pc, 0x730]                         |     
    0x0000206e movs r0, 4                                    |     r0 = 4;
    0x00002070 add r3, pc                                    |     r3 = 0x480c;
    0x00002072 str r3, [sp, 4]                               |     var_4h = r3;
    0x00002074 add r2, pc                                    |     r2 = 0x4816;
    0x00002076 ldr.w r3, [pc, 0x728]                         |     
    0x0000207a adds r2, 7                                    |     r2 += 7;
    0x0000207c add r3, pc                                    |     r3 = 0x4822;
    0x0000207e str r3, [sp]                                  |     *(sp) = r3;
    0x00002080 movw r3, 0x187                                |     r3 = 0x187;
    0x00002084 blx 0x12b4                                    |     log_internal ();
    0x00002088 b 0x1eee                                      |     goto label_3;
                                                             | label_39:
    0x0000208a ldr.w r1, [pc, 0x718]                         |     
    0x0000208e add r1, pc                                    |     r1 = 0x4838;
    0x00002090 b 0x1f84                                      |     goto label_4;
                                                             | label_41:
    0x00002092 ldr.w r6, [pc, 0x714]                         |     
    0x00002096 mov r1, sb                                    |     r1 = sb;
    0x00002098 ldr.w r3, [pc, 0x710]                         |     
    0x0000209c ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x0000209e add r6, pc                                    |     r6 = "roothash";
    0x000020a0 add r3, pc                                    |     r3 = 0x4850;
    0x000020a2 add.w r2, r6, 0x38                            |     r2 = r6 + 0x38;
    0x000020a6 bl 0x1ad4                                     |     r0 = fcn_00001ad4 (r0, r1, r2, r3);
    0x000020aa subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x000020ae blt 0x1ffe                                    |         goto label_5;
                                                             |     }
    0x000020b0 ldr.w r3, [pc, 0x6fc]                         |     
    0x000020b4 add.w r2, r6, 0x4c                            |     r2 = r6 + 0x4c;
    0x000020b8 ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x000020ba mov r1, sb                                    |     r1 = sb;
    0x000020bc add r3, pc                                    |     r3 = 0x4870;
    0x000020be bl 0x1ad4                                     |     r0 = fcn_00001ad4 (r0, r1, r2, r3);
    0x000020c2 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x000020c6 blt 0x1ffe                                    |         goto label_5;
                                                             |     }
    0x000020c8 ldr.w r3, [pc, 0x6e8]                         |     
    0x000020cc add.w r2, r6, 0x60                            |     r2 = r6 + 0x60;
    0x000020ce lsls r0, r4, 9                                |     r0 = r4 << 9;
    0x000020d0 ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x000020d2 mov r1, sb                                    |     r1 = sb;
    0x000020d4 add r3, pc                                    |     r3 = 0x488c;
    0x000020d6 bl 0x1ad4                                     |     r0 = fcn_00001ad4 (r0, r1, r2, r3);
    0x000020da subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x000020de blt 0x1ffe                                    |         goto label_5;
                                                             |     }
    0x000020e0 movs r3, 0                                    |     r3 = 0;
    0x000020e2 add.w r2, r7, 0x30                            |     r2 = r7 + 0x30;
    0x000020e6 str r2, [sp]                                  |     *(sp) = r2;
    0x000020e8 add.w r1, r6, 0x74                            |     r1 = r6 + 0x74;
    0x000020ec mov r2, r3                                    |     r2 = r3;
    0x000020ee mov r0, sb                                    |     r0 = sb;
    0x000020f0 str r3, [sp, 4]                               |     var_4h = r3;
    0x000020f2 strd r3, r3, [r7, 0x30]                       |     __asm ("strd r3, r3, [r7, 0x30]");
    0x000020f6 blx 0x11f4                                    |     r0 = fstab_filter_options ();
    0x000020fa subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x000020fe blt.w 0x2472                                  |         goto label_43;
                                                             |     }
                                                             |     if (r8 == r0) {
    0x00002102 beq.w 0x246e                                  |         goto label_44;
                                                             |     }
    0x00002106 ldr r0, [r7, 0x30]                            |     r0 = *((r7 + 0x30));
    0x00002108 add.w r1, r7, 0x34                            |     r1 = r7 + 0x34;
    0x0000210c blx 0x1068                                    |     r0 = specifier_escape_strv ();
    0x00002110 subs.w r8, r0, 0                              |     r8 = r0 - 0;
    0x00002114 mov.w r3, 0                                   |     r3 = 0;
    0x00002116 lsls r0, r0, 0xc                              |     r0 <<= 0xc;
                                                             |     if (r0 < r0) {
    0x00002118 blt.w 0x2576                                  |         goto label_45;
                                                             |     }
    0x0000211c ldr.w r1, [pc, 0x698]                         |     
    0x00002120 mov r2, r3                                    |     r2 = r3;
    0x00002122 ldr r0, [r7, 0x34]                            |     r0 = *((r7 + 0x34));
    0x00002124 add r1, pc                                    |     r1 = 0x48e0;
    0x00002126 blx 0x108c                                    |     strv_join_full ();
    0x0000212a movs r3, 0                                    |     r3 = 0;
    0x0000212c mov r6, r0                                    |     r6 = r0;
    0x0000212e cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00002130 beq.w 0x255e                                  |         goto label_46;
                                                             |     }
    0x00002134 ldr.w r2, [pc, 0x684]                         |     
    0x00002138 mov r8, r3                                    |     r8 = r3;
    0x0000213a ldr r0, [r7, 8]                               |     r0 = *((r7 + 8));
    0x0000213c mov r3, r6                                    |     r3 = r6;
    0x0000213e movs r1, 1                                    |     r1 = 1;
    0x00002140 add r2, pc                                    |     r2 = 0x4900;
    0x00002142 blx 0x1290                                    |     fprintf_chk ()
                                                             | label_12:
    0x00002146 mov r0, r6                                    |     r0 = r6;
    0x00002148 blx 0x1158                                    |     free (r0);
    0x0000214c ldr r0, [r7, 0x34]                            |     r0 = *((r7 + 0x34));
                                                             |     if (r0 != 0) {
    0x0000214e cbz r0, 0x2156                                |         
    0x00002150 blx 0x11e8                                    |         strv_free ();
    0x00002154 str r0, [r7, 0x34]                            |         *((r7 + 0x34)) = r0;
                                                             |     }
    0x00002156 ldr r0, [r7, 0x30]                            |     r0 = *((r7 + 0x30));
                                                             |     if (r0 != 0) {
    0x00002158 cbz r0, 0x215e                                |         
    0x0000215a blx 0x11e8                                    |         strv_free ();
                                                             |     }
    0x0000215e ldr r3, [r7, 0x2c]                            |     r3 = *((r7 + 0x2c));
    0x00002160 cmp.w r8, 0                                   |     
    0x00002164 mov r0, r3                                    |     r0 = r3;
                                                             |     if (r8 < 0) {
    0x00002166 blt.w 0x25a2                                  |         goto label_47;
                                                             |     }
    0x0000216a ldr r2, [r7, 0x7c]                            |     r2 = *((r7 + 0x7c));
    0x0000216c lsls r1, r2, 0x1d                             |     r1 = r2 << 0x1d;
                                                             |     if (r1 == r2) {
    0x0000216e beq.w 0x245a                                  |         goto label_48;
                                                             |     }
                                                             | label_11:
    0x00002172 ldr r2, [r7, 0x78]                            |     r2 = *((r7 + 0x78));
                                                             |     if (r2 == 0) {
    0x00002174 cbz r2, 0x2190                                |         goto label_49;
                                                             |     }
    0x00002176 mov r0, r3                                    |     r0 = r3;
    0x00002178 ldr r1, [r7, 0x14]                            |     r1 = *((r7 + 0x14));
    0x0000217a mov r3, r4                                    |     r3 = r4;
    0x0000217c mov r2, r5                                    |     r2 = r5;
    0x0000217e str.w sl, [sp]                                |     __asm ("str.w sl, [sp]");
    0x00002180 adr r0, 0                                     |     r0 = 0;
    0x00002182 blx 0x12c0                                    |     r0 = generator_write_fsck_deps ();
    0x00002186 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x0000218a blt.w 0x1ffe                                  |         goto label_5;
                                                             |     }
    0x0000218e ldr r3, [r7, 0x2c]                            |     r3 = *((r7 + 0x2c));
                                                             | label_49:
    0x00002190 mov r0, r3                                    |     r0 = r3;
    0x00002192 mov r1, r5                                    |     r1 = r5;
    0x00002194 blx 0x1344                                    |     r0 = generator_write_blockdev_dependency ();
    0x00002198 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x0000219c blt.w 0x1ffe                                  |         goto label_5;
                                                             |     }
    0x000021a0 ldr.w r0, [pc, 0x61c]                         |     
    0x000021a4 movs r2, 9                                    |     r2 = 9;
    0x000021a6 ldr r3, [r7, 0x2c]                            |     r3 = *((r7 + 0x2c));
    0x000021a8 movs r1, 1                                    |     r1 = 1;
    0x000021aa add r0, pc                                    |     r0 = 0x496e;
    0x000021ac blx 0x1254                                    |     fwrite (r0, r1, r2, r3);
    0x000021b0 ldr r3, [r7, 0xc]                             |     r3 = *((r7 + 0xc));
                                                             |     if (r3 != 0) {
    0x000021b2 cbz r3, 0x21c2                                |         
    0x000021b4 ldr.w r2, [pc, 0x60c]                         |         
    0x000021b8 movs r1, 1                                    |         r1 = 1;
    0x000021ba ldr r0, [r7, 0x2c]                            |         r0 = *((r7 + 0x2c));
    0x000021bc add r2, pc                                    |         r2 = "Skipping /usr/ directory handling, as /dev/nfs was requested.";
    0x000021be blx 0x1290                                    |         fprintf_chk ()
    0x000021c0 invalid                                       |         
                                                             |     }
    0x000021c2 ldr.w r3, [pc, 0x604]                         |     
    0x000021c6 mov r0, r4                                    |     r0 = r4;
    0x000021c8 ldr.w r2, [pc, 0x600]                         |     
    0x000021cc add r3, pc                                    |     r3 = 0x499a;
    0x000021ce add r2, pc                                    |     r2 = 0x499e;
    0x000021d0 mov r1, r3                                    |     r1 = r3;
    0x000021d2 str r2, [r7, 0xc]                             |     *((r7 + 0xc)) = r2;
    0x000021d4 str r3, [r7, 8]                               |     *((r7 + 8)) = r3;
    0x000021d6 blx 0x11a0                                    |     r0 = strreplace ();
    0x000021da mov r6, r0                                    |     r6 = r0;
    0x000021dc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000021de beq.w 0x2416                                  |         goto label_50;
                                                             |     }
    0x000021e0 strh r2, [r3, 8]                              |     *((r3 + 8)) = r2;
    0x000021e2 ldr.w r2, [pc, 0x5ec]                         |     
    0x000021e6 mov r3, r0                                    |     r3 = r0;
    0x000021e8 movs r1, 1                                    |     r1 = 1;
    0x000021ea ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x000021ec add r2, pc                                    |     r2 = 0x49c2;
    0x000021ee blx 0x1290                                    |     fprintf_chk ()
    0x000021f0 invalid                                       |     
    0x000021f4 mov r1, r5                                    |     r1 = r5;
    0x000021f6 bl 0x1818                                     |     r0 = fcn_00001818 (r0, r1);
    0x000021fa subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x000021fe blt 0x22e2                                    |         goto label_13;
                                                             |     }
    0x00002200 cmp.w sl, 0                                   |     
                                                             |     if (sl != 0) {
    0x00002204 beq 0x221e                                    |         
    0x00002206 ldrb.w r3, [sl]                               |         r3 = *(sl);
                                                             |         if (r3 == 0) {
    0x0000220a cbz r3, 0x221e                                |             goto label_10;
                                                             |         }
    0x0000220c ldr.w r1, [pc, 0x5c4]                         |         
    0x00002210 mov r0, sl                                    |         r0 = sl;
    0x00002212 add r1, pc                                    |         r1 = 0x49ea;
    0x00002214 blx 0x1368                                    |         strcmp (r0, r1);
    0x00002216 invalid                                       |         
                                                             |         if (r3 != 0) {
    0x0000221a bne.w 0x2432                                  |             goto label_51;
                                                             |         }
                                                             |     }
                                                             | label_10:
    0x0000221e add.w r3, r7, 0x20                            |     r3 = r7 + 0x20;
    0x00002222 ldr r0, [r7, 0x14]                            |     r0 = *((r7 + 0x14));
    0x00002224 str r3, [sp]                                  |     *(sp) = r3;
    0x00002226 mov r2, r4                                    |     r2 = r4;
    0x00002228 mov r3, sb                                    |     r3 = sb;
    0x0000222a mov r1, r5                                    |     r1 = r5;
    0x0000222c blx 0x1110                                    |     r0 = generator_write_timeouts ();
    0x00002230 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x00002234 blt 0x22e2                                    |         goto label_13;
                                                             |     }
    0x00002236 ldr r0, [r7, 0x14]                            |     r0 = *((r7 + 0x14));
    0x00002238 mov r3, sb                                    |     r3 = sb;
    0x0000223a mov r2, r4                                    |     r2 = r4;
    0x0000223c mov r1, r5                                    |     r1 = r5;
    0x0000223e blx 0x132c                                    |     r0 = generator_write_device_deps ();
    0x00002242 subs.w r8, r0, 0                              |     r8 = r0 - 0;
    0x00002244 lsrs r0, r0, 0x20                             |     r0 >>= 0x20;
                                                             |     if (r0 < r0) {
    0x00002246 blt 0x22e2                                    |         goto label_13;
                                                             |     }
    0x00002248 ldr.w r3, [pc, 0x58c]                         |     
    0x0000224c mov r1, r4                                    |     r1 = r4;
    0x0000224e ldr.w r2, [pc, 0x58c]                         |     
    0x00002252 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x00002254 add r3, pc                                    |     r3 = 0x4a30;
    0x00002256 add r2, pc                                    |     r2 = 0x4a38;
    0x00002258 adds r3, 0x94                                 |     r3 += 0x94;
    0x0000225a str r2, [sp]                                  |     *(sp) = r2;
    0x0000225c mov r2, sb                                    |     r2 = sb;
    0x0000225e bl 0x190c                                     |     r0 = fcn_0000190c (r0, r1, r2, r3, r4);
    0x00002262 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x00002266 blt 0x22e2                                    |         goto label_13;
                                                             |     }
    0x00002268 ldr r1, [r7, 0x20]                            |     r1 = *((r7 + 0x20));
    0x0000226a ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x0000226c bl 0x187c                                     |     r0 = fcn_0000187c (r0, r1);
    0x00002270 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x00002274 blt 0x22e2                                    |         goto label_13;
                                                             |     }
    0x00002276 ldr r3, [r7, 0x7c]                            |     r3 = *((r7 + 0x7c));
    0x00002278 lsls r2, r3, 0x1a                             |     r2 = r3 << 0x1a;
                                                             |     if (r2 < r3) {
    0x0000227a bmi.w 0x251a                                  |         goto label_52;
                                                             |     }
    0x0000227e ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x00002280 blx 0x1390                                    |     r0 = fcn_00001390 ();
    0x00002284 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x00002288 blt.w 0x24f8                                  |         goto label_53;
                                                             |     }
    0x0000228a strh r6, [r6, 8]                              |     *((r6 + 8)) = r6;
    0x0000228c ldr r3, [r7, 0x7c]                            |     r3 = *((r7 + 0x7c));
    0x0000228e lsls r3, r3, 0x1c                             |     r3 <<= 0x1c;
                                                             |     if (r3 < r3) {
    0x00002290 bmi.w 0x24e2                                  |         goto label_54;
                                                             |     }
                                                             | label_15:
    0x00002294 ldr r3, [r7, 0x7c]                            |     r3 = *((r7 + 0x7c));
    0x00002296 lsls r0, r3, 0x1b                             |     r0 = r3 << 0x1b;
                                                             |     if (r0 < r3) {
    0x00002298 bmi.w 0x24ce                                  |         goto label_55;
                                                             |     }
                                                             | label_14:
    0x0000229c ldr r3, [r7, 0x7c]                            |     r3 = *((r7 + 0x7c));
    0x0000229e lsls r1, r3, 0x1d                             |     r1 = r3 << 0x1d;
    0x000022a0 and r5, r3, 2                                 |     r5 = r3 & 2;
    0x000022a2 lsls r2, r0, 0x14                             |     r2 = r0 << 0x14;
                                                             |     if (r2 < r0) {
    0x000022a4 bmi.w 0x25b2                                  |         goto label_56;
                                                             |     }
    0x000022a8 lsls r2, r3, 0x1f                             |     r2 = r3 << 0x1f;
    0x000022aa ldr r4, [r7, 0x24]                            |     r4 = *((r7 + 0x24));
                                                             |     if (r2 >= r3) {
    0x000022ac bmi 0x22bc                                    |         
    0x000022ae cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x000022b0 beq.w 0x2652                                  |             goto label_57;
                                                             |         }
    0x000022b4 ldr r3, [r4]                                  |         r3 = *(r4);
    0x000022b6 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x000022b8 beq.w 0x2652                                  |             goto label_57;
                                                             |         }
                                                             |     }
                                                             | label_18:
    0x000022bc ldr.w r5, [pc, 0x520]                         |     
    0x000022c0 add r5, pc                                    |     r5 = 0x4aa4;
                                                             |     do {
    0x000022c2 cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x000022c4 beq.w 0x24aa                                  |             goto label_58;
                                                             |         }
    0x000022c8 ldr r1, [r4], 4                               |         r1 = *(r4);
                                                             |         r4 += 4;
    0x000022cc cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x000022ce beq.w 0x24aa                                  |             goto label_58;
                                                             |         }
    0x000022d2 ldr r3, [r7, 0x18]                            |         r3 = *((r7 + 0x18));
    0x000022d4 mov r2, r5                                    |         r2 = r5;
    0x000022d6 ldr r0, [r7, 0x14]                            |         r0 = *((r7 + 0x14));
    0x000022d8 blx 0x1218                                    |         r0 = generator_add_symlink ();
    0x000022dc subs.w r8, r0, 0                              |         r8 = r0 - 0;
    0x000022e0 bge 0x22c2                                    |         
                                                             |     } while (r8 >= r0);
                                                             | label_13:
    0x000022e2 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x000022e4 b 0x1d5a                                      |     goto label_1;
                                                             | label_42:
    0x000022e6 ldr.w r2, [pc, 0x4fc]                         |     
    0x000022ea mov r1, r8                                    |     r1 = r8;
    0x000022ec ldr.w r5, [pc, 0x4f8]                         |     
    0x000022f0 mov.w r3, 0x196                               |     r3 = 0x196;
    0x000022f4 ldr.w r4, [pc, 0x4f4]                         |     
    0x000022f8 movs r0, 3                                    |     r0 = 3;
    0x000022fa add r2, pc                                    |     r2 = 0x4ae4;
    0x000022fc add r5, pc                                    |     r5 = 0x4ae8;
    0x000022fe adds r2, 7                                    |     r2 += 7;
    0x00002300 add r4, pc                                    |     r4 = 0x4af0;
    0x00002302 strd r4, r5, [sp]                             |     __asm ("strd r4, r5, [sp]");
    0x00002306 blx 0x12b4                                    |     r0 = log_internal ();
    0x0000230a mov r8, r0                                    |     r8 = r0;
    0x0000230c b 0x201c                                      |     goto label_6;
                                                             | label_37:
    0x0000230e ldr.w r3, [pc, 0x4e0]                         |     
    0x00002312 movs r1, 0                                    |     r1 = 0;
    0x00002314 ldr.w r2, [pc, 0x4dc]                         |     
    0x00002316 movs r4, 0xdc                                 |     r4 = 0xdc;
    0x00002318 movs r0, 4                                    |     r0 = 4;
    0x0000231a add r3, pc                                    |     r3 = 0x4b10;
    0x0000231c str r3, [sp, 4]                               |     var_4h = r3;
    0x0000231e add r2, pc                                    |     r2 = 0x4b16;
    0x00002320 ldr.w r3, [pc, 0x4d4]                         |     
    0x00002324 adds r2, 7                                    |     r2 += 7;
    0x00002326 add r3, pc                                    |     r3 = 0x4b22;
    0x00002328 str r3, [sp]                                  |     *(sp) = r3;
    0x0000232a movw r3, 0x18b                                |     r3 = 0x18b;
    0x0000232e blx 0x12b4                                    |     log_internal ();
    0x00002332 b 0x1f32                                      |     goto label_7;
                                                             | label_38:
    0x00002334 ldr.w r3, [pc, 0x4c4]                         |     
    0x00002338 movs r1, 0                                    |     r1 = 0;
    0x0000233a ldr.w r2, [pc, 0x4c4]                         |     
    0x0000233e movs r0, 4                                    |     r0 = 4;
    0x00002340 add r3, pc                                    |     r3 = 0x4b40;
    0x00002342 str r3, [sp, 4]                               |     var_4h = r3;
    0x00002344 add r2, pc                                    |     r2 = 0x4b4a;
    0x00002346 ldr.w r3, [pc, 0x4bc]                         |     
    0x0000234a adds r2, 7                                    |     r2 += 7;
    0x0000234c add r3, pc                                    |     r3 = 0x4b56;
    0x0000234e str r3, [sp]                                  |     *(sp) = r3;
    0x00002350 movw r3, 0x18d                                |     r3 = 0x18d;
    0x00002354 blx 0x12b4                                    |     log_internal ();
    0x00002358 ldr r6, [r7, 0x28]                            |     r6 = *((r7 + 0x28));
    0x0000235a b 0x1f44                                      |     goto label_8;
                                                             | label_40:
    0x0000235c ldr.w r8, [pc, 0x4a8]                         |     
    0x00002360 add.w r2, r7, 0x34                            |     r2 = r7 + 0x34;
    0x00002364 strd r3, r3, [sp]                             |     __asm ("strd r3, r3, [sp]");
    0x00002368 mov r0, sb                                    |     r0 = sb;
    0x0000236a str r3, [r7, 8]                               |     *((r7 + 8)) = r3;
    0x0000236c add r8, pc                                    |     
    0x0000236e add.w r8, r8, 0x30                            |     r8 = 0x4ba8;
    0x00002372 mov r1, r8                                    |     r1 = r8;
    0x00002374 blx 0x11f4                                    |     r0 = fstab_filter_options ();
    0x00002378 cmp r0, 0                                     |     
    0x0000237a ldr r3, [r7, 8]                               |     r3 = *((r7 + 8));
                                                             |     if (r0 < 0) {
    0x0000237c blt.w 0x2496                                  |         goto label_59;
                                                             |     }
    0x00002380 ldr r2, [r7, 0x34]                            |     r2 = *((r7 + 0x34));
    0x00002382 cmp r2, r8                                    |     
                                                             |     if (r2 != r8) {
    0x00002384 bne.w 0x1fd4                                  |         goto label_9;
                                                             |     }
    0x00002388 ldr.w r0, [pc, 0x480]                         |     
    0x0000238c mov r8, r3                                    |     r8 = r3;
    0x0000238e ldr.w r2, [pc, 0x480]                         |     
    0x00002392 str.w sb, [r7, 0x3c]                          |     __asm ("str.w sb, [r7, 0x3c]");
    0x00002396 mov sb, r3                                    |     sb = r3;
    0x00002398 str.w fp, [r7, 8]                             |     __asm ("str.w fp, [r7, 8]");
    0x0000239c add r0, pc                                    |     r0 = "ERRNO=%i";
    0x0000239e mov fp, sl                                    |     
    0x000023a0 mov sl, r4                                    |     sl = r4;
    0x000023a2 mov r4, r3                                    |     r4 = r3;
    0x000023a4 add r2, pc                                    |     r2 = 0x4bba;
    0x000023a6 str r2, [r7, 0x40]                            |     *((r7 + 0x40)) = r2;
                                                             |     do {
    0x000023a8 add.w sb, sb, 1                               |         sb++;
    0x000023ac blx 0x11c4                                    |         strlen (r0);
    0x000023b0 cmp.w sb, 3                                   |         
    0x000023b4 add r8, r0                                    |         r8 += r0;
                                                             |         if (sb == 3) {
    0x000023b6 beq 0x23c0                                    |             goto label_60;
                                                             |         }
    0x000023b8 ldr.w r0, [r6, sb, lsl 2]                     |         offset_0 = sb << 2;
                                                             |         r0 = *((r6 + offset_0));
    0x000023bc cmp r0, 0                                     |         
    0x000023be bne 0x23a8                                    |         
                                                             |     } while (r0 != 0);
                                                             | label_60:
    0x000023c0 add.w r8, r8, 1                               |     r8++;
    0x000023c4 mov r3, r4                                    |     r3 = r4;
    0x000023c6 cmp.w r8, 0x400000                            |     
    0x000023ca mov r4, sl                                    |     r4 = sl;
    0x000023cc mov sl, fp                                    |     sl = fp;
    0x000023ce ldr.w fp, [r7, 8]                             |     fp = *((r7 + 8));
                                                             |     if (r8 > 0x400000) {
    0x000023d2 bhi.w 0x26a6                                  |         goto label_61;
                                                             |     }
    0x000023d6 mov r2, r8                                    |     r2 = r8;
    0x000023d8 ldr.w r1, [pc, 0x438]                         |     
    0x000023dc cmp r2, 1                                     |     
    0x000023de mov r8, r3                                    |     r8 = r3;
    0x000023e0 it lo                                         |     
                                                             |     if (r2 >= 1) {
    0x000023e2 movlo r2, 1                                   |         r2 = 1;
                                                             |     }
    0x000023e4 adds r2, 7                                    |     r2 += 7;
    0x000023e6 add r1, pc                                    |     r1 = 0x4bfe;
    0x000023e8 bic r2, r2, 7                                 |     r2 = BIT_MASK (r2, 7);
    0x000023ec sub.w sp, sp, r2                              |     
    0x000023f0 add.w sb, sp, 0x10                            |     sb += var_10h;
    0x000023f4 mov r0, sb                                    |     r0 = sb;
                                                             |     do {
    0x000023f6 add.w r8, r8, 1                               |         r8++;
    0x000023fa blx 0x111c                                    |         stpcpy ();
    0x000023fe cmp.w r8, 3                                   |         
                                                             |         if (r8 == 3) {
    0x00002402 beq 0x240c                                    |             goto label_62;
                                                             |         }
    0x00002404 ldr.w r1, [r6, r8, lsl 2]                     |         offset_1 = r8 << 2;
                                                             |         r1 = *((r6 + offset_1));
    0x00002408 cmp r1, 0                                     |         
    0x0000240a bne 0x23f6                                    |         
                                                             |     } while (r1 != 0);
                                                             | label_62:
    0x0000240c ldr r3, [r7, 0x7c]                            |     r3 = *((r7 + 0x7c));
    0x0000240e orr r3, r3, 2                                 |     r3 |= 2;
    0x00002412 str r3, [r7, 0x7c]                            |     *((r7 + 0x7c)) = r3;
    0x00002414 b 0x1fd4                                      |     goto label_9;
                                                             | label_50:
    0x00002416 ldr.w r1, [pc, 0x400]                         |     
    0x0000241a movw r2, 0x1cd                                |     r2 = 0x1cd;
    0x0000241e ldr r3, [pc, 0x3fc]                           |     
    0x00002420 movs r0, 3                                    |     r0 = 3;
    0x00002422 add r1, pc                                    |     r1 = "x-systemd.before";
    0x00002424 add r3, pc                                    |     r3 = 0x4c46;
    0x00002426 adds r1, 7                                    |     r1 += 7;
    0x00002428 blx 0x1384                                    |     r0 = fcn_00001384 ();
    0x0000242c mov r8, r0                                    |     r8 = r0;
    0x0000242e ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x00002430 b 0x1d5a                                      |     goto label_1;
                                                             | label_51:
    0x00002432 ldrd r1, r2, [r7, 8]                          |     __asm ("ldrd r1, r2, [r7, 8]");
    0x00002436 mov r0, sl                                    |     r0 = sl;
    0x00002438 blx 0x11a0                                    |     r0 = strreplace ();
    0x0000243c mov r8, r0                                    |     r8 = r0;
    0x0000243e cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00002440 beq.w 0x25a8                                  |         goto label_63;
                                                             |     }
    0x00002444 ldr r2, [pc, 0x3d8]                           |     
    0x00002446 mov r3, r8                                    |     r3 = r8;
    0x00002448 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x0000244a movs r1, 1                                    |     r1 = 1;
    0x0000244c add r2, pc                                    |     r2 = 0x4c70;
    0x0000244e blx 0x1290                                    |     fprintf_chk ()
    0x00002452 mov r0, r8                                    |     r0 = r8;
    0x00002454 blx 0x1158                                    |     free (r0);
    0x00002458 b 0x221e                                      |     goto label_10;
                                                             | label_48:
    0x0000245a ldr r2, [pc, 0x3c8]                           |     
    0x0000245c movs r1, 1                                    |     r1 = 1;
    0x0000245e ldr r3, [r7, 0x10]                            |     r3 = *((r7 + 0x10));
    0x00002460 add r2, pc                                    |     r2 = 0x4c8a;
    0x00002462 blx 0x1290                                    |     fprintf_chk ()
    0x00002466 ldr r3, [r7, 0x2c]                            |     r3 = *((r7 + 0x2c));
    0x00002468 b 0x2172                                      |     goto label_11;
                                                             | label_32:
    0x0000246a blx 0x1284                                    |     stack_chk_fail ();
                                                             |     do {
                                                             | label_44:
    0x0000246e movs r6, 0                                    |         r6 = 0;
    0x00002470 b 0x2146                                      |         goto label_12;
                                                             | label_43:
    0x00002472 blx 0x10ec                                    |         r0 = log_get_max_level ();
    0x00002476 cmp r0, 3                                     |         
                                                             |         if (r0 > 3) {
    0x00002478 bgt.w 0x26bc                                  |             goto label_64;
                                                             |         }
                                                             | label_16:
    0x0000247c rsb.w r8, r8, 0                               |         r8 -= ;
    0x00002480 uxtb.w r8, r8                                 |         r8 = (int8_t) r8;
    0x00002484 rsb.w r8, r8, 0                               |         r8 -= ;
                                                             | label_17:
    0x00002488 cmp.w r8, 0                                   |         
    0x0000248c blt 0x246e                                    |         
                                                             |     } while (r8 < 0);
    0x0000248e movs r6, 0                                    |     r6 = 0;
    0x00002490 mvn r8, 0x55                                  |     r8 = ~0x55;
    0x00002494 b 0x2146                                      |     goto label_12;
                                                             | label_59:
    0x00002496 ldr r1, [pc, 0x390]                           |     
    0x00002498 movs r2, 0x21                                 |     r2 = 0x21;
    0x0000249a ldr r3, [pc, 0x390]                           |     
    0x0000249c ldr r0, [pc, 0x390]                           |     
    0x0000249e add r1, pc                                    |     r1 = 0x4ccc;
    0x000024a0 add r3, pc                                    |     r3 = 0x4cd2;
    0x000024a2 adds r1, 7                                    |     r1 += 7;
    0x000024a4 add r0, pc                                    |     r0 = 0x4cd8;
    0x000024a6 blx 0x120c                                    |     log_assert_failed ();
                                                             | label_58:
    0x000024aa ldr r5, [pc, 0x388]                           |     
    0x000024ac ldr r4, [r7, 0x28]                            |     r4 = *((r7 + 0x28));
    0x000024ae add r5, pc                                    |     r5 = "noauto";
                                                             |     do {
    0x000024b0 cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x000024b2 beq 0x2556                                    |             goto label_65;
                                                             |         }
    0x000024b4 ldr r1, [r4], 4                               |         r1 = *(r4);
                                                             |         r4 += 4;
    0x000024b8 cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x000024ba beq 0x2550                                    |             goto label_66;
                                                             |         }
    0x000024bc ldr r3, [r7, 0x18]                            |         r3 = *((r7 + 0x18));
    0x000024be mov r2, r5                                    |         r2 = r5;
    0x000024c0 ldr r0, [r7, 0x14]                            |         r0 = *((r7 + 0x14));
    0x000024c2 blx 0x1218                                    |         r0 = generator_add_symlink ();
    0x000024c6 subs.w r8, r0, 0                              |         r8 = r0 - 0;
    0x000024ca bge 0x24b0                                    |         
                                                             |     } while (r8 >= r0);
    0x000024cc b 0x22e2                                      |     goto label_13;
                                                             | label_55:
    0x000024ce ldr r2, [r7, 0x10]                            |     r2 = *((r7 + 0x10));
    0x000024d0 mov r1, r4                                    |     r1 = r4;
    0x000024d2 ldr r0, [r7, 0x14]                            |     r0 = *((r7 + 0x14));
    0x000024d4 blx 0x1314                                    |     r0 = generator_hook_up_growfs ();
    0x000024d8 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 >= r0) {
    0x000024dc bge.w 0x229c                                  |         goto label_14;
                                                             |     }
    0x000024de add r6, sp, 0x378                             |     r6 = sp + 0x378;
    0x000024e0 b 0x22e2                                      |     goto label_13;
                                                             | label_54:
    0x000024e2 ldr r0, [r7, 0x14]                            |     r0 = *((r7 + 0x14));
    0x000024e4 mov r3, sl                                    |     r3 = sl;
    0x000024e6 mov r1, r5                                    |     r1 = r5;
    0x000024e8 mov r2, r4                                    |     r2 = r4;
    0x000024ea blx 0x1248                                    |     r0 = generator_hook_up_mkfs ();
    0x000024ee subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 >= r0) {
    0x000024f2 bge.w 0x2294                                  |         goto label_15;
                                                             |     }
    0x000024f6 b 0x22e2                                      |     goto label_13;
                                                             | label_53:
    0x000024f8 blx 0x10ec                                    |     r0 = log_get_max_level ();
    0x000024fc cmp r0, 2                                     |     
                                                             |     if (r0 > 2) {
    0x000024fe bgt 0x252a                                    |         goto label_67;
                                                             |     }
                                                             | label_21:
    0x00002500 rsb.w r8, r8, 0                               |     r8 -= ;
    0x00002504 uxtb.w r8, r8                                 |     r8 = (int8_t) r8;
    0x00002508 rsb.w r8, r8, 0                               |     r8 -= ;
                                                             |     do {
                                                             | label_22:
    0x0000250c cmp.w r8, 0                                   |         
    0x00002510 ldr r0, [r7, 0x2c]                            |         r0 = *((r7 + 0x2c));
    0x00002512 it ge                                         |         
                                                             |         if (r8 < 0) {
    0x00002514 mvnge r8, 0x55                                |             r8 = ~0x55;
                                                             |         }
    0x00002516 lsrs r5, r2, 1                                |         r5 = r2 >> 1;
    0x00002518 b 0x1d5a                                      |         goto label_1;
                                                             | label_52:
    0x0000251a ldr r0, [pc, 0x31c]                           |         
    0x0000251c movs r2, 0x12                                 |         r2 = 0x12;
    0x0000251e ldr r3, [r7, 0x2c]                            |         r3 = *((r7 + 0x2c));
    0x00002520 movs r1, 1                                    |         r1 = 1;
    0x00002522 add r0, pc                                    |         r0 = 0x4d60;
    0x00002524 blx 0x1254                                    |         fwrite (r0, r1, r2, r3);
    0x00002526 cdp p6, 9, c14, c6, c9, 5                     |         __asm ("cdp p6, 9, c14, c6, c9, 5");
                                                             | label_67:
    0x0000252a ldr r2, [pc, 0x310]                           |         
    0x0000252c mov r1, r8                                    |         r1 = r8;
    0x0000252e ldr r3, [pc, 0x310]                           |         
    0x00002530 ldr r4, [pc, 0x310]                           |         
    0x00002532 ldr r0, [r7, 0x18]                            |         r0 = *((r7 + 0x18));
    0x00002534 add r2, pc                                    |         r2 = 0x4d76;
    0x00002536 add r3, pc                                    |         r3 = 0x4d7c;
    0x00002538 adds r2, 7                                    |         r2 += 7;
    0x0000253a add r4, pc                                    |         r4 = 0x4d82;
    0x0000253c strd r3, r0, [sp, 4]                          |         __asm ("strd r3, r0, [sp, 4]");
    0x00002540 movw r3, 0x1f3                                |         r3 = 0x1f3;
    0x00002544 movs r0, 3                                    |         r0 = 3;
    0x00002546 str r4, [sp]                                  |         *(sp) = r4;
    0x00002548 blx 0x12b4                                    |         r0 = log_internal ();
    0x0000254c mov r8, r0                                    |         r8 = r0;
    0x0000254e b 0x250c                                      |         
                                                             |     } while (1);
                                                             | label_66:
    0x00002550 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x00002552 mov r8, r1                                    |     r8 = r1;
    0x00002554 b 0x1d5a                                      |     goto label_1;
                                                             | label_65:
    0x00002556 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x00002558 mov r8, r4                                    |     r8 = r4;
    0x0000255a b.w 0x1d5a                                    |     goto label_1;
                                                             | label_46:
    0x0000255e ldr r1, [pc, 0x2e8]                           |     
    0x00002560 mov.w r2, 0x136                               |     r2 = 0x136;
    0x00002564 ldr r3, [pc, 0x2e4]                           |     
    0x00002566 movs r0, 3                                    |     r0 = 3;
    0x00002568 add r1, pc                                    |     r1 = 0x4db6;
    0x0000256a adds r1, 7                                    |     r1 += 7;
    0x0000256c add r3, pc                                    |     r3 = 0x4dbc;
    0x0000256e blx 0x1384                                    |     r0 = fcn_00001384 ();
    0x00002572 mov r8, r0                                    |     r8 = r0;
    0x00002574 b 0x2146                                      |     goto label_12;
                                                             | label_45:
    0x00002576 blx 0x10ec                                    |     r0 = log_get_max_level ();
    0x0000257a cmp r0, 2                                     |     
                                                             |     if (r0 <= 2) {
    0x0000257c ble.w 0x247c                                  |         goto label_16;
                                                             |     }
    0x00002580 ldr r3, [pc, 0x2cc]                           |     
    0x00002582 mov r1, r8                                    |     r1 = r8;
    0x00002584 ldr r2, [pc, 0x2cc]                           |     
    0x00002586 movs r0, 3                                    |     r0 = 3;
    0x00002588 add r3, pc                                    |     r3 = 0x4ddc;
    0x0000258a str r3, [sp, 4]                               |     var_4h = r3;
    0x0000258c add r2, pc                                    |     r2 = 0x4de4;
    0x0000258e ldr r3, [pc, 0x2c8]                           |     
    0x00002590 adds r2, 7                                    |     r2 += 7;
    0x00002592 add r3, pc                                    |     r3 = 0x4df0;
    0x00002594 str r3, [sp]                                  |     *(sp) = r3;
    0x00002596 mov.w r3, 0x132                               |     r3 = 0x132;
    0x0000259a blx 0x12b4                                    |     r0 = log_internal ();
    0x0000259e mov r8, r0                                    |     r8 = r0;
    0x000025a0 b 0x2488                                      |     goto label_17;
                                                             | label_47:
    0x000025a2 movs r6, 0                                    |     r6 = 0;
    0x000025a4 b.w 0x1d5a                                    |     goto label_1;
                                                             | label_63:
    0x000025a8 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x000025aa mvn r8, 0xb                                   |     r8 = ~0xb;
    0x000025ae b.w 0x1d5a                                    |     goto label_1;
                                                             | label_56:
    0x000025b2 ldr r1, [pc, 0x2a8]                           |     
    0x000025b4 add.w r2, r7, 0x1c                            |     r2 = r7 + 0x1c;
    0x000025b8 mov r0, r4                                    |     r0 = r4;
    0x000025ba add r1, pc                                    |     r1 = "add_mount";
    0x000025bc blx 0x10b0                                    |     r0 = unit_name_from_path ();
    0x000025c0 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x000025c4 blt.w 0x26de                                  |         goto label_68;
                                                             |     }
    0x000025c8 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x000025ca blx 0x1074                                    |     safe_fclose ();
    0x000025ce str r0, [r7, 0x2c]                            |     *((r7 + 0x2c)) = r0;
    0x000025d0 ldr r0, [pc, 0x28c]                           |     
    0x000025d2 add r0, pc                                    |     r0 = 0x4e36;
    0x000025d4 blx 0x1170                                    |     r0 = secure_getenv ();
    0x000025d8 mov r1, r0                                    |     r1 = r0;
    0x000025da cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000025dc beq 0x26a0                                    |         goto label_69;
                                                             |     }
                                                             | label_23:
    0x000025de ldr r3, [r7, 4]                               |     r3 = *((r7 + 4));
    0x000025e0 ldr r2, [r7, 0x1c]                            |     r2 = *((r7 + 0x1c));
    0x000025e2 ldr r0, [r7, 0x14]                            |     r0 = *((r7 + 0x14));
    0x000025e4 blx 0x1320                                    |     r0 = generator_open_unit_file ();
    0x000025e8 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x000025ec blt.w 0x22e2                                  |         goto label_13;
                                                             |     }
    0x000025f0 ldr r2, [pc, 0x270]                           |     
    0x000025f2 mov r3, fp                                    |     r3 = fp;
    0x000025f4 movs r1, 1                                    |     r1 = 1;
    0x000025f6 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x000025f8 add r2, pc                                    |     r2 = 0x4e60;
    0x000025fa blx 0x1290                                    |     fprintf_chk ()
    0x000025fe ldr r2, [pc, 0x268]                           |     
    0x00002600 mov r3, r6                                    |     r3 = r6;
    0x00002602 movs r1, 1                                    |     r1 = 1;
    0x00002604 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x00002606 add r2, pc                                    |     r2 = 0x4e74;
    0x00002608 blx 0x1290                                    |     fprintf_chk ()
    0x0000260c ldr r3, [pc, 0x25c]                           |     
    0x0000260e mov r2, sb                                    |     r2 = sb;
    0x00002610 ldr r0, [pc, 0x25c]                           |     
    0x00002612 mov r1, r4                                    |     r1 = r4;
    0x00002614 add r3, pc                                    |     r3 = 0x4e84;
    0x00002616 add r0, pc                                    |     r0 = 0x4e8a;
    0x00002618 adds r3, 0xb0                                 |     r3 += 0xb0;
    0x0000261a str r0, [sp]                                  |     *(sp) = r0;
    0x0000261c ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x0000261e bl 0x190c                                     |     r0 = fcn_0000190c (r0, r1, r2, r3, r4);
    0x00002622 subs.w r8, r0, 0                              |     r8 = r0 - 0;
    0x00002626 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
                                                             |     if (r8 < r0) {
    0x00002628 blt.w 0x1d5a                                  |         goto label_1;
                                                             |     }
    0x0000262c blx 0x1390                                    |     r0 = fcn_00001390 ();
    0x00002630 subs.w r8, r0, 0                              |     r8 = r0 - 0;
                                                             |     if (r8 < r0) {
    0x00002634 blt 0x2670                                    |         goto label_70;
                                                             |     }
                                                             |     if (r5 != 0) {
    0x00002636 cbnz r5, 0x266a                               |         goto label_71;
                                                             |     }
    0x00002638 ldr r2, [pc, 0x238]                           |     
    0x0000263a add r2, pc                                    |     r2 = 0x4eb2;
                                                             | label_20:
    0x0000263c ldr r3, [r7, 0x1c]                            |     r3 = *((r7 + 0x1c));
                                                             | label_19:
    0x0000263e ldrd r1, r0, [r7, 0x10]                       |     __asm ("ldrd r1, r0, [r7, 0x10]");
    0x00002642 blx 0x1218                                    |     r0 = generator_add_symlink ();
    0x00002646 mov r8, r0                                    |     r8 = r0;
    0x00002648 ldr r0, [r7, 0x2c]                            |     r0 = *((r7 + 0x2c));
    0x0000264a and.w r8, r8, r8, asr 31                      |     r8 &= (r8 >> 31);
    0x0000264e b.w 0x1d5a                                    |     goto label_1;
                                                             | label_57:
    0x00002652 ldr r3, [r7, 0x28]                            |     r3 = *((r7 + 0x28));
                                                             |     if (r3 == 0) {
    0x00002654 cbz r3, 0x265e                                |         goto label_72;
                                                             |     }
    0x00002656 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00002658 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000265a bne.w 0x22bc                                  |         goto label_18;
                                                             |     }
                                                             | label_72:
    0x0000265e cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00002660 beq 0x270a                                    |         goto label_73;
                                                             |     }
    0x00002662 ldr r2, [pc, 0x214]                           |     
    0x00002664 add r2, pc                                    |     r2 = 0x4ee2;
                                                             | label_24:
    0x00002666 ldr r3, [r7, 0x18]                            |     r3 = *((r7 + 0x18));
    0x00002668 b 0x263e                                      |     goto label_19;
                                                             | label_71:
    0x0000266a ldr r2, [pc, 0x210]                           |     
    0x0000266c add r2, pc                                    |     r2 = 0x4eee;
    0x0000266e b 0x263c                                      |     goto label_20;
                                                             | label_70:
    0x00002670 blx 0x10ec                                    |     r0 = log_get_max_level ();
    0x00002674 cmp r0, 2                                     |     
                                                             |     if (r0 <= 2) {
    0x00002676 ble.w 0x2500                                  |         goto label_21;
                                                             |     }
    0x0000267a ldr r2, [pc, 0x204]                           |     
    0x0000267c mov r1, r8                                    |     r1 = r8;
    0x0000267e ldr r3, [pc, 0x204]                           |     
    0x00002680 ldr r5, [pc, 0x204]                           |     
    0x00002682 ldr r0, [r7, 0x1c]                            |     r0 = *((r7 + 0x1c));
    0x00002684 add r2, pc                                    |     r2 = 0x4f0a;
    0x00002686 add r3, pc                                    |     r3 = 0x4f10;
    0x00002688 adds r2, 7                                    |     r2 += 7;
    0x0000268a add r5, pc                                    |     r5 = 0x4f16;
    0x0000268c strd r3, r0, [sp, 4]                          |     __asm ("strd r3, r0, [sp, 4]");
    0x00002690 movw r3, 0x233                                |     r3 = 0x233;
    0x00002692 movs r3, 0x33                                 |     r3 = 0x33;
    0x00002694 movs r0, 3                                    |     r0 = 3;
    0x00002696 str r5, [sp]                                  |     *(sp) = r5;
    0x00002698 blx 0x12b4                                    |     r0 = log_internal ();
    0x0000269c mov r8, r0                                    |     r8 = r0;
    0x0000269e b 0x250c                                      |     goto label_22;
                                                             | label_69:
    0x000026a0 ldr r1, [pc, 0x1e8]                           |     
    0x000026a2 add r1, pc                                    |     r1 = 0x4f32;
    0x000026a4 b 0x25de                                      |     goto label_23;
                                                             | label_61:
    0x000026a6 ldr r1, [pc, 0x1e8]                           |     
    0x000026a8 mov.w r2, 0x1ac                               |     r2 = 0x1ac;
    0x000026ac ldr r3, [pc, 0x1e4]                           |     
    0x000026ae ldr r0, [pc, 0x1e8]                           |     
    0x000026b0 add r1, pc                                    |     r1 = 0x4f46;
    0x000026b2 add r3, pc                                    |     r3 = 0x4f4a;
    0x000026b4 adds r1, 7                                    |     r1 += 7;
    0x000026b6 add r0, pc                                    |     r0 = 0x4f54;
    0x000026b8 blx 0x120c                                    |     log_assert_failed ();
                                                             | label_64:
    0x000026bc ldr r3, [pc, 0x1dc]                           |     
    0x000026be mov r1, r8                                    |     r1 = r8;
    0x000026c0 ldr r2, [pc, 0x1dc]                           |     
    0x000026c2 movs r0, 4                                    |     r0 = 4;
    0x000026c4 add r3, pc                                    |     r3 = 0x4f64;
    0x000026c6 str r3, [sp, 4]                               |     var_4h = r3;
    0x000026c8 add r2, pc                                    |     r2 = 0x4f6c;
    0x000026ca ldr r3, [pc, 0x1d8]                           |     
    0x000026cc adds r2, 7                                    |     r2 += 7;
    0x000026ce add r3, pc                                    |     r3 = 0x4f78;
    0x000026d0 str r3, [sp]                                  |     *(sp) = r3;
    0x000026d2 mov.w r3, 0x12c                               |     r3 = 0x12c;
    0x000026d6 blx 0x12b4                                    |     r0 = log_internal ();
    0x000026da mov r8, r0                                    |     r8 = r0;
    0x000026dc b 0x2488                                      |     goto label_17;
                                                             | label_68:
    0x000026de blx 0x10ec                                    |     r0 = log_get_max_level ();
    0x000026e2 cmp r0, 2                                     |     
                                                             |     if (r0 <= 2) {
    0x000026e4 ble.w 0x2500                                  |         goto label_21;
                                                             |     }
    0x000026e8 ldr r2, [pc, 0x1bc]                           |     
    0x000026ea mov r1, r8                                    |     r1 = r8;
    0x000026ec ldr r4, [pc, 0x1bc]                           |     
    0x000026ee movw r3, 0x219                                |     r3 = 0x219;
    0x000026f2 ldr r0, [pc, 0x1bc]                           |     
    0x000026f4 add r2, pc                                    |     r2 = 0x4fa0;
    0x000026f6 add r4, pc                                    |     r4 = 0x4fa6;
    0x000026f8 adds r2, 7                                    |     r2 += 7;
    0x000026fa add r0, pc                                    |     r0 = 0x4fb0;
    0x000026fc strd r0, r4, [sp]                             |     __asm ("strd r0, r4, [sp]");
    0x00002700 movs r0, 3                                    |     r0 = 3;
    0x00002702 blx 0x12b4                                    |     r0 = log_internal ();
    0x00002706 mov r8, r0                                    |     r8 = r0;
    0x00002708 b 0x250c                                      |     goto label_22;
                                                             | label_73:
    0x0000270a ldr r2, [pc, 0x1a8]                           |     
    0x0000270c add r2, pc                                    |     r2 = 0x4fc6;
    0x0000270e b 0x2666                                      |     goto label_24;
                                                             | }

[*] Function fprintf used 12 times systemd-fstab-generator