[*] Binary protection state of libsystemd.so.0.34.0

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


[*] Function fprintf tear down of libsystemd.so.0.34.0

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libsystemd.so.0.34.0 @ 0x6e17c */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.0006e17c ()                                      | void fcn_0006e17c (int16_t arg_150h, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_8h_2;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_14h;
                                                                 |     int32_t var_14h_2;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_24h;
                                                                 |     void * big;
                                                                 |     int16_t var_124h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x0006e17c svcmi 0xf0e92d                                    |     __asm ("svcmi aav.0x000000ff");
    0x0006e180 sub sp, 0x12c                                     |     
    0x0006e182 strd r1, r2, [sp, 0x14]                           |     __asm ("strd r1, r2, [var_14h]");
    0x0006e186 mov r4, r3                                        |     r4 = r3;
    0x0006e188 ands sl, r4, 0x40                                 |     sl = r4 & 0x40;
    0x0006e18c mov r6, r0                                        |     r6 = r0;
    0x0006e18e ldr.w r2, [pc, 0x5b8]                             |     r2 = *(0x0006e748);
    0x0006e192 it ne                                             |     
                                                                 |     if (sl == r4) {
    0x0006e194 movne sb, 3                                       |         sb = 3;
                                                                 |     }
    0x0006e198 ldr.w r3, [pc, 0x5b0]                             |     
    0x0006e19c it eq                                             |     
                                                                 |     if (sl != r4) {
    0x0006e19e moveq sb, 7                                       |         sb = 7;
                                                                 |     }
    0x0006e1a2 ldr.w r5, [pc, 0x5ac]                             |     r5 = *(0x0006e750);
    0x0006e1a6 add r2, pc                                        |     r2 += pc;
    0x0006e1a8 ldr.w r8, [sp, 0x150]                             |     r8 = *(arg_150h);
    0x0006e1ac ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0006e1ae add r5, pc                                        |     r5 += pc;
    0x0006e1b0 ldr r3, [r3]                                      |     r3 = *(0x6e74c);
    0x0006e1b2 str r3, [sp, 0x124]                               |     var_124h = r3;
    0x0006e1b4 mov.w r3, 0                                       |     r3 = 0;
    0x0006e1b8 bl 0x6d754                                        |     fcn_0006d754 (r0);
    0x0006e1bc lsls r2, r4, 0x13                                 |     r2 = r4 << 0x13;
    0x0006e1be mov fp, r0                                        |     
                                                                 |     if (r2 < r4) {
    0x0006e1c0 bmi.w 0x6e3f0                                     |         goto label_20;
                                                                 |     }
                                                                 | label_3:
    0x0006e1c4 ands r7, r4, 5                                    |     r7 = r4 & 5;
                                                                 |     if (r7 != r4) {
    0x0006e1c8 bne.w 0x6e39e                                     |         goto label_21;
                                                                 |     }
    0x0006e1cc ands r5, r4, 0x80                                 |     r5 = r4 & 0x80;
    0x0006e1d0 itt eq                                            |     
                                                                 |     if (r5 != r4) {
    0x0006e1d2 streq r5, [sp, 0x10]                              |         var_10h = r5;
                                                                 |     }
                                                                 |     if (r5 != r4) {
    0x0006e1d4 streq r5, [sp, 0x1c]                              |         var_1ch = r5;
                                                                 |     }
                                                                 |     if (r5 != r4) {
    0x0006e1d6 bne.w 0x6e33e                                     |         goto label_22;
                                                                 |     }
                                                                 | label_2:
    0x0006e1da tst.w r4, 0x2100                                  |     
                                                                 |     if ((r4 & 0x2100) != 0) {
    0x0006e1de bne 0x6e2a2                                       |         goto label_23;
                                                                 |     }
    0x0006e1e0 blx 0xf020                                        |     r0 = fcn_0000f020 ();
    0x0006e1e4 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 < r0) {
    0x0006e1e6 blt.w 0x6e378                                     |         goto label_24;
                                                                 |     }
                                                                 |     if (r7 != r0) {
    0x0006e1ea bne 0x6e2c4                                       |         goto label_25;
                                                                 |     }
                                                                 | label_10:
    0x0006e1ec ands r5, r4, 0x20                                 |     r5 = r4 & 0x20;
                                                                 |     if (r5 != r4) {
    0x0006e1f0 bne.w 0x6e444                                     |         goto label_26;
                                                                 |     }
                                                                 |     if (r6 != 0) {
    0x0006e1f4 cbz r6, 0x6e214                                   |         
                                                                 | label_5:
    0x0006e1f6 mov r0, r6                                        |         r0 = r6;
    0x0006e1f8 bl 0x6dcec                                        |         r0 = fcn_0006dcec (r0, r1);
    0x0006e1fc subs r6, r0, 0                                    |         r6 = r0 - 0;
                                                                 |         if (r6 >= r0) {
    0x0006e1fe bge 0x6e214                                       |             goto label_6;
                                                                 |         }
    0x0006e200 cmp.w sl, 0                                       |         
    0x0006e204 ite ne                                            |         
                                                                 |         if (sl == 0) {
    0x0006e206 movne r7, 4                                       |             r7 = 4;
                                                                 |         }
                                                                 |         if (sl != 0) {
    0x0006e208 moveq r7, 7                                       |             r7 = 7;
                                                                 |         }
    0x0006e20a bl 0x68450                                        |         r0 = fcn_00068450 ();
    0x0006e20e cmp r0, r7                                        |         
                                                                 |         if (r0 >= r7) {
    0x0006e210 bge.w 0x6e64e                                     |             goto label_27;
                                                                 |         }
                                                                 |     }
                                                                 | label_6:
    0x0006e214 tst.w r4, 0xc                                     |     
                                                                 |     if ((r4 & 0xc) != 0) {
    0x0006e218 beq 0x6e232                                       |         
    0x0006e21a tst.w r4, 8                                       |         
    0x0006e21e mov.w r0, 1                                       |         r0 = 1;
    0x0006e222 ite ne                                            |         
                                                                 |         if ((r4 & 8) == 0) {
    0x0006e224 movne r1, 2                                       |             r1 = 2;
                                                                 |         }
                                                                 |         if ((r4 & 8) != 0) {
    0x0006e226 moveq r1, 0xf                                     |             r1 = 0xf;
                                                                 |         }
    0x0006e228 blx 0xef94                                        |         r0 = fork ();
    0x0006e22c cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0006e22e blt.w 0x6e674                                     |             goto label_28;
                                                                 |         }
                                                                 |     }
    0x0006e232 ands r2, r4, 1                                    |     r2 = r4 & 1;
                                                                 |     if (r2 != r4) {
    0x0006e236 bne.w 0x6e406                                     |         goto label_29;
                                                                 |     }
    0x0006e23a ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0006e23c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0006e23e bne.w 0x6e59c                                     |         goto label_30;
                                                                 |     }
                                                                 | label_4:
    0x0006e242 lsls r6, r4, 0x1d                                 |     r6 = r4 << 0x1d;
                                                                 |     if (r6 < r4) {
    0x0006e244 bmi.w 0x6e57c                                     |         goto label_31;
                                                                 |     }
                                                                 | label_14:
    0x0006e248 mvns r2, r4                                       |     r2 = ~r4;
    0x0006e24a ands r2, r2, 0x300                                |     r2 &= 0x300;
                                                                 |     if (r2 == r2) {
    0x0006e24e beq.w 0x6e536                                     |         goto label_32;
                                                                 |     }
                                                                 | label_13:
    0x0006e252 lsls r0, r4, 0x1e                                 |     r0 = r4 << 0x1e;
                                                                 |     if (r0 < r4) {
    0x0006e254 bmi.w 0x6e48a                                     |         goto label_33;
                                                                 |     }
                                                                 | label_8:
    0x0006e258 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0006e25a bne.w 0x6e52a                                     |         goto label_34;
                                                                 |     }
                                                                 | label_12:
    0x0006e25e lsls r1, r4, 0x1b                                 |     r1 = r4 << 0x1b;
                                                                 |     if (r1 < r4) {
    0x0006e260 bmi.w 0x6e4ee                                     |         goto label_35;
                                                                 |     }
    0x0006e264 lsls r2, r4, 0x14                                 |     r2 = r4 << 0x14;
                                                                 |     if (r2 < r4) {
    0x0006e266 bmi.w 0x6e5d8                                     |         goto label_36;
                                                                 |     }
                                                                 | label_11:
    0x0006e26a lsls r3, r4, 0x15                                 |     r3 = r4 << 0x15;
                                                                 |     if (r3 < r4) {
    0x0006e26c bmi.w 0x6e456                                     |         goto label_37;
                                                                 |     }
                                                                 | label_7:
    0x0006e270 cmp.w r8, 0                                       |     
                                                                 |     if (r8 != 0) {
    0x0006e274 beq 0x6e27e                                       |         
    0x0006e276 bl 0x6d754                                        |         fcn_0006d754 (r0);
    0x0006e27a str.w r0, [r8]                                    |         __asm ("str.w r0, [r8]");
                                                                 |     }
    0x0006e27e movs r4, 0                                        |     r4 = 0;
                                                                 |     do {
                                                                 | label_0:
    0x0006e280 ldr.w r2, [pc, 0x4d0]                             |         
    0x0006e284 ldr.w r3, [pc, 0x4c4]                             |         r3 = *(0x6e74c);
    0x0006e288 add r2, pc                                        |         r2 = 0xdc9e0;
    0x0006e28a ldr r3, [r2, r3]                                  |         r3 = *(0xdc9e0);
    0x0006e28c ldr r2, [r3]                                      |         r2 = *(0xdc9e0);
    0x0006e28e ldr r3, [sp, 0x124]                               |         r3 = var_124h;
    0x0006e290 eors r2, r3                                       |         r2 ^= r3;
    0x0006e292 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x0006e296 bne.w 0x6e6dc                                     |             goto label_38;
                                                                 |         }
    0x0006e29a mov r0, r4                                        |         r0 = r4;
    0x0006e29c add sp, 0x12c                                     |         
    0x0006e29e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_23:
    0x0006e2a2 lsls r1, r4, 9                                    |         r1 = r4 << 9;
    0x0006e2a4 lsls r3, r4, 0xf                                  |         r3 = r4 << 0xf;
    0x0006e2a6 and r1, r1, 0x20000                               |         r1 &= 0x20000;
    0x0006e2aa and r3, r3, 0x10000000                            |         r3 &= 0x10000000;
    0x0006e2ae orrs r1, r3                                       |         r1 |= r3;
    0x0006e2b0 movs r2, 0                                        |         r2 = 0;
    0x0006e2b2 orr r1, r1, 0x11                                  |         r1 |= 0x11;
    0x0006e2b6 movs r0, 0x78                                     |         r0 = 0x78;
    0x0006e2b8 blx 0xf294                                        |         r0 = fcn_0000f294 ();
    0x0006e2bc subs r7, r0, 0                                    |         r7 = r0 - 0;
                                                                 |         if (r7 == r0) {
    0x0006e2be beq.w 0x6e4e8                                     |             goto label_39;
                                                                 |         }
                                                                 |         if (r7 < r0) {
    0x0006e2c2 blt 0x6e378                                       |             goto label_24;
                                                                 |         }
                                                                 | label_25:
    0x0006e2c4 bl 0x68450                                        |         r0 = fcn_00068450 ();
    0x0006e2c8 cmp r0, 6                                         |         
                                                                 |         if (r0 > 6) {
    0x0006e2ca ble 0x6e2fc                                       |             
    0x0006e2cc mov r3, r6                                        |             r3 = r6;
    0x0006e2ce cmp r6, 0                                         |             
                                                                 |             if (r6 == 0) {
    0x0006e2d0 beq.w 0x6e688                                     |                 goto label_40;
                                                                 |             }
                                                                 | label_16:
    0x0006e2d4 strd r3, r7, [sp, 8]                              |             __asm ("strd r3, r7, [var_8h]");
    0x0006e2d8 movs r1, 0                                        |             r1 = 0;
    0x0006e2da ldr.w r3, [pc, 0x47c]                             |             
    0x0006e2de movs r0, 7                                        |             r0 = 7;
    0x0006e2e0 ldr.w r2, [pc, 0x478]                             |             
    0x0006e2e4 add r3, pc                                        |             r3 = 0xdca42;
    0x0006e2e6 str r3, [sp, 4]                                   |             var_4h = r3;
    0x0006e2e8 add r2, pc                                        |             r2 = 0xdca48;
    0x0006e2ea ldr.w r3, [pc, 0x474]                             |             
    0x0006e2ee adds r2, 7                                        |             r2 += 7;
    0x0006e2f0 add r3, pc                                        |             r3 = 0xdca56;
    0x0006e2f2 str r3, [sp]                                      |             *(sp) = r3;
    0x0006e2f4 movw r3, 0x4f2                                    |             r3 = 0x4f2;
    0x0006e2f8 bl 0x68ca8                                        |             fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
                                                                 |         }
    0x0006e2fc lsls r3, r4, 0x18                                 |         r3 = r4 << 0x18;
                                                                 |         if (r3 < r4) {
    0x0006e2fe bpl 0x6e322                                       |             
    0x0006e300 ldr r3, [sp, 0x10]                                |             r3 = var_10h;
    0x0006e302 cmp r3, 0                                         |             
                                                                 |             if (r3 != 0) {
    0x0006e304 bne.w 0x6e614                                     |                 goto label_41;
                                                                 |             }
                                                                 | label_15:
    0x0006e308 cmp.w sl, 0                                       |             
    0x0006e30c mov r0, r6                                        |             r0 = r6;
    0x0006e30e ite eq                                            |             
                                                                 |             if (sl != 0) {
    0x0006e310 moveq r2, sl                                      |                 r2 = sl;
                                                                 |             }
                                                                 |             if (sl == 0) {
    0x0006e312 movne r2, 3                                       |                 r2 = 3;
                                                                 |             }
    0x0006e314 mov r1, r7                                        |             r1 = r7;
    0x0006e316 bl 0x6d8fc                                        |             r0 = fcn_0006d8fc (r0, r1, r2);
    0x0006e31a subs r4, r0, 0                                    |             r4 = r0 - 0;
                                                                 |             if (r4 < r0) {
    0x0006e31c blt 0x6e32e                                       |                 goto label_1;
                                                                 |             }
                                                                 |             if (r4 != r0) {
    0x0006e31e bne.w 0x6e66e                                     |                 goto label_42;
                                                                 |             }
                                                                 |         }
    0x0006e322 cmp.w r8, 0                                       |         
                                                                 |         if (r8 != 0) {
    0x0006e326 beq 0x6e32c                                       |             
    0x0006e328 str.w r7, [r8]                                    |             __asm ("str.w r7, [r8]");
                                                                 |         }
    0x0006e32c movs r4, 1                                        |         r4 = 1;
                                                                 | label_1:
    0x0006e32e cmp r5, 0                                         |         
    0x0006e330 beq 0x6e280                                       |         
                                                                 |     } while (r5 == 0);
    0x0006e332 movs r2, 0                                        |     r2 = 0;
    0x0006e334 mov r1, r5                                        |     r1 = r5;
    0x0006e336 movs r0, 2                                        |     r0 = 2;
    0x0006e338 blx 0xed24                                        |     fprintf_chk ()
    0x0006e33c b 0x6e280                                         |     goto label_0;
                                                                 | label_22:
    0x0006e33e add r5, sp, 0xa4                                  |     r5 += big;
    0x0006e340 mov r0, r5                                        |     r0 = r5;
    0x0006e342 blx 0xdfb0                                        |     r0 = sigemptyset ();
    0x0006e346 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x0006e348 blt.w 0x6e638                                     |         goto label_43;
                                                                 |     }
    0x0006e34c movs r1, 0x11                                     |     r1 = 0x11;
    0x0006e34e mov r0, r5                                        |     r0 = r5;
    0x0006e350 blx 0xe9b8                                        |     r0 = memmem (r0, r1, r2, r3);
    0x0006e354 cmp r0, 0                                         |     
    0x0006e356 it ge                                             |     
                                                                 |     if (r0 < 0) {
    0x0006e358 strge r7, [sp, 0x10]                              |         var_10h = r7;
                                                                 |     }
                                                                 |     if (r0 < 0) {
    0x0006e35a bge 0x6e3b2                                       |         
    0x0006e35c ldr.w r1, [pc, 0x404]                             |         
    0x0006e360 movw r2, 0x4dd                                    |         r2 = 0x4dd;
    0x0006e364 ldr.w r3, [pc, 0x400]                             |         r3 = *(0x0006e768);
    0x0006e368 ldr.w r0, [pc, 0x400]                             |         r0 = *(0x0006e76c);
    0x0006e36c add r1, pc                                        |         r1 = 0xdcad4;
    0x0006e36e add r3, pc                                        |         r3 += pc;
    0x0006e370 adds r1, 7                                        |         r1 += 7;
    0x0006e372 add r0, pc                                        |         r0 += pc;
    0x0006e374 bl 0x68d78                                        |         r0 = fcn_00068d78 (r0, r1, r2, r3);
                                                                 | label_24:
    0x0006e378 blx 0xf3c0                                        |         r0 = fcn_0000f3c0 ();
    0x0006e37c ldr r4, [r0]                                      |         r4 = *(r0);
    0x0006e37e bl 0x68450                                        |         r0 = fcn_00068450 ();
    0x0006e382 cmp r0, sb                                        |         
                                                                 |         if (r0 >= sb) {
    0x0006e384 bge.w 0x6e4c6                                     |             goto label_44;
                                                                 |         }
    0x0006e388 cmp r4, 0                                         |         
    0x0006e38a it lt                                             |         
                                                                 |         if (r4 < 0) {
    0x0006e38c rsblt r4, r4, 0                                   |             __asm ("rsblt r4, r4, 0");
                                                                 |         }
    0x0006e38e bic r4, r4, 0x40000000                            |         r4 = BIT_MASK (r4, 0x40000000);
    0x0006e392 rsbs r4, r4, 0                                    |         r4 -= ;
                                                                 | label_9:
    0x0006e394 cmp r4, 0                                         |         
    0x0006e396 it ge                                             |         
                                                                 |         if (r4 < 0) {
    0x0006e398 mvnge r4, 0x55                                    |             r4 = ~0x55;
                                                                 |         }
    0x0006e39c b 0x6e32e                                         |         goto label_1;
                                                                 | label_21:
    0x0006e39e add r5, sp, 0xa4                                  |         r5 += big;
    0x0006e3a0 mov r0, r5                                        |         r0 = r5;
    0x0006e3a2 blx 0xeef4                                        |         r0 = fcn_0000eef4 ();
    0x0006e3a6 cmp r0, 0                                         |         
    0x0006e3a8 itt ge                                            |         
                                                                 |         if (r0 < 0) {
    0x0006e3aa movge r3, 1                                       |             r3 = 1;
                                                                 |         }
                                                                 |         if (r0 < 0) {
    0x0006e3ac strge r3, [sp, 0x10]                              |             var_10h = r3;
                                                                 |         }
                                                                 |         if (r0 < 0) {
    0x0006e3ae blt.w 0x6e6b0                                     |             goto label_45;
                                                                 |         }
                                                                 |     }
    0x0006e3b2 mov r1, r5                                        |     r1 = r5;
    0x0006e3b4 add r5, sp, 0x24                                  |     r5 += var_24h;
    0x0006e3b6 mov r2, r5                                        |     r2 = r5;
    0x0006e3b8 movs r0, 2                                        |     r0 = 2;
    0x0006e3ba blx 0xed24                                        |     r0 = fprintf_chk ()
    0x0006e3be cmp r0, 0                                         |     
    0x0006e3c0 itt ge                                            |     
                                                                 |     if (r0 < 0) {
    0x0006e3c2 movge r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r0 >= 0) {
    0x0006e3c4 strge r3, [sp, 0x1c]                              |         var_1ch = r3;
                                                                 |         goto label_46;
                                                                 |     }
                                                                 |     if (r0 >= 0) {
                                                                 | label_46:
    0x0006e3c6 bge.w 0x6e1da                                     |         goto label_2;
                                                                 |     }
    0x0006e3ca blx 0xf3c0                                        |     r0 = fcn_0000f3c0 ();
    0x0006e3ce ldr r4, [r0]                                      |     r4 = *(r0);
    0x0006e3d0 bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e3d4 cmp r0, sb                                        |     
                                                                 |     if (r0 >= sb) {
    0x0006e3d6 bge.w 0x6e68e                                     |         goto label_47;
                                                                 |     }
    0x0006e3da cmp r4, 0                                         |     
    0x0006e3dc it lt                                             |     
                                                                 |     if (r4 < 0) {
    0x0006e3de rsblt r4, r4, 0                                   |         __asm ("rsblt r4, r4, 0");
                                                                 |     }
    0x0006e3e0 bic r4, r4, 0x40000000                            |     r4 = BIT_MASK (r4, 0x40000000);
    0x0006e3e4 rsbs r4, r4, 0                                    |     r4 -= ;
                                                                 | label_17:
    0x0006e3e6 cmp r4, 0                                         |     
    0x0006e3e8 it ge                                             |     
                                                                 |     if (r4 < 0) {
    0x0006e3ea mvnge r4, 0x55                                    |         r4 = ~0x55;
                                                                 |     }
    0x0006e3ee b 0x6e280                                         |     goto label_0;
                                                                 | label_20:
    0x0006e3f0 ldr r3, [pc, 0x37c]                               |     r3 = *(0x6e770);
    0x0006e3f2 ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0006e3f4 ldr r0, [r3]                                      |     r0 = *(0x6e770);
    0x0006e3f6 blx 0xe75c                                        |     fcn_0000e75c ();
    0x0006e3fa ldr r3, [pc, 0x378]                               |     r3 = *(0x6e776);
    0x0006e3fc ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x0006e3fe ldr r0, [r3]                                      |     r0 = *(0x6e776);
    0x0006e400 blx 0xe75c                                        |     fcn_0000e75c ();
    0x0006e404 b 0x6e1c4                                         |     goto label_3;
                                                                 | label_29:
    0x0006e406 bl 0x6ef84                                        |     r0 = fcn_0006ef84 ();
    0x0006e40a subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x0006e40c blt.w 0x6e700                                     |         goto label_48;
                                                                 |     }
    0x0006e410 bl 0x6efd8                                        |     r0 = fcn_0006efd8 ();
    0x0006e414 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 >= r0) {
    0x0006e416 bge.w 0x6e242                                     |         goto label_4;
                                                                 |     }
    0x0006e41a bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e41e cmp r0, sb                                        |     
                                                                 |     if (r0 < sb) {
    0x0006e420 blt.w 0x6e682                                     |         goto label_18;
                                                                 |     }
    0x0006e424 ldr r2, [pc, 0x350]                               |     
    0x0006e426 mov r1, r6                                        |     r1 = r6;
    0x0006e428 ldr r4, [pc, 0x350]                               |     
    0x0006e42a mov r0, sb                                        |     r0 = sb;
    0x0006e42c ldr r3, [pc, 0x350]                               |     
    0x0006e42e add r2, pc                                        |     r2 = 0xdcbaa;
    0x0006e430 add r4, pc                                        |     r4 = 0xdcbb0;
    0x0006e432 adds r2, 7                                        |     r2 += 7;
    0x0006e434 add r3, pc                                        |     r3 = 0xdcbb8;
    0x0006e436 strd r3, r4, [sp]                                 |     __asm ("strd r3, r4, [sp]");
    0x0006e43a movw r3, 0x52b                                    |     r3 = 0x52b;
    0x0006e43e bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e442 b 0x6e682                                         |     goto label_18;
                                                                 | label_26:
    0x0006e444 bl 0x683f4                                        |     fcn_000683f4 ();
    0x0006e448 movs r0, 1                                        |     r0 = 1;
    0x0006e44a bl 0x696c8                                        |     fcn_000696c8 (r0);
    0x0006e44e cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0006e450 bne.w 0x6e1f6                                     |         goto label_5;
                                                                 |     }
    0x0006e454 b 0x6e214                                         |     goto label_6;
                                                                 | label_37:
    0x0006e456 bl 0x6edd4                                        |     r0 = fcn_0006edd4 ();
    0x0006e45a subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 >= r0) {
    0x0006e45c bge.w 0x6e270                                     |         goto label_7;
                                                                 |     }
    0x0006e460 bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e464 cmp r0, sb                                        |     
                                                                 |     if (r0 < sb) {
    0x0006e466 blt.w 0x6e682                                     |         goto label_18;
                                                                 |     }
    0x0006e46a ldr r2, [pc, 0x318]                               |     
    0x0006e46c mov r1, r4                                        |     r1 = r4;
    0x0006e46e ldr r5, [pc, 0x318]                               |     
    0x0006e470 mov r0, sb                                        |     r0 = sb;
    0x0006e472 ldr r3, [pc, 0x318]                               |     
    0x0006e474 add r2, pc                                        |     r2 = 0xdcbfe;
    0x0006e476 add r5, pc                                        |     r5 = 0xdcc04;
    0x0006e478 adds r2, 7                                        |     r2 += 7;
    0x0006e47a add r3, pc                                        |     r3 = 0xdcc0c;
    0x0006e47c strd r3, r5, [sp]                                 |     __asm ("strd r3, r5, [sp]");
    0x0006e480 mov.w r3, 0x570                                   |     r3 = 0x570;
    0x0006e484 bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e488 b 0x6e682                                         |     goto label_18;
                                                                 | label_33:
    0x0006e48a bl 0x683f4                                        |     fcn_000683f4 ();
    0x0006e48e ldrd r0, r1, [sp, 0x14]                           |     __asm ("ldrd r0, r1, [var_14h]");
    0x0006e492 bl 0x61ff4                                        |     r0 = fcn_00061ff4 (r0, r1);
    0x0006e496 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 >= r0) {
    0x0006e498 bge.w 0x6e258                                     |         goto label_8;
                                                                 |     }
    0x0006e49c bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e4a0 cmp r0, sb                                        |     
                                                                 |     if (r0 < sb) {
    0x0006e4a2 blt.w 0x6e682                                     |         goto label_18;
                                                                 |     }
    0x0006e4a6 ldr r2, [pc, 0x2e8]                               |     
    0x0006e4a8 mov r1, r6                                        |     r1 = r6;
    0x0006e4aa ldr r4, [pc, 0x2e8]                               |     
    0x0006e4ac mov r0, sb                                        |     r0 = sb;
    0x0006e4ae ldr r3, [pc, 0x2e8]                               |     
    0x0006e4b0 add r2, pc                                        |     r2 = 0xdcc46;
    0x0006e4b2 add r4, pc                                        |     r4 = 0xdcc4c;
    0x0006e4b4 adds r2, 7                                        |     r2 += 7;
    0x0006e4b6 add r3, pc                                        |     r3 = 0xdcc54;
    0x0006e4b8 strd r3, r4, [sp]                                 |     __asm ("strd r3, r4, [sp]");
    0x0006e4bc movw r3, 0x554                                    |     r3 = 0x554;
    0x0006e4c0 bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e4c4 b 0x6e682                                         |     goto label_18;
                                                                 | label_44:
    0x0006e4c6 ldr r3, [pc, 0x2d4]                               |     
    0x0006e4c8 mov r1, r4                                        |     r1 = r4;
    0x0006e4ca ldr r2, [pc, 0x2d4]                               |     
    0x0006e4cc mov r0, sb                                        |     r0 = sb;
    0x0006e4ce add r3, pc                                        |     r3 = 0xdcc70;
    0x0006e4d0 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0006e4d2 add r2, pc                                        |     r2 = 0xdcc78;
    0x0006e4d4 ldr r3, [pc, 0x2cc]                               |     
    0x0006e4d6 adds r2, 7                                        |     r2 += 7;
    0x0006e4d8 add r3, pc                                        |     r3 = 0xdcc80;
    0x0006e4da str r3, [sp]                                      |     *(sp) = r3;
    0x0006e4dc movw r3, 0x4ee                                    |     r3 = 0x4ee;
    0x0006e4e0 bl 0x68ca8                                        |     r0 = fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e4e4 mov r4, r0                                        |     r4 = r0;
    0x0006e4e6 b 0x6e394                                         |     goto label_9;
                                                                 | label_39:
    0x0006e4e8 bl 0x6d4a4                                        |     fcn_0006d4a4 ();
    0x0006e4ec b 0x6e1ec                                         |     goto label_10;
                                                                 | label_35:
    0x0006e4ee mov.w r2, -1                                      |     r2 = -1;
    0x0006e4f2 mov r1, r2                                        |     r1 = r2;
    0x0006e4f4 mov r0, r2                                        |     r0 = r2;
    0x0006e4f6 bl 0x624e4                                        |     r0 = fcn_000624e4 (r0, r1, r2, r3, r4);
    0x0006e4fa subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 >= r0) {
    0x0006e4fc bge.w 0x6e26a                                     |         goto label_11;
                                                                 |     }
    0x0006e500 bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e504 cmp r0, sb                                        |     
                                                                 |     if (r0 < sb) {
    0x0006e506 blt.w 0x6e682                                     |         goto label_18;
                                                                 |     }
    0x0006e50a ldr r2, [pc, 0x29c]                               |     
    0x0006e50c mov r1, r5                                        |     r1 = r5;
    0x0006e50e ldr r4, [pc, 0x29c]                               |     
    0x0006e510 mov r0, sb                                        |     r0 = sb;
    0x0006e512 ldr r3, [pc, 0x29c]                               |     
    0x0006e514 add r2, pc                                        |     r2 = 0xdccc2;
    0x0006e516 add r4, pc                                        |     r4 = 0xdccc8;
    0x0006e518 adds r2, 7                                        |     r2 += 7;
    0x0006e51a add r3, pc                                        |     r3 = 0xdccd0;
    0x0006e51c strd r3, r4, [sp]                                 |     __asm ("strd r3, r4, [sp]");
    0x0006e520 movw r3, 0x562                                    |     r3 = 0x562;
    0x0006e524 bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e528 b 0x6e682                                         |     goto label_18;
                                                                 | label_34:
    0x0006e52a bl 0x680b4                                        |     fcn_000680b4 ();
    0x0006e52e movs r0, 0                                        |     r0 = 0;
    0x0006e530 bl 0x696c8                                        |     fcn_000696c8 (r0);
    0x0006e534 b 0x6e25e                                         |     goto label_12;
                                                                 | label_32:
    0x0006e536 ldr r1, [pc, 0x27c]                               |     
    0x0006e538 mov.w r3, 0x84000                                 |     r3 = 0x84000;
    0x0006e53c mov r0, r2                                        |     r0 = r2;
    0x0006e53e str r2, [sp]                                      |     *(sp) = r2;
    0x0006e540 add r1, pc                                        |     r1 = 0xdccfa;
    0x0006e542 blx 0xec64                                        |     r0 = fcn_0000ec64 ();
    0x0006e546 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0006e548 bge.w 0x6e252                                     |         goto label_13;
                                                                 |     }
    0x0006e54c blx 0xf3c0                                        |     r0 = fcn_0000f3c0 ();
    0x0006e550 ldr r5, [r0]                                      |     r5 = *(r0);
    0x0006e552 bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e556 cmp r0, sb                                        |     
                                                                 |     if (r0 < sb) {
    0x0006e558 blt.w 0x6e682                                     |         goto label_18;
                                                                 |     }
    0x0006e55c ldr r2, [pc, 0x258]                               |     
    0x0006e55e mov r1, r5                                        |     r1 = r5;
    0x0006e560 ldr r4, [pc, 0x258]                               |     
    0x0006e562 mov r0, sb                                        |     r0 = sb;
    0x0006e564 ldr r3, [pc, 0x258]                               |     
    0x0006e566 add r2, pc                                        |     r2 = 0xdcd22;
    0x0006e568 add r4, pc                                        |     r4 = 0xdcd28;
    0x0006e56a adds r2, 7                                        |     r2 += 7;
    0x0006e56c add r3, pc                                        |     r3 = 0xdcd30;
    0x0006e56e strd r3, r4, [sp]                                 |     __asm ("strd r3, r4, [sp]");
    0x0006e572 movw r3, 0x549                                    |     r3 = 0x549;
    0x0006e576 bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e57a b 0x6e682                                         |     goto label_18;
                                                                 | label_31:
    0x0006e57c blx 0xe964                                        |     r0 = sigaddset ();
    0x0006e580 cmp r0, 0                                         |     
    0x0006e582 it ne                                             |     
                                                                 |     if (r0 == 0) {
    0x0006e584 cmpne fp, r0                                      |         __asm ("cmpne fp, r0");
                                                                 |         goto label_49;
                                                                 |     }
                                                                 |     if (r0 == 0) {
                                                                 | label_49:
    0x0006e586 beq.w 0x6e248                                     |         goto label_14;
                                                                 |     }
    0x0006e58a bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e58e cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x0006e590 bgt.w 0x6e728                                     |         goto label_50;
                                                                 |     }
                                                                 | label_19:
    0x0006e594 movs r0, 0xf                                      |     r0 = 0xf;
    0x0006e596 blx 0xea24                                        |     pwrite64 ();
    0x0006e59a b 0x6e682                                         |     goto label_18;
                                                                 | label_30:
    0x0006e59c add r1, sp, 0x24                                  |     r1 += var_24h;
    0x0006e59e movs r0, 2                                        |     r0 = 2;
    0x0006e5a0 blx 0xed24                                        |     r0 = fprintf_chk ()
    0x0006e5a4 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0006e5a6 bge.w 0x6e242                                     |         goto label_4;
                                                                 |     }
    0x0006e5aa blx 0xf3c0                                        |     r0 = fcn_0000f3c0 ();
    0x0006e5ae ldr r5, [r0]                                      |     r5 = *(r0);
    0x0006e5b0 bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e5b4 cmp r0, sb                                        |     
                                                                 |     if (r0 < sb) {
    0x0006e5b6 blt 0x6e682                                       |         goto label_18;
                                                                 |     }
    0x0006e5b8 ldr r2, [pc, 0x208]                               |     
    0x0006e5ba mov r1, r5                                        |     r1 = r5;
    0x0006e5bc ldr r4, [pc, 0x208]                               |     
    0x0006e5be mov r0, sb                                        |     r0 = sb;
    0x0006e5c0 ldr r3, [pc, 0x208]                               |     
    0x0006e5c2 add r2, pc                                        |     r2 = 0xdcd8a;
    0x0006e5c4 add r4, pc                                        |     r4 = 0xdcd90;
    0x0006e5c6 adds r2, 7                                        |     r2 += 7;
    0x0006e5c8 add r3, pc                                        |     r3 = 0xdcd98;
    0x0006e5ca strd r3, r4, [sp]                                 |     __asm ("strd r3, r4, [sp]");
    0x0006e5ce mov.w r3, 0x530                                   |     r3 = 0x530;
    0x0006e5d2 bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e5d6 b 0x6e682                                         |     goto label_18;
                                                                 | label_36:
    0x0006e5d8 movs r1, 1                                        |     r1 = 1;
    0x0006e5da movs r0, 2                                        |     r0 = 2;
    0x0006e5dc blx 0xef30                                        |     r0 = fcn_0000ef30 ();
    0x0006e5e0 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0006e5e2 bge.w 0x6e26a                                     |         goto label_11;
                                                                 |     }
    0x0006e5e6 blx 0xf3c0                                        |     r0 = fcn_0000f3c0 ();
    0x0006e5ea ldr r5, [r0]                                      |     r5 = *(r0);
    0x0006e5ec bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e5f0 cmp r0, sb                                        |     
                                                                 |     if (r0 < sb) {
    0x0006e5f2 blt 0x6e682                                       |         goto label_18;
                                                                 |     }
    0x0006e5f4 ldr r2, [pc, 0x1d8]                               |     
    0x0006e5f6 mov r1, r5                                        |     r1 = r5;
    0x0006e5f8 ldr r4, [pc, 0x1d8]                               |     
    0x0006e5fa mov r0, sb                                        |     r0 = sb;
    0x0006e5fc ldr r3, [pc, 0x1d8]                               |     
    0x0006e5fe add r2, pc                                        |     r2 = 0xdcdd2;
    0x0006e600 add r4, pc                                        |     r4 = 0xdcdd8;
    0x0006e602 adds r2, 7                                        |     r2 += 7;
    0x0006e604 add r3, pc                                        |     r3 = 0xdcde0;
    0x0006e606 strd r3, r4, [sp]                                 |     __asm ("strd r3, r4, [sp]");
    0x0006e60a mov.w r3, 0x568                                   |     r3 = 0x568;
    0x0006e60e bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e612 b 0x6e682                                         |     goto label_18;
                                                                 | label_41:
    0x0006e614 add r4, sp, 0xa4                                  |     r4 += big;
    0x0006e616 movs r2, 0x80                                     |     r2 = 0x80;
    0x0006e618 add r1, sp, 0x24                                  |     r1 += var_24h;
    0x0006e61a mov r0, r4                                        |     r0 = r4;
    0x0006e61c blx 0xe8b0                                        |     fcn_0000e8b0 ();
    0x0006e620 movs r1, 0x11                                     |     r1 = 0x11;
    0x0006e622 mov r0, r4                                        |     r0 = r4;
    0x0006e624 blx 0xe9b8                                        |     r0 = memmem (r0, r1, r2, r3);
    0x0006e628 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x0006e62a blt 0x6e6c6                                       |         goto label_51;
                                                                 |     }
    0x0006e62c mov r1, r4                                        |     r1 = r4;
    0x0006e62e movs r2, 0                                        |     r2 = 0;
    0x0006e630 movs r0, 2                                        |     r0 = 2;
    0x0006e632 blx 0xed24                                        |     fprintf_chk ()
    0x0006e636 b 0x6e308                                         |     goto label_15;
                                                                 | label_43:
    0x0006e638 ldr r1, [pc, 0x1a0]                               |     
    0x0006e63a movw r2, 0x4dc                                    |     r2 = 0x4dc;
    0x0006e63e ldr r3, [pc, 0x1a0]                               |     
    0x0006e640 ldr r0, [pc, 0x1a0]                               |     
    0x0006e642 add r1, pc                                        |     r1 = 0xdce22;
    0x0006e644 add r3, pc                                        |     r3 = 0xdce2a;
    0x0006e646 adds r1, 7                                        |     r1 += 7;
    0x0006e648 add r0, pc                                        |     r0 = 0xdce30;
    0x0006e64a bl 0x68d78                                        |     fcn_00068d78 (r0, r1, r2, r3);
                                                                 | label_27:
    0x0006e64e ldr r3, [pc, 0x198]                               |     
    0x0006e650 mov r1, r6                                        |     r1 = r6;
    0x0006e652 ldr r2, [pc, 0x198]                               |     
    0x0006e654 mov r0, r7                                        |     r0 = r7;
    0x0006e656 add r3, pc                                        |     r3 = 0xdce44;
    0x0006e658 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0006e65a add r2, pc                                        |     r2 = 0xdce4c;
    0x0006e65c ldr r3, [pc, 0x190]                               |     
    0x0006e65e adds r2, 7                                        |     r2 += 7;
    0x0006e660 add r3, pc                                        |     r3 = 0xdce54;
    0x0006e662 str r3, [sp]                                      |     *(sp) = r3;
    0x0006e664 movw r3, 0x517                                    |     r3 = 0x517;
    0x0006e668 bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e66c b 0x6e214                                         |     goto label_6;
                                                                 | label_42:
    0x0006e66e mvn r4, 0x46                                      |     r4 = ~0x46;
    0x0006e672 b 0x6e32e                                         |     goto label_1;
                                                                 | label_28:
    0x0006e674 blx 0xf3c0                                        |     r0 = fcn_0000f3c0 ();
    0x0006e678 ldr r5, [r0]                                      |     r5 = *(r0);
    0x0006e67a bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e67e cmp r0, sb                                        |     
    0x0006e680 bge 0x6e6e0                                       |     
                                                                 |     while (1) {
                                                                 | label_18:
    0x0006e682 movs r0, 1                                        |         r0 = 1;
    0x0006e684 blx 0xe578                                        |         fcn_0000e578 ();
                                                                 | label_40:
    0x0006e688 ldr r3, [pc, 0x168]                               |         
    0x0006e68a add r3, pc                                        |         r3 = 0xdce82;
    0x0006e68c b 0x6e2d4                                         |         goto label_16;
                                                                 | label_47:
    0x0006e68e ldr r2, [pc, 0x168]                               |         
    0x0006e690 mov r1, r4                                        |         r1 = r4;
    0x0006e692 ldr r5, [pc, 0x168]                               |         
    0x0006e694 mov r0, sb                                        |         r0 = sb;
    0x0006e696 ldr r3, [pc, 0x168]                               |         
    0x0006e698 add r2, pc                                        |         r2 = 0xdce96;
    0x0006e69a add r5, pc                                        |         r5 = 0xdce9c;
    0x0006e69c adds r2, 7                                        |         r2 += 7;
    0x0006e69e add r3, pc                                        |         r3 = 0xdcea4;
    0x0006e6a0 strd r3, r5, [sp]                                 |         __asm ("strd r3, r5, [sp]");
    0x0006e6a4 movw r3, 0x4e3                                    |         r3 = 0x4e3;
    0x0006e6a8 bl 0x68ca8                                        |         r0 = fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e6ac mov r4, r0                                        |         r4 = r0;
    0x0006e6ae b 0x6e3e6                                         |         goto label_17;
                                                                 | label_45:
    0x0006e6b0 ldr r1, [pc, 0x150]                               |         
    0x0006e6b2 movw r2, 0x4d6                                    |         r2 = 0x4d6;
    0x0006e6b6 ldr r3, [pc, 0x150]                               |         
    0x0006e6b8 ldr r0, [pc, 0x150]                               |         
    0x0006e6ba add r1, pc                                        |         r1 = 0xdcec2;
    0x0006e6bc add r3, pc                                        |         r3 = 0xdceca;
    0x0006e6be adds r1, 7                                        |         r1 += 7;
    0x0006e6c0 add r0, pc                                        |         r0 = 0xdced0;
    0x0006e6c2 bl 0x68d78                                        |         fcn_00068d78 (r0, r1, r2, r3);
                                                                 | label_51:
    0x0006e6c6 ldr r1, [pc, 0x148]                               |         
    0x0006e6c8 mov.w r2, 0x4f8                                   |         r2 = 0x4f8;
    0x0006e6cc ldr r3, [pc, 0x144]                               |         
    0x0006e6ce ldr r0, [pc, 0x148]                               |         
    0x0006e6d0 add r1, pc                                        |         r1 = 0xdcee6;
    0x0006e6d2 add r3, pc                                        |         r3 = 0xdceea;
    0x0006e6d4 adds r1, 7                                        |         r1 += 7;
    0x0006e6d6 add r0, pc                                        |         r0 = 0xdcef4;
    0x0006e6d8 bl 0x68d78                                        |         r0 = fcn_00068d78 (r0, r1, r2, r3);
                                                                 | label_38:
    0x0006e6dc blx 0xed3c                                        |         strnlen ();
    0x0006e6e0 ldr r2, [pc, 0x138]                               |         
    0x0006e6e2 mov r1, r5                                        |         r1 = r5;
    0x0006e6e4 ldr r4, [pc, 0x138]                               |         
    0x0006e6e6 mov r0, sb                                        |         r0 = sb;
    0x0006e6e8 ldr r3, [pc, 0x138]                               |         
    0x0006e6ea add r2, pc                                        |         r2 = 0xdcf0a;
    0x0006e6ec add r4, pc                                        |         r4 = 0xdcf10;
    0x0006e6ee adds r2, 7                                        |         r2 += 7;
    0x0006e6f0 add r3, pc                                        |         r3 = 0xdcf18;
    0x0006e6f2 strd r3, r4, [sp]                                 |         __asm ("strd r3, r4, [sp]");
    0x0006e6f6 movw r3, 0x51d                                    |         r3 = 0x51d;
    0x0006e6fa bl 0x68ca8                                        |         fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e6fe b 0x6e682                                         |         
                                                                 |     }
                                                                 | label_48:
    0x0006e700 bl 0x68450                                        |     r0 = fcn_00068450 ();
    0x0006e704 cmp r0, sb                                        |     
                                                                 |     if (r0 < sb) {
    0x0006e706 blt 0x6e682                                       |         goto label_18;
                                                                 |     }
    0x0006e708 ldr r2, [pc, 0x11c]                               |     
    0x0006e70a mov r1, r6                                        |     r1 = r6;
    0x0006e70c ldr r4, [pc, 0x11c]                               |     
    0x0006e70e mov r0, sb                                        |     r0 = sb;
    0x0006e710 ldr r3, [pc, 0x11c]                               |     
    0x0006e712 add r2, pc                                        |     r2 = 0xdcf3e;
    0x0006e714 add r4, pc                                        |     r4 = 0xdcf44;
    0x0006e716 adds r2, 7                                        |     r2 += 7;
    0x0006e718 add r3, pc                                        |     r3 = 0xdcf4c;
    0x0006e71a strd r3, r4, [sp]                                 |     __asm ("strd r3, r4, [sp]");
    0x0006e71e movw r3, 0x524                                    |     r3 = 0x524;
    0x0006e722 bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e726 b 0x6e682                                         |     goto label_18;
                                                                 | label_50:
    0x0006e728 ldr r2, [pc, 0x108]                               |     
    0x0006e72a movw r3, 0x53e                                    |     r3 = 0x53e;
    0x0006e72e ldr r4, [pc, 0x108]                               |     
    0x0006e730 movs r1, 0                                        |     r1 = 0;
    0x0006e732 ldr r0, [pc, 0x108]                               |     
    0x0006e734 add r2, pc                                        |     r2 = 0xdcf6c;
    0x0006e736 add r4, pc                                        |     r4 = 0xdcf74;
    0x0006e738 adds r2, 7                                        |     r2 += 7;
    0x0006e73a add r0, pc                                        |     r0 = 0xdcf7c;
    0x0006e73c strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x0006e740 movs r0, 7                                        |     r0 = 7;
    0x0006e742 bl 0x68ca8                                        |     fcn_00068ca8 (r0, r1, r2, r3, r4, r5, r6);
    0x0006e746 b 0x6e594                                         |     goto label_19;
                                                                 | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libsystemd.so.0.34.0 @ 0x6efd8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0006efd8 ()              | void fcn_0006efd8 () {
                                         |     int16_t var_4h;
                                         |     int16_t var_84h;
    0x0006efd8 ldr r2, [pc, 0x78]        |     
    0x0006efda ldr r3, [pc, 0x7c]        |     r3 = *(0x6f05a);
    0x0006efdc push {r4, lr}             |     
    0x0006efde sub sp, 0x88              |     
    0x0006efe0 add r2, pc                |     r2 = 0xde038;
    0x0006efe2 add r4, sp, 4             |     r4 += var_4h;
    0x0006efe4 mov r0, r4                |     r0 = r4;
    0x0006efe6 ldr r3, [r2, r3]          |     
    0x0006efe8 ldr r3, [r3]              |     r3 = *(0xde038);
    0x0006efea str r3, [sp, 0x84]        |     var_84h = r3;
    0x0006efec mov.w r3, 0               |     r3 = 0;
    0x0006eff0 blx 0xdfb0                |     r0 = sigemptyset ();
    0x0006eff4 cmp r0, 0                 |     
                                         |     if (r0 < 0) {
    0x0006eff6 blt 0x6f01e               |         goto label_1;
                                         |     }
    0x0006eff8 movs r2, 0                |     r2 = 0;
    0x0006effa mov r1, r4                |     r1 = r4;
    0x0006effc movs r0, 2                |     r0 = 2;
    0x0006effe blx 0xed24                |     r0 = fprintf_chk ()
    0x0006f002 cmp r0, 0                 |     
                                         |     if (r0 < 0) {
    0x0006f004 blt 0x6f028               |         goto label_2;
                                         |     }
                                         |     do {
                                         | label_0:
    0x0006f006 ldr r2, [pc, 0x54]        |         
    0x0006f008 ldr r3, [pc, 0x4c]        |         r3 = *(0x6f058);
    0x0006f00a add r2, pc                |         r2 = 0xde06c;
    0x0006f00c ldr r3, [r2, r3]          |         r3 = *(0xde06c);
    0x0006f00e ldr r2, [r3]              |         r2 = *(0xde06c);
    0x0006f010 ldr r3, [sp, 0x84]        |         r3 = var_84h;
    0x0006f012 eors r2, r3               |         r2 ^= r3;
    0x0006f014 mov.w r3, 0               |         r3 = 0;
                                         |         if (r2 != r3) {
    0x0006f018 bne 0x6f050               |             goto label_3;
                                         |         }
    0x0006f01a add sp, 0x88              |         
    0x0006f01c pop {r4, pc}              |         
                                         | label_1:
    0x0006f01e blx 0xf3c0                |         r0 = fcn_0000f3c0 ();
    0x0006f022 ldr r0, [r0]              |         r0 = *(r0);
    0x0006f024 rsbs r0, r0, 0            |         r0 -= ;
    0x0006f026 b 0x6f006                 |         
                                         |     } while (1);
                                         | label_2:
    0x0006f028 blx 0xf3c0                |     r0 = fcn_0000f3c0 ();
    0x0006f02c ldr r0, [r0]              |     r0 = *(r0);
    0x0006f02e cmp r0, 0                 |     
    0x0006f030 it gt                     |     
                                         |     if (r0 <= 0) {
    0x0006f032 rsbgt r0, r0, 0           |         __asm ("rsbgt r0, r0, 0");
                                         |         goto label_4;
                                         |     }
                                         |     if (r0 > 0) {
                                         | label_4:
    0x0006f034 bgt 0x6f006               |         goto label_0;
                                         |     }
    0x0006f036 ldr r1, [pc, 0x28]        |     
    0x0006f038 movs r2, 0x1e             |     r2 = 0x1e;
    0x0006f03a ldr r3, [pc, 0x28]        |     
    0x0006f03c ldr r0, [pc, 0x28]        |     
    0x0006f03e add r1, pc                |     r1 = 0xde0a4;
    0x0006f040 add r3, pc                |     r3 = 0xde0aa;
    0x0006f042 adds r1, 7                |     r1 += 7;
    0x0006f044 add r0, pc                |     r0 = 0xde0b0;
    0x0006f046 bl 0x68f74                |     fcn_00068f74 (r0, r1, r2, r3);
    0x0006f04a mvn r0, 0x15              |     r0 = ~0x15;
    0x0006f04e b 0x6f006                 |     goto label_0;
                                         | label_3:
    0x0006f050 blx 0xed3c                |     strnlen ();
                                         |     if (r1 > 7) {
    0x0006f054 bhi 0x6efa0               |         void (*0x6efa0)() ();
                                         |     }
    0x0006f056 movs r2, r0               |     r2 = r0;
    0x0006f058 lsls r4, r6, 0x1c         |     r4 = r6 << 0x1c;
    0x0006f05a movs r0, r0               |     
                                         |     if (r0 > r0) {
    0x0006f05c bhi 0x6f154               |         void (*0x6f154)() ();
                                         |     }
    0x0006f05e movs r2, r0               |     r2 = r0;
    0x0006f060 ldr r6, [r2, 0x30]        |     r6 = *((r2 + 0x30));
    0x0006f062 movs r1, r0               |     r1 = r0;
    0x0006f064 asrs r4, r7, 0x1a         |     r4 = r7 >> 0x1a;
    0x0006f066 movs r2, r0               |     r2 = r0;
    0x0006f068 ldr r4, [r1, 0x34]        |     r4 = *((r1 + 0x34));
    0x0006f06a movs r1, r0               |     r1 = r0;
                                         | }

[*] Function fprintf used 6 times libsystemd.so.0.34.0