[*] Binary protection state of systemd-tty-ask-password-agent

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


[*] Function sprintf tear down of systemd-tty-ask-password-agent

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemd-tty-ask-password-agent @ 0x235c */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.0000235c ()                                      | void fcn_0000235c (int16_t arg_0h, int16_t arg1) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int32_t var_ch_2;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h;
                                                                 |     int32_t var_20h_2;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_3ch;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t var_50h;
                                                                 |     int16_t var_54h;
                                                                 |     int16_t var_5dh;
                                                                 |     int16_t var_5eh;
                                                                 |     size_t n;
                                                                 |     void * var_60h;
                                                                 |     void * ptr;
                                                                 |     int16_t var_68h;
                                                                 |     int16_t var_6ch;
                                                                 |     int16_t var_70h;
                                                                 |     int16_t var_74h;
                                                                 |     int16_t var_7ch;
                                                                 |     int16_t var_80h;
                                                                 |     int32_t var_6h;
                                                                 |     int32_t var_8h_2;
                                                                 |     int32_t var_ch_3;
                                                                 |     int32_t var_eh;
                                                                 |     int16_t var_8ch;
                                                                 |     int16_t var_10ch;
                                                                 |     int16_t var_18ch;
                                                                 |     int16_t var_190h;
                                                                 |     int16_t var_194h;
                                                                 |     void * s;
                                                                 |     int32_t var_19ch;
                                                                 |     int32_t var_19ch_2;
                                                                 |     int16_t var_1a4h;
                                                                 |     int16_t var_1a8h;
                                                                 |     int16_t var_1b0h;
                                                                 |     int16_t var_1b4h;
                                                                 |     int16_t var_1b8h;
                                                                 |     int16_t var_1bch;
                                                                 |     int16_t var_1c4h;
                                                                 |     int16_t var_1c8h;
                                                                 |     int16_t var_1cch;
                                                                 |     int16_t var_1d0h;
                                                                 |     int32_t var_1d8h;
                                                                 |     int32_t var_1d8h_2;
                                                                 |     int16_t var_1e0h;
                                                                 |     int16_t var_1e4h;
                                                                 |     int16_t var_1ech;
                                                                 |     int16_t var_1f0h;
                                                                 |     int16_t var_1f4h;
                                                                 |     int16_t var_1f8h;
                                                                 |     int16_t var_200h;
                                                                 |     int16_t var_204h;
                                                                 |     int16_t var_208h;
                                                                 |     int16_t var_20ch;
                                                                 |     int16_t var_214h;
                                                                 |     int16_t var_22ch;
                                                                 |     int16_t var_234h;
                                                                 |     r0 = arg1;
    0x0000235c push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00002360 sub.w sp, sp, 0x234                               |     
    0x00002364 str r0, [sp, 0x3c]                                |     var_3ch = r0;
    0x00002366 add r1, sp, 0x70                                  |     r1 += var_70h;
    0x00002368 add r4, sp, 0x6c                                  |     r4 += var_6ch;
    0x0000236a movs r3, 0                                        |     r3 = 0;
    0x0000236c ldr.w r0, [pc, 0xb4c]                             |     r0 = *(0x00002ebc);
    0x00002370 ldr.w r2, [pc, 0xb4c]                             |     
    0x00002374 str r1, [sp, 0x28]                                |     var_28h = r1;
    0x00002376 add r0, pc                                        |     r0 += pc;
    0x00002378 str r4, [sp, 0x34]                                |     var_34h = r4;
    0x0000237a ldr r2, [r0, r2]                                  |     r2 = *((r0 + r2));
    0x0000237c mov r0, r3                                        |     r0 = r3;
    0x0000237e ldr.w fp, [pc, 0xb44]                             |     fp = *(0x00002ec4);
    0x00002382 ldr r2, [r2]                                      |     r2 = *(0x2ec0);
    0x00002384 str r2, [sp, 0x22c]                               |     var_22ch = r2;
    0x00002386 mov.w r2, 0                                       |     r2 = 0;
    0x0000238a str r3, [sp, 0x6c]                                |     var_6ch = r3;
    0x0000238c blx 0x1558                                        |     r0 = get_ctty_devnr ();
    0x00002390 adds r1, r0, 6                                    |     r1 = r0 + 6;
    0x00002392 add fp, pc                                        |     
                                                                 |     if (r1 == r0) {
    0x00002394 beq.w 0x2eae                                      |         goto label_37;
                                                                 |     }
    0x00002398 cmp r0, 0                                         |     
    0x0000239a mov r4, r0                                        |     r4 = r0;
                                                                 |     if (r0 < 0) {
    0x0000239c blt.w 0x273e                                      |         goto label_38;
                                                                 |     }
    0x000023a0 ldr r3, [sp, 0x28]                                |     r3 = var_28h;
    0x000023a2 movs r1, 1                                        |     r1 = 1;
    0x000023a4 ldr.w r2, [pc, 0xb20]                             |     
    0x000023a8 ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x000023aa ldr r5, [r3]                                      |     r5 = *(r3);
    0x000023ac ldr r3, [sp, 0x74]                                |     r3 = var_74h;
    0x000023ae add r2, pc                                        |     r2 = 0x527a;
    0x000023b0 ubfx r6, r5, 8, 0xc                               |     r6 = (r5 >> 8) & ((1 << 0xc) - 1);
    0x000023b4 lsrs r4, r5, 0xc                                  |     r4 = r5 >> 0xc;
    0x000023b6 uxtb r5, r5                                       |     r5 = (int8_t) r5;
    0x000023b8 orr.w r4, r4, r3, lsl 20                          |     r4 |= (r3 << 20);
    0x000023bc bic r3, r3, 0xff0                                 |     r3 = BIT_MASK (r3, 0xff0);
    0x000023c0 bic r3, r3, 0xf                                   |     r3 = BIT_MASK (r3, 0xf);
    0x000023c4 bic r4, r4, 0xff                                  |     r4 = BIT_MASK (r4, 0xff);
    0x000023c8 orrs r3, r6                                       |     r3 |= r6;
    0x000023ca orrs r4, r5                                       |     r4 |= r5;
    0x000023cc str r4, [sp]                                      |     *(sp) = r4;
    0x000023ce blx 0x15dc                                        |     r0 = asprintf_chk ()
    0x000023d2 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x000023d4 blt.w 0x298e                                      |         goto label_39;
                                                                 |     }
    0x000023d8 ldr r4, [sp, 0x34]                                |     r4 = var_34h;
    0x000023da mov.w r1, 0x1c0                                   |     r1 = 0x1c0;
    0x000023de ldr r0, [r4]                                      |     r0 = *(r4);
    0x000023e0 blx 0x145c                                        |     mkdir_parents_label ();
    0x000023e4 mov.w r1, 0x180                                   |     r1 = 0x180;
    0x000023e8 ldr r0, [r4]                                      |     r0 = *(r4);
    0x000023ea blx 0x16a8                                        |     mkfifo ();
    0x000023ee mov.w r1, 0x900                                   |     r1 = 0x900;
    0x000023f2 ldr r0, [r4]                                      |     r0 = *(r4);
    0x000023f4 movt r1, 8                                        |     r1 = (r1 & 0xFFFF) | 0x80000;
    0x000023f8 blx 0x16b4                                        |     r0 = open64 ();
    0x000023fc subs r3, r0, 0                                    |     r3 = r0 - 0;
    0x000023fe str r3, [sp, 0x40]                                |     var_40h = r3;
                                                                 |     if (r3 < r0) {
    0x00002400 blt.w 0x2b1a                                      |         goto label_40;
                                                                 |     }
                                                                 | label_10:
    0x00002404 ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x00002406 add r5, sp, 0x8c                                  |     r5 += var_8ch;
    0x00002408 ldr.w r4, [pc, 0xac0]                             |     
    0x0000240c ldr r0, [r3]                                      |     r0 = *(r3);
    0x0000240e add r4, pc                                        |     r4 = 0x52de;
    0x00002410 blx 0x15a0                                        |     free (r0);
    0x00002414 movw r1, 0x1ed                                    |     r1 = 0x1ed;
    0x00002416 asrs r5, r5, 7                                    |     r5 >>= 7;
    0x00002418 mov r0, r4                                        |     r0 = r4;
    0x0000241a blx 0x16c0                                        |     mkdir_p_label ();
    0x0000241e mov r0, r5                                        |     r0 = r5;
    0x00002420 blx 0x1450                                        |     r0 = sigemptyset ();
    0x00002424 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x00002426 blt.w 0x2b4a                                      |         goto label_41;
                                                                 |     }
    0x0000242a mov.w r2, -1                                      |     r2 = -1;
    0x0000242e movs r1, 0xf                                      |     r1 = 0xf;
    0x00002430 mov r0, r5                                        |     r0 = r5;
    0x00002432 blx 0x181c                                        |     r0 = sigset_add_many ();
    0x00002436 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x00002438 blt.w 0x2bbc                                      |         goto label_42;
                                                                 |     }
    0x0000243c movs r2, 0                                        |     r2 = 0;
    0x0000243e mov r1, r5                                        |     r1 = r5;
    0x00002440 movs r0, 2                                        |     r0 = 2;
    0x00002442 blx 0x1720                                        |     r0 = sigprocmask ();
    0x00002446 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x00002448 blt.w 0x2bd2                                      |         goto label_43;
                                                                 |     }
    0x0000244c ldr r3, [sp, 0x3c]                                |     r3 = var_3ch;
    0x0000244e cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00002450 bne.w 0x2948                                      |         goto label_44;
                                                                 |     }
    0x00002454 mov.w r3, -1                                      |     r3 = -1;
    0x00002458 strd r3, r3, [sp, 0x44]                           |     __asm ("strd r3, r3, [var_48h]");
                                                                 | label_12:
    0x0000245c ldr.w r3, [pc, 0xa70]                             |     
    0x00002460 add r3, pc                                        |     r3 = 0x5334;
    0x00002462 adds r3, 7                                        |     r3 += 7;
    0x00002464 str r3, [sp, 0x50]                                |     var_50h = r3;
    0x00002466 ldr.w r3, [pc, 0xa6c]                             |     
    0x0000246a add r3, pc                                        |     r3 = 0x5344;
    0x0000246c adds r3, 7                                        |     r3 += 7;
    0x0000246e str r3, [sp, 0x54]                                |     var_54h = r3;
                                                                 | label_5:
    0x00002470 ldr.w r0, [pc, 0xa64]                             |     
    0x00002474 add r0, pc                                        |     r0 = 0x5350;
    0x00002476 blx 0x148c                                        |     r0 = opendir ();
    0x0000247a mov sb, r0                                        |     sb = r0;
    0x0000247c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000247e beq.w 0x26a4                                      |         goto label_45;
                                                                 |     }
    0x00002482 blx 0x1828                                        |     r0 = readdir_ensure_type ();
    0x00002486 mov r5, r0                                        |     r5 = r0;
    0x00002488 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000248a beq.w 0x2770                                      |         goto label_46;
                                                                 |     }
    0x0000248e ldr.w r3, [pc, 0xa4c]                             |     
    0x00002492 add r3, pc                                        |     r3 = 0x5374;
    0x00002494 str r3, [sp, 0x30]                                |     var_30h = r3;
    0x00002496 ldr.w r3, [pc, 0xa48]                             |     
    0x0000249a add r3, pc                                        |     r3 = 0x5380;
    0x0000249c str r3, [sp, 0x38]                                |     var_38h = r3;
    0x0000249e movs r3, 0                                        |     r3 = 0;
    0x000024a0 str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x000024a2 b 0x2514                                          |     goto label_47;
                                                                 | label_1:
    0x000024a4 ldr.w r3, [r8]                                    |     r3 = *(r8);
    0x000024a8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000024aa beq.w 0x2760                                      |         goto label_48;
                                                                 |     }
    0x000024ae ldr r3, [sp, 0x28]                                |     r3 = var_28h;
    0x000024b0 add r4, sp, 0x74                                  |     r4 += var_74h;
    0x000024b2 ldr r2, [r4]                                      |     r2 = *(r4);
    0x000024b4 ldr r3, [r3]                                      |     r3 = *(r3);
    0x000024b6 orrs r3, r2                                       |     r3 |= r2;
                                                                 |     if (r3 != r2) {
    0x000024b8 bne.w 0x2714                                      |         goto label_49;
                                                                 |     }
                                                                 | label_7:
    0x000024bc ldr r0, [r5]                                      |     r0 = *(r5);
    0x000024be cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000024c0 bne.w 0x2732                                      |         goto label_50;
                                                                 |     }
                                                                 | label_9:
    0x000024c4 ldr.w r3, [pc, 0xa1c]                             |     r3 = *(0x00002ee4);
    0x000024c8 add r3, pc                                        |     r3 += pc;
    0x000024ca ldr r3, [r3]                                      |     r3 = *(r3);
    0x000024cc cmp r3, 2                                         |     
                                                                 |     if (r3 > 2) {
    0x000024ce bhi.w 0x266a                                      |         goto label_51;
                                                                 |     }
    0x000024d2 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000024d4 bne.w 0x2806                                      |         goto label_52;
                                                                 |     }
    0x000024d8 ldr.w r2, [sl]                                    |     r2 = *(sl);
    0x000024dc cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x000024de beq.w 0x2b42                                      |         goto label_53;
                                                                 |     }
                                                                 | label_17:
    0x000024e2 ldr.w r1, [pc, 0xa04]                             |     
    0x000024e6 movs r0, 1                                        |     r0 = 1;
    0x000024e8 ldr r3, [r5]                                      |     r3 = *(r5);
    0x000024ea add r1, pc                                        |     r1 = 0x53d8;
    0x000024ec blx 0x14f8                                        |     printf_chk ();
                                                                 | label_3:
    0x000024f0 ldr.w r0, [sl]                                    |     r0 = *(sl);
    0x000024f4 blx 0x15a0                                        |     free (r0);
    0x000024f8 ldr.w r0, [r8]                                    |     r0 = *(r8);
    0x000024fc blx 0x15a0                                        |     free (r0);
                                                                 | label_2:
    0x00002500 mov r0, r7                                        |     r0 = r7;
    0x00002502 blx 0x15a0                                        |     free (r0);
                                                                 |     do {
                                                                 | label_0:
    0x00002506 mov r0, sb                                        |         r0 = sb;
    0x00002508 blx 0x1828                                        |         r0 = readdir_ensure_type ();
    0x0000250c mov r5, r0                                        |         r5 = r0;
    0x0000250e cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00002510 beq.w 0x26fc                                      |             goto label_54;
                                                                 |         }
                                                                 | label_47:
    0x00002514 add.w r6, r5, 0x13                                |         r6 = r5 + 0x13;
    0x00002518 mov r0, r6                                        |         r0 = r6;
    0x0000251a blx 0x14ec                                        |         r0 = hidden_or_backup_file ();
    0x0000251e mov r4, r0                                        |         r4 = r0;
    0x00002520 cmp r0, 0                                         |         
    0x00002522 bne 0x2506                                        |         
                                                                 |     } while (r0 != 0);
    0x00002524 ldrb r3, [r5, 0x12]                               |     r3 = *((r5 + 0x12));
    0x00002526 cmp r3, 8                                         |     
                                                                 |     if (r3 != 8) {
    0x00002528 bne 0x2506                                        |         goto label_0;
                                                                 |     }
    0x0000252a ldr r1, [sp, 0x30]                                |     r1 = var_30h;
    0x0000252c mov r0, r6                                        |     r0 = r6;
    0x0000252e blx 0x1798                                        |     r0 = startswith ();
    0x00002532 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002534 beq 0x2506                                        |         goto label_0;
                                                                 |     }
    0x00002536 ldr r1, [sp, 0x38]                                |     r1 = var_38h;
    0x00002538 mov r2, r6                                        |     r2 = r6;
    0x0000253a mov.w r3, -1                                      |     r3 = -1;
    0x0000253e mov r0, r4                                        |     r0 = r4;
    0x00002540 blx 0x1678                                        |     r0 = path_extend_internal ();
    0x00002544 mov r7, r0                                        |     r7 = r0;
    0x00002546 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002548 beq.w 0x2a74                                      |         goto label_55;
                                                                 |     }
    0x0000254c vmov.i32 d16, 0                                   |     __asm ("vmov.i32 d16, 0");
    0x00002550 add.w r2, sp, 0x5f                                |     r2 += n;
    0x00002554 add.w r3, sp, 0x5e                                |     r3 += var_5eh;
    0x00002558 mov r1, r4                                        |     r1 = r4;
    0x0000255a str r2, [sp, 0x2c]                                |     var_2ch = r2;
    0x0000255c add r0, sp, 0x198                                 |     r0 += s;
    0x0000255e movs r2, 0x94                                     |     r2 = 0x94;
    0x00002560 vstr d16, [sp, 0x70]                              |     __asm ("vstr d16, [sp, 0x70]");
    0x00002564 str r3, [sp, 0x20]                                |     var_20h = r3;
    0x00002566 add.w r8, sp, 0x60                                |     r8 += var_60h;
    0x0000256a strb.w r4, [sp, 0x5e]                             |     var_5eh = r4;
    0x0000256e add.w sl, sp, 0x64                                |     sl += ptr;
    0x00002572 strb.w r4, [sp, 0x5f]                             |     n = r4;
    0x00002576 add r5, sp, 0x68                                  |     r5 += var_68h;
    0x00002578 str.w r4, [r8]                                    |     __asm ("str.w r4, [r8]");
    0x0000257c add.w r6, sp, 0x5d                                |     r6 += var_5dh;
    0x00002580 str.w r4, [sl]                                    |     __asm ("str.w r4, [sl]");
    0x00002584 strb r4, [r6]                                     |     *(r6) = r4;
    0x00002586 str r4, [r5]                                      |     *(r5) = r4;
    0x00002588 blx 0x1540                                        |     memset (r0, r1, r2);
    0x0000258c ldr.w r2, [pc, 0x95c]                             |     
    0x00002590 mov r0, r4                                        |     r0 = r4;
    0x00002592 ldr.w r3, [pc, 0x95c]                             |     
    0x00002596 ldr.w r1, [pc, 0x95c]                             |     
    0x0000259a add r2, pc                                        |     r2 = 0x548a;
    0x0000259c str r2, [sp, 0x190]                               |     var_190h = r2;
    0x0000259e add r3, pc                                        |     r3 = 0x5494;
    0x000025a0 ldr.w r2, [pc, 0x954]                             |     r2 = *(0x2ef8);
    0x000025a4 add r1, pc                                        |     r1 = 0x549e;
    0x000025a6 str r3, [sp, 0x18c]                               |     var_18ch = r3;
    0x000025a8 ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x000025ac str r1, [sp, 0x1a4]                               |     var_1a4h = r1;
    0x000025ae ldr.w r1, [pc, 0x94c]                             |     r1 = *(0x2efe);
    0x000025b2 strd r8, r3, [sp, 0x19c]                          |     __asm ("strd r8, r3, [var_19ch]");
    0x000025b6 str r2, [sp, 0x194]                               |     var_194h = r2;
    0x000025b8 ldr.w r1, [fp, r1]                                |     r1 = *((fp + r1));
    0x000025bc str r2, [sp, 0x1bc]                               |     var_1bch = r2;
    0x000025be ldr.w r2, [pc, 0x940]                             |     
    0x000025c2 str r1, [sp, 0x1a8]                               |     var_1a8h = r1;
    0x000025c4 ldr r1, [sp, 0x28]                                |     r1 = var_28h;
    0x000025c6 add r2, pc                                        |     r2 = 0x54cc;
    0x000025c8 str r3, [sp, 0x1b4]                               |     var_1b4h = r3;
    0x000025ca str r2, [sp, 0x1b8]                               |     var_1b8h = r2;
    0x000025cc ldr.w r2, [pc, 0x934]                             |     
    0x000025d0 str r3, [sp, 0x1c8]                               |     var_1c8h = r3;
    0x000025d2 str r1, [sp, 0x1b0]                               |     var_1b0h = r1;
    0x000025d4 mov r1, r7                                        |     r1 = r7;
    0x000025d6 add r2, pc                                        |     r2 = 0x54de;
    0x000025d8 str.w sl, [sp, 0x1c4]                             |     __asm ("str.w sl, [var_1c4h]");
    0x000025dc str r2, [sp, 0x1cc]                               |     var_1cch = r2;
    0x000025de ldr.w r2, [pc, 0x928]                             |     r2 = *(0x2f0a);
    0x000025e2 ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x000025e6 strd r5, r3, [sp, 0x1d8]                          |     __asm ("strd r5, r3, [var_1d8h]");
    0x000025ea str r2, [sp, 0x1d0]                               |     var_1d0h = r2;
    0x000025ec ldr.w r2, [pc, 0x91c]                             |     
    0x000025f0 add r2, pc                                        |     r2 = 0x5500;
    0x000025f2 str r2, [sp, 0x1e0]                               |     var_1e0h = r2;
    0x000025f4 ldr.w r2, [pc, 0x918]                             |     r2 = *(0x2f10);
    0x000025f8 ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x000025fc str r3, [sp, 0x1f0]                               |     var_1f0h = r3;
    0x000025fe str r3, [sp, 0x204]                               |     var_204h = r3;
    0x00002600 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00002602 str r2, [sp, 0x1e4]                               |     var_1e4h = r2;
    0x00002604 str r2, [sp, 0x1f8]                               |     var_1f8h = r2;
    0x00002606 str r3, [sp, 0x200]                               |     var_200h = r3;
    0x00002608 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x0000260a str r6, [sp, 0x1ec]                               |     var_1ech = r6;
    0x0000260c str r3, [sp, 0x214]                               |     var_214h = r3;
    0x0000260e ldr.w r3, [pc, 0x904]                             |     
    0x00002612 str r2, [sp, 0x20c]                               |     var_20ch = r2;
    0x00002614 movs r2, 3                                        |     r2 = 3;
    0x00002616 str r2, [sp, 8]                                   |     var_8h = r2;
    0x00002618 add r2, sp, 0x18c                                 |     r2 += var_18ch;
    0x0000261a add r3, pc                                        |     r3 = 0x5534;
    0x0000261c strd r4, r4, [sp, 0xc]                            |     __asm ("strd r4, r4, [var_ch]");
    0x00002620 str r3, [sp, 0x1f4]                               |     var_1f4h = r3;
    0x00002622 ldr.w r3, [pc, 0x8f4]                             |     
    0x00002626 str r2, [sp, 4]                                   |     var_4h = r2;
    0x00002628 mov r2, r4                                        |     r2 = r4;
    0x0000262a add r3, pc                                        |     r3 = 0x5548;
    0x0000262c str r3, [sp, 0x208]                               |     var_208h = r3;
    0x0000262e ldr.w r3, [pc, 0x8ec]                             |     r3 = *(0x00002f1c);
    0x00002632 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00002636 str r3, [sp]                                      |     *(sp) = r3;
    0x00002638 mov r3, r4                                        |     r3 = r4;
    0x0000263a blx 0x1864                                        |     r0 = config_parse ();
    0x0000263e subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 >= r0) {
    0x00002640 bge.w 0x24a4                                      |         goto label_1;
                                                                 |     }
                                                                 | label_4:
    0x00002644 ldr.w r0, [sl]                                    |     r0 = *(sl);
    0x00002648 blx 0x15a0                                        |     free (r0);
    0x0000264c ldr.w r0, [r8]                                    |     r0 = *(r8);
    0x00002650 blx 0x15a0                                        |     free (r0);
    0x00002654 ldr r2, [sp, 0x1c]                                |     r2 = var_1ch;
    0x00002656 clz r3, r2                                        |     r3 &= r2;
    0x0000265a lsrs r3, r3, 5                                    |     r3 >>= 5;
    0x0000265c ands.w r3, r3, r4, lsr 31                         |     r3 &= (r4 >> 31);
    0x00002660 ite eq                                            |     
                                                                 |     if (r3 != r3) {
    0x00002662 moveq r3, r2                                      |         r3 = r2;
                                                                 |     }
                                                                 |     if (r3 == r3) {
    0x00002664 movne r3, r4                                      |         r3 = r4;
                                                                 |     }
    0x00002666 str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x00002668 b 0x2500                                          |     goto label_2;
                                                                 | label_51:
    0x0000266a cmp r3, 3                                         |     
                                                                 |     if (r3 != 3) {
    0x0000266c bne.w 0x24f0                                      |         goto label_3;
                                                                 |     }
    0x00002670 ldr.w r3, [sl]                                    |     r3 = *(sl);
    0x00002674 movs r2, 0                                        |     r2 = 0;
    0x00002676 ldr r1, [sp, 0x34]                                |     r1 = var_34h;
    0x00002678 str r2, [r1]                                      |     *(r1) = r2;
    0x0000267a cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0000267c beq.w 0x2b3a                                      |         goto label_56;
                                                                 |     }
                                                                 | label_16:
    0x00002680 ldr r2, [r5]                                      |     r2 = *(r5);
    0x00002682 movs r1, 1                                        |     r1 = 1;
    0x00002684 ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x00002686 str r2, [sp]                                      |     *(sp) = r2;
    0x00002688 ldr.w r2, [pc, 0x894]                             |     
    0x0000268c add r2, pc                                        |     r2 = 0x55b0;
    0x0000268e blx 0x15dc                                        |     r0 = asprintf_chk ()
    0x00002692 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x00002694 blt.w 0x2c7a                                      |         goto label_57;
                                                                 |     }
    0x00002698 movs r4, 0                                        |     r4 = 0;
                                                                 | label_23:
    0x0000269a ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x0000269c ldr r0, [r3]                                      |     r0 = *(r3);
    0x0000269e blx 0x15a0                                        |     free (r0);
    0x000026a2 b 0x2644                                          |     goto label_4;
                                                                 | label_45:
    0x000026a4 blx 0x1840                                        |     r0 = errno_location ();
    0x000026a8 ldr r4, [r0]                                      |     r4 = *(r0);
    0x000026aa cmp r4, 2                                         |     
                                                                 |     if (r4 != 2) {
    0x000026ac beq 0x26c6                                        |         
    0x000026ae blx 0x14c8                                        |         r0 = log_get_max_level ();
    0x000026b2 cmp r0, 2                                         |         
                                                                 |         if (r0 > 2) {
    0x000026b4 bgt 0x27a6                                        |             goto label_58;
                                                                 |         }
    0x000026b6 cmp r4, 0                                         |         
    0x000026b8 it lt                                             |         
                                                                 |         if (r4 < 0) {
    0x000026ba rsblt r4, r4, 0                                   |             __asm ("rsblt r4, r4, 0");
                                                                 |         }
    0x000026bc uxtb r4, r4                                       |         r4 = (int8_t) r4;
    0x000026be rsbs r3, r4, 0                                    |         r3 = r4 - ;
    0x000026c0 str r3, [sp, 0x1c]                                |         var_1ch = r3;
    0x000026c2 cmp r4, 0                                         |         
                                                                 |         if (r4 != 0) {
    0x000026c4 bne 0x279a                                        |             goto label_59;
                                                                 |         }
                                                                 |     }
                                                                 | label_6:
    0x000026c6 mov.w r2, -1                                      |     r2 = -1;
    0x000026ca mov.w r3, -1                                      |     r3 = -1;
                                                                 | label_11:
    0x000026ce ldr r1, [sp, 0x3c]                                |     r1 = var_3ch;
                                                                 |     if (r1 == 0) {
    0x000026d0 cbz r1, 0x26f8                                    |         goto label_60;
                                                                 |     }
    0x000026d2 add r4, sp, 0x7c                                  |     r4 += var_7ch;
    0x000026d4 movs r1, 2                                        |     r1 = 2;
    0x000026d6 mov r0, r4                                        |     r0 = r4;
    0x000026d8 blx 0x160c                                        |     ppoll_usec ();
    0x000026dc adds r3, r0, 4                                    |     r3 += var_80h;
                                                                 |     if (r3 == var_80h) {
    0x000026de beq.w 0x2470                                      |         goto label_5;
                                                                 |     }
    0x000026e2 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x000026e4 blt.w 0x2c52                                      |         goto label_61;
                                                                 |     }
    0x000026e8 ldrsh.w r3, [r4, 0xe]                             |     r3 = var_eh;
                                                                 |     if (r3 != 0) {
    0x000026ec cbnz r3, 0x272a                                   |         goto label_62;
                                                                 |     }
                                                                 | label_8:
    0x000026ee ldrsh.w r3, [r4, 6]                               |     r3 = var_6h;
    0x000026f2 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000026f4 beq.w 0x2470                                      |         goto label_5;
                                                                 |     }
                                                                 | label_60:
    0x000026f8 movs r7, 0                                        |     r7 = 0;
    0x000026fa b 0x2a3e                                          |     goto label_22;
                                                                 | label_54:
    0x000026fc blx 0x1840                                        |     r0 = errno_location ();
    0x00002700 ldr r4, [r0]                                      |     r4 = *(r0);
    0x00002702 cmp r4, 0                                         |     
                                                                 |     if (r4 > 0) {
    0x00002704 bgt 0x277c                                        |         goto label_63;
                                                                 |     }
                                                                 | label_13:
    0x00002706 mov r0, sb                                        |     r0 = sb;
    0x00002708 blx 0x16fc                                        |     closedir ();
    0x0000270c ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0000270e cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x00002710 bge 0x26c6                                        |         goto label_6;
                                                                 |     }
    0x00002712 b 0x279a                                          |     goto label_59;
                                                                 | label_49:
    0x00002714 movs r0, 1                                        |     r0 = 1;
    0x00002716 blx 0x175c                                        |     now ();
    0x0000271a ldr r2, [sp, 0x28]                                |     r2 = var_28h;
    0x0000271c ldr r3, [r4]                                      |     r3 = *(r4);
    0x0000271e ldr r2, [r2]                                      |     r2 = *(r2);
    0x00002720 cmp r2, r0                                        |     
    0x00002722 sbcs r3, r1                                       |     __asm ("sbcs r3, r1");
                                                                 |     if (r2 >= r0) {
    0x00002724 bhs.w 0x24bc                                      |         goto label_7;
                                                                 |     }
    0x00002728 b 0x24f0                                          |     goto label_3;
                                                                 | label_62:
    0x0000272a ldr r0, [sp, 0x44]                                |     r0 = var_44h;
    0x0000272c blx 0x154c                                        |     flush_fd ();
    0x00002730 b 0x26ee                                          |     goto label_8;
                                                                 | label_50:
    0x00002732 blx 0x1708                                        |     r0 = pid_is_alive ();
    0x00002736 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00002738 bne.w 0x24c4                                      |         goto label_9;
                                                                 |     }
    0x0000273c b 0x24f0                                          |     goto label_3;
                                                                 | label_38:
    0x0000273e blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002742 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00002744 bgt.w 0x2a90                                      |         goto label_64;
                                                                 |     }
    0x00002748 rsbs r4, r4, 0                                    |     r4 -= ;
    0x0000274a uxtb r4, r4                                       |     r4 = (int8_t) r4;
    0x0000274c rsbs r3, r4, 0                                    |     r3 = r4 - ;
    0x0000274e str r3, [sp, 0x40]                                |     var_40h = r3;
                                                                 | label_14:
    0x00002750 ldr r3, [sp, 0x40]                                |     r3 = var_40h;
    0x00002752 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x00002754 blt.w 0x2404                                      |         goto label_10;
                                                                 |     }
    0x00002758 mvn r3, 0x55                                      |     r3 = ~0x55;
    0x0000275c str r3, [sp, 0x40]                                |     var_40h = r3;
    0x0000275e b 0x2404                                          |     goto label_10;
                                                                 | label_48:
    0x00002760 blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002764 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00002766 bgt.w 0x2ab8                                      |         goto label_65;
                                                                 |     }
    0x0000276a mvn r4, 0x49                                      |     r4 = ~0x49;
    0x0000276e b 0x2644                                          |     goto label_4;
                                                                 | label_46:
    0x00002770 blx 0x1840                                        |     r0 = errno_location ();
    0x00002774 ldr r4, [r0]                                      |     r4 = *(r0);
    0x00002776 cmp r4, 0                                         |     
                                                                 |     if (r4 <= 0) {
    0x00002778 ble.w 0x2c8c                                      |         goto label_66;
                                                                 |     }
                                                                 | label_63:
    0x0000277c blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002780 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00002782 bgt.w 0x2aea                                      |         goto label_67;
                                                                 |     }
    0x00002786 uxtb r4, r4                                       |     r4 = (int8_t) r4;
    0x00002788 rsbs r3, r4, 0                                    |     r3 = r4 - ;
    0x0000278a str r3, [sp, 0x1c]                                |     var_1ch = r3;
                                                                 | label_15:
    0x0000278c ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0000278e cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x00002790 bge.w 0x2b12                                      |         goto label_68;
                                                                 |     }
    0x00002794 mov r0, sb                                        |     r0 = sb;
    0x00002796 blx 0x16fc                                        |     closedir ();
                                                                 |     do {
                                                                 | label_59:
    0x0000279a ldr r3, [sp, 0x1c]                                |         r3 = var_1ch;
    0x0000279c adds r3, 0x7d                                     |         r3 += 0x7d;
                                                                 |         if (r3 != 0x7d) {
    0x0000279e bne 0x27d6                                        |             goto label_69;
                                                                 |         }
    0x000027a0 movs r2, 0                                        |         r2 = 0;
    0x000027a2 movs r3, 0                                        |         r3 = 0;
    0x000027a4 b 0x26ce                                          |         goto label_11;
                                                                 | label_58:
    0x000027a6 ldr.w r3, [pc, 0x77c]                             |         
    0x000027aa mov r1, r4                                        |         r1 = r4;
    0x000027ac ldr.w r2, [pc, 0x778]                             |         
    0x000027b0 movs r0, 3                                        |         r0 = 3;
    0x000027b2 add r3, pc                                        |         r3 = 0x56dc;
    0x000027b4 str r3, [sp, 4]                                   |         var_4h = r3;
    0x000027b6 add r2, pc                                        |         r2 = 0x56e2;
    0x000027b8 ldr.w r3, [pc, 0x770]                             |         
    0x000027bc adds r2, 7                                        |         r2 += 7;
    0x000027be add r3, pc                                        |         r3 = 0x56ee;
    0x000027c0 str r3, [sp]                                      |         *(sp) = r3;
    0x000027c2 mov.w r3, 0x132                                   |         r3 = 0x132;
    0x000027c6 blx 0x1768                                        |         r0 = log_internal ();
    0x000027ca subs r3, r0, 0                                    |         r3 = r0 - 0;
    0x000027cc str r3, [sp, 0x1c]                                |         var_1ch = r3;
    0x000027ce blt 0x279a                                        |         
                                                                 |     } while (r3 < r0);
    0x000027d0 mvn r3, 0x55                                      |     r3 = ~0x55;
    0x000027d4 str r3, [sp, 0x1c]                                |     var_1ch = r3;
                                                                 | label_69:
    0x000027d6 blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x000027da cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x000027dc ble.w 0x26c6                                      |         goto label_6;
                                                                 |     }
    0x000027e0 ldr.w r3, [pc, 0x74c]                             |     
    0x000027e4 movs r0, 3                                        |     r0 = 3;
    0x000027e6 ldr.w r2, [pc, 0x74c]                             |     
    0x000027ea ldr r1, [sp, 0x1c]                                |     r1 = var_1ch;
    0x000027ec add r3, pc                                        |     r3 = 0x5720;
    0x000027ee str r3, [sp, 4]                                   |     var_4h = r3;
    0x000027f0 add r2, pc                                        |     r2 = 0x572a;
    0x000027f2 ldr.w r3, [pc, 0x744]                             |     
    0x000027f6 adds r2, 7                                        |     r2 += 7;
    0x000027f8 add r3, pc                                        |     r3 = 0x5736;
    0x000027fa str r3, [sp]                                      |     *(sp) = r3;
    0x000027fc mov.w r3, 0x182                                   |     r3 = 0x182;
    0x00002800 blx 0x1768                                        |     log_internal ();
    0x00002804 b 0x26c6                                          |     goto label_6;
                                                                 | label_52:
    0x00002806 str r3, [sp, 0x4c]                                |     var_4ch = r3;
    0x00002808 movs r4, 0                                        |     r4 = 0;
    0x0000280a ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x0000280c movs r1, 2                                        |     r1 = 2;
    0x0000280e ldr.w r0, [r8]                                    |     r0 = *(r8);
    0x00002812 str r4, [r3]                                      |     *(r3) = r4;
    0x00002814 blx 0x15d0                                        |     access (r0, r1);
    0x00002816 cdp p2, 0xd, c4, c12, c0, 5                       |     __asm ("cdp p2, 0xd, c4, c12, c0, 5");
    0x0000281a ldr r3, [sp, 0x4c]                                |     r3 = var_4ch;
                                                                 |     if (r1 < 2) {
    0x0000281c blt.w 0x2b66                                      |         goto label_70;
                                                                 |     }
    0x00002820 ldr.w r3, [pc, 0x718]                             |     r3 = *(0x00002f3c);
    0x00002824 ldrb r4, [r6]                                     |     r4 = *(r6);
    0x00002826 add r3, pc                                        |     r3 += pc;
    0x00002828 ldrb r3, [r3]                                     |     r3 = *(r3);
                                                                 |     if (r3 != 0) {
    0x0000282a cbz r3, 0x2830                                    |         
    0x0000282c orr r4, r4, 0x40                                  |         r4 |= 0x40;
                                                                 |     }
    0x00002830 ldr r2, [sp, 0x20]                                |     r2 = var_20h;
    0x00002832 ldrb r2, [r2]                                     |     r2 = *(r2);
                                                                 |     if (r2 != 0) {
    0x00002834 cbz r2, 0x283a                                    |         
    0x00002836 orr r4, r4, 4                                     |         r4 |= 4;
                                                                 |     }
    0x0000283a ldr r2, [sp, 0x2c]                                |     r2 = var_2ch;
    0x0000283c ldrb r2, [r2]                                     |     r2 = *(r2);
                                                                 |     if (r2 != 0) {
    0x0000283e cbz r2, 0x2844                                    |         
    0x00002840 orr r4, r4, 8                                     |         r4 |= 8;
                                                                 |     }
    0x00002844 ldr.w r2, [pc, 0x6f8]                             |     r2 = *(0x00002f40);
    0x00002848 ldrd r0, r1, [sp, 0x70]                           |     __asm ("ldrd r0, r1, [var_70h]");
    0x0000284c ldr.w r5, [sl]                                    |     r5 = *(sl);
    0x00002850 add r2, pc                                        |     r2 += pc;
    0x00002852 ldrb r2, [r2]                                     |     r2 = *(r2);
    0x00002854 strd r0, r1, [sp, 0x20]                           |     __asm ("strd r0, r1, [var_20h]");
    0x00002858 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x0000285a beq.w 0x29aa                                      |         goto label_71;
                                                                 |     }
    0x0000285e mov r3, r1                                        |     r3 = r1;
    0x00002860 ldr r1, [sp, 0x34]                                |     r1 = var_34h;
    0x00002862 mov r2, r0                                        |     r2 = r0;
    0x00002864 str r4, [sp]                                      |     *(sp) = r4;
    0x00002866 mov r0, r5                                        |     r0 = r5;
    0x00002868 strd r7, r1, [sp, 4]                              |     __asm ("strd r7, r1, [var_4h]");
    0x0000286c blx 0x14d4                                        |     r0 = ask_password_plymouth ();
    0x00002870 mov r4, r0                                        |     r4 = r0;
                                                                 | label_19:
    0x00002872 cmp r4, 0                                         |     
                                                                 |     if (r4 < 0) {
    0x00002874 blt.w 0x2b80                                      |         goto label_20;
                                                                 |     }
                                                                 | label_21:
    0x00002878 ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x0000287a ldr r5, [r3]                                      |     r5 = *(r3);
    0x0000287c cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0000287e beq.w 0x2d16                                      |         goto label_72;
                                                                 |     }
    0x00002882 ldr r3, [r5]                                      |     r3 = *(r5);
    0x00002884 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00002886 beq.w 0x2da0                                      |         goto label_73;
                                                                 |     }
    0x0000288a ldr.w r1, [r8]                                    |     r1 = *(r8);
    0x0000288e cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00002890 beq.w 0x2e74                                      |         goto label_74;
                                                                 |     }
    0x00002894 add r3, sp, 0x10c                                 |     r3 += var_10ch;
    0x00002896 mov r0, r3                                        |     r0 = r3;
    0x00002898 str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x0000289a blx 0x17a4                                        |     sockaddr_un_set_path ();
    0x0000289e subs r3, r0, 0                                    |     r3 -= var_10ch;
    0x000028a0 str r3, [sp, 0x20]                                |     var_20h = r3;
                                                                 |     if (r3 < var_10ch) {
    0x000028a2 blt.w 0x2dac                                      |         goto label_75;
                                                                 |     }
    0x000028a6 mov r4, r5                                        |     r4 = r5;
    0x000028a8 movs r5, 1                                        |     r5 = 1;
    0x000028aa mov r6, r4                                        |     r6 = r4;
                                                                 |     do {
    0x000028ac ldr r0, [r6], 4                                   |         r0 = *(r6);
                                                                 |         r6 += 4;
                                                                 |         if (r0 == 0) {
    0x000028b0 cbz r0, 0x28be                                    |             goto label_76;
                                                                 |         }
    0x000028b2 blx 0x1618                                        |         strlen (r0);
    0x000028b6 adds r0, 1                                        |         r0++;
    0x000028b8 add r5, r0                                        |         r5 += r0;
    0x000028ba cmp r6, 0                                         |         
    0x000028bc bne 0x28ac                                        |         
                                                                 |     } while (r6 != 0);
                                                                 | label_76:
    0x000028be cmp r5, 1                                         |     
    0x000028c0 mov r0, r5                                        |     r0 = r5;
    0x000028c2 it lo                                             |     
                                                                 |     if (r5 >= 1) {
    0x000028c4 movlo r0, 1                                       |         r0 = 1;
                                                                 |     }
    0x000028c6 blx 0x1714                                        |     r0 = malloc (r0);
    0x000028ca mov r6, r0                                        |     r6 = r0;
    0x000028cc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000028ce beq.w 0x2da6                                      |         goto label_77;
                                                                 |     }
    0x000028d2 movs r3, 0x2b                                     |     r3 = 0x2b;
    0x000028d4 strb r3, [r0], 1                                  |     *(r0) = r3;
                                                                 |     r0++;
                                                                 |     do {
    0x000028d8 ldr r1, [r4], 4                                   |         r1 = *(r4);
                                                                 |         r4 += 4;
                                                                 |         if (r1 == 0) {
    0x000028dc cbz r1, 0x28e8                                    |             goto label_78;
                                                                 |         }
    0x000028de blx 0x1528                                        |         stpcpy ();
    0x000028e2 adds r0, 1                                        |         r0++;
    0x000028e4 cmp r4, 0                                         |         
    0x000028e6 bne 0x28d8                                        |         
                                                                 |     } while (r4 != 0);
                                                                 | label_78:
    0x000028e8 movs r1, 2                                        |     r1 = 2;
    0x000028ea movs r2, 0                                        |     r2 = 0;
    0x000028ec movt r1, 8                                        |     r1 = (r1 & 0xFFFF) | 0x80000;
    0x000028f0 movs r0, 1                                        |     r0 = 1;
    0x000028f2 blx 0x15f4                                        |     r0 = socket (r0, r1, r2);
    0x000028f6 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x000028f8 blt.w 0x2cc6                                      |         goto label_79;
                                                                 |     }
    0x000028fc ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x000028fe mov r2, r5                                        |     r2 = r5;
    0x00002900 mov r1, r6                                        |     r1 = r6;
    0x00002902 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002904 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x00002906 str r3, [sp]                                      |     *(sp) = r3;
    0x00002908 mov.w r3, 0x4000                                  |     r3 = 0x4000;
    0x0000290c blx 0x151c                                        |     r0 = sendto ();
    0x00002910 subs r3, r0, 0                                    |     r3 = r0 - 0;
    0x00002912 str r3, [sp, 0x20]                                |     var_20h = r3;
                                                                 |     if (r3 < r0) {
    0x00002914 blt.w 0x2e44                                      |         goto label_80;
                                                                 |     }
    0x00002916 strh r6, [r2, 0x14]                               |     *((r2 + 0x14)) = r6;
                                                                 | label_26:
    0x00002918 mov r0, r4                                        |     r0 = r4;
    0x0000291a blx 0x157c                                        |     safe_close ();
    0x0000291e mov r0, r6                                        |     r0 = r6;
    0x00002920 blx 0x1510                                        |     r0 = malloc_usable_size ();
    0x00002924 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00002926 bne.w 0x2dee                                      |         goto label_81;
                                                                 |     }
                                                                 | label_32:
    0x0000292a mov r0, r6                                        |     r0 = r6;
    0x0000292c blx 0x15a0                                        |     free (r0);
    0x00002930 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00002932 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x00002934 blt.w 0x2db4                                      |         goto label_82;
                                                                 |     }
    0x00002938 ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x0000293a ldr r0, [r3]                                      |     r0 = *(r3);
    0x0000293c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000293e beq.w 0x24f0                                      |         goto label_3;
                                                                 |     }
    0x00002942 blx 0x1810                                        |     strv_free_erase ();
    0x00002946 b 0x24f0                                          |     goto label_3;
                                                                 | label_44:
    0x00002948 mov.w r2, 0x800                                   |     r2 = 0x800;
    0x0000294c mov r1, r5                                        |     r1 = r5;
    0x0000294e movt r2, 8                                        |     r2 = (r2 & 0xFFFF) | 0x80000;
    0x00002952 mov.w r0, -1                                      |     r0 = -1;
    0x00002956 blx 0x1480                                        |     r0 = signalfd ();
    0x0000295a subs r3, r0, 0                                    |     r3 = r0 - 0;
    0x0000295c str r3, [sp, 0x48]                                |     var_48h = r3;
                                                                 |     if (r3 >= r0) {
    0x0000295e blt 0x2a14                                        |         
    0x00002960 ldr r3, [sp, 0x48]                                |         r3 = var_48h;
    0x00002962 movs r5, 1                                        |         r5 = 1;
    0x00002964 mov.w r0, 0x80000                                 |         r0 = 0x80000;
    0x00002968 str r5, [sp, 0x80]                                |         var_80h = r5;
    0x0000296a add r6, sp, 0x7c                                  |         r6 += var_7ch;
    0x0000296c str r3, [r6]                                      |         *(r6) = r3;
    0x0000296e blx 0x16cc                                        |         r0 = inotify_init1 ();
    0x00002972 subs r3, r0, 0                                    |         r3 = r0 - 0;
    0x00002974 str r3, [sp, 0x44]                                |         var_44h = r3;
                                                                 |         if (r3 < r0) {
    0x00002976 blt.w 0x2c56                                      |             goto label_83;
                                                                 |         }
    0x0000297a mov r1, r4                                        |         r1 = r4;
    0x0000297c movs r2, 0x88                                     |         r2 = 0x88;
    0x0000297e blx 0x1474                                        |         r0 = inotify_add_watch_and_warn ();
    0x00002982 subs r7, r0, 0                                    |         r7 = r0 - 0;
                                                                 |         if (r7 < r0) {
    0x00002984 blt 0x2a3e                                        |             goto label_22;
                                                                 |         }
    0x00002986 ldr r3, [sp, 0x44]                                |         r3 = var_44h;
    0x00002988 str r5, [r6, 0xc]                                 |         var_ch_3 = r5;
    0x0000298a str r3, [r6, 8]                                   |         var_8h_2 = r3;
    0x0000298c b 0x245c                                          |         goto label_12;
                                                                 | label_39:
    0x0000298e ldr.w r1, [pc, 0x5b4]                             |         
    0x00002992 mov.w r2, 0x11c                                   |         r2 = 0x11c;
    0x00002996 ldr.w r3, [pc, 0x5b0]                             |         
    0x0000299a movs r0, 3                                        |         r0 = 3;
    0x0000299c add r1, pc                                        |         r1 = 0x58e6;
    0x0000299e adds r1, 7                                        |         r1 += 7;
    0x000029a0 add r3, pc                                        |         r3 = 0x58ee;
    0x000029a2 blx 0x184c                                        |         log_oom_internal ();
    0x000029a6 str r0, [sp, 0x40]                                |         var_40h = r0;
    0x000029a8 b 0x2404                                          |         goto label_10;
                                                                 | label_71:
    0x000029aa ldr.w r2, [pc, 0x5a0]                             |         r2 = *(0x00002f4c);
    0x000029ae add r2, pc                                        |         r2 += pc;
    0x000029b0 ldr r6, [r2]                                      |         r6 = *(r2);
    0x000029b2 cmp r6, 0                                         |         
                                                                 |         if (r6 == 0) {
    0x000029b4 beq.w 0x2c94                                      |             goto label_84;
                                                                 |         }
                                                                 | label_24:
    0x000029b8 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x000029ba beq.w 0x2bec                                      |             goto label_85;
                                                                 |         }
    0x000029be mov.w r3, -1                                      |         r3 = -1;
    0x000029c2 movs r1, 2                                        |         r1 = 2;
    0x000029c4 mov r0, r6                                        |         r0 = r6;
    0x000029c6 mov.w r2, -1                                      |         r2 = -1;
    0x000029ca blx 0x14e0                                        |         r0 = acquire_terminal ();
    0x000029ce subs r3, r0, 0                                    |         r3 = r0 - 0;
    0x000029d0 str r3, [sp, 0x2c]                                |         var_2ch = r3;
                                                                 |         if (r3 < r0) {
    0x000029d2 blt.w 0x2c9a                                      |             goto label_86;
                                                                 |         }
    0x000029d6 movs r1, 1                                        |         r1 = 1;
    0x000029d8 blx 0x1744                                        |         r0 = reset_terminal_fd ();
    0x000029dc subs r1, r0, 0                                    |         r1 = r0 - 0;
    0x000029de str r1, [sp, 0x4c]                                |         var_4ch = r1;
                                                                 |         if (r1 < r0) {
    0x000029e0 blt.w 0x2dc6                                      |             goto label_87;
                                                                 |         }
                                                                 | label_31:
    0x000029e4 blx 0x14c8                                        |         r0 = log_get_max_level ();
    0x000029e8 cmp r0, 5                                         |         
                                                                 |         if (r0 <= 5) {
    0x000029ea ble.w 0x2bf2                                      |             goto label_88;
                                                                 |         }
    0x000029ee ldr.w r3, [pc, 0x560]                             |         
    0x000029f2 movs r1, 0                                        |         r1 = 0;
    0x000029f4 ldr.w r2, [pc, 0x55c]                             |         
    0x000029f8 movs r0, 6                                        |         r0 = 6;
    0x000029fa str r6, [sp, 8]                                   |         var_8h = r6;
    0x000029fc add r3, pc                                        |         r3 = 0x5952;
    0x000029fe str r3, [sp, 4]                                   |         var_4h = r3;
    0x00002a00 add r2, pc                                        |         r2 = 0x5958;
    0x00002a02 ldr.w r3, [pc, 0x554]                             |         
    0x00002a06 adds r2, 7                                        |         r2 += 7;
    0x00002a08 add r3, pc                                        |         r3 = 0x5966;
    0x00002a0a str r3, [sp]                                      |         *(sp) = r3;
    0x00002a0c movs r3, 0x9d                                     |         r3 = 0x9d;
    0x00002a0e blx 0x1768                                        |         log_internal ();
    0x00002a12 b 0x2bf2                                          |         goto label_88;
                                                                 |     }
    0x00002a14 blx 0x1840                                        |     r0 = errno_location ();
    0x00002a18 ldr r4, [r0]                                      |     r4 = *(r0);
    0x00002a1a blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002a1e cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00002a20 bgt.w 0x2d7e                                      |         goto label_89;
                                                                 |     }
    0x00002a24 eor.w r0, r4, r4, asr 31                          |     r0 = r4 ^ (r4 >> 31);
    0x00002a28 sub.w r0, r0, r4, asr 31                          |     r0 -= (r4 >> 31);
    0x00002a2c uxtb r0, r0                                       |     r0 = (int8_t) r0;
    0x00002a2e rsbs r7, r0, 0                                    |     r7 = r0 - ;
                                                                 | label_28:
    0x00002a30 cmp r7, 0                                         |     
    0x00002a32 mov.w r3, -1                                      |     r3 = -1;
    0x00002a36 str r3, [sp, 0x44]                                |     var_44h = r3;
                                                                 |     if (r7 >= 0) {
    0x00002a38 blt 0x2a3e                                        |         
    0x00002a3a mvn r7, 0x55                                      |         r7 = ~0x55;
                                                                 |     }
                                                                 | label_22:
    0x00002a3e ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x00002a40 blx 0x157c                                        |     safe_close ();
    0x00002a44 ldr r0, [sp, 0x48]                                |     r0 = var_48h;
    0x00002a46 blx 0x157c                                        |     safe_close ();
    0x00002a4a ldr r0, [sp, 0x44]                                |     r0 = var_44h;
    0x00002a4c blx 0x157c                                        |     safe_close ();
    0x00002a50 ldr.w r2, [pc, 0x508]                             |     r2 = *(0x00002f5c);
    0x00002a54 ldr.w r3, [pc, 0x468]                             |     r3 = *(0x2ec0);
    0x00002a58 add r2, pc                                        |     r2 += pc;
    0x00002a5a ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00002a5c ldr r2, [r3]                                      |     r2 = *(0x2ec0);
    0x00002a5e ldr r3, [sp, 0x22c]                               |     r3 = var_22ch;
    0x00002a60 eors r2, r3                                       |     r2 ^= r3;
    0x00002a62 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00002a66 bne.w 0x2eb8                                      |         goto label_90;
                                                                 |     }
    0x00002a6a mov r0, r7                                        |     r0 = r7;
    0x00002a6c add.w sp, sp, 0x234                               |     
    0x00002a70 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_55:
    0x00002a74 ldr.w r1, [pc, 0x4e8]                             |     
    0x00002a78 mov.w r2, 0x144                                   |     r2 = 0x144;
    0x00002a7c ldr.w r3, [pc, 0x4e4]                             |     
    0x00002a80 movs r0, 3                                        |     r0 = 3;
    0x00002a82 add r1, pc                                        |     r1 = 0x59e6;
    0x00002a84 adds r1, 7                                        |     r1 += 7;
    0x00002a86 add r3, pc                                        |     r3 = 0x59ee;
    0x00002a88 blx 0x184c                                        |     log_oom_internal ();
    0x00002a8c str r0, [sp, 0x1c]                                |     var_1ch = r0;
    0x00002a8e b 0x2706                                          |     goto label_13;
                                                                 | label_64:
    0x00002a90 ldr.w r3, [pc, 0x4d4]                             |     
    0x00002a94 mov r1, r4                                        |     r1 = r4;
    0x00002a96 ldr.w r2, [pc, 0x4d4]                             |     
    0x00002a9a movs r0, 3                                        |     r0 = 3;
    0x00002a9c add r3, pc                                        |     r3 = 0x5a08;
    0x00002a9e str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002aa0 add r2, pc                                        |     r2 = 0x5a12;
    0x00002aa2 ldr.w r3, [pc, 0x4cc]                             |     
    0x00002aa6 adds r2, 7                                        |     r2 += 7;
    0x00002aa8 add r3, pc                                        |     r3 = 0x5a1e;
    0x00002aaa str r3, [sp]                                      |     *(sp) = r3;
    0x00002aac movw r3, 0x119                                    |     r3 = 0x119;
    0x00002ab0 blx 0x1768                                        |     log_internal ();
    0x00002ab4 str r0, [sp, 0x40]                                |     var_40h = r0;
    0x00002ab6 b 0x2750                                          |     goto label_14;
                                                                 | label_65:
    0x00002ab8 ldr.w r3, [pc, 0x4b8]                             |     
    0x00002abc movs r1, 0x4a                                     |     r1 = 0x4a;
    0x00002abe ldr.w r2, [pc, 0x4b8]                             |     
    0x00002ac2 movs r0, 3                                        |     r0 = 3;
    0x00002ac4 movt r1, 0x4000                                   |     r1 = (r1 & 0xFFFF) | 0x40000000;
    0x00002ac8 str r7, [sp, 8]                                   |     var_8h = r7;
    0x00002aca add r3, pc                                        |     r3 = 0x5a42;
    0x00002acc str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002ace add r2, pc                                        |     r2 = 0x5a4c;
    0x00002ad0 ldr.w r3, [pc, 0x4a8]                             |     
    0x00002ad4 adds r2, 7                                        |     r2 += 7;
    0x00002ad6 add r3, pc                                        |     r3 = 0x5a56;
    0x00002ad8 str r3, [sp]                                      |     *(sp) = r3;
    0x00002ada movs r3, 0xcc                                     |     r3 = 0xcc;
    0x00002adc blx 0x1768                                        |     r0 = log_internal ();
    0x00002ae0 subs r4, r0, 0                                    |     r4 = r0 - 0;
    0x00002ae2 it ge                                             |     
                                                                 |     if (r4 < r0) {
    0x00002ae4 mvnge r4, 0x55                                    |         r4 = ~0x55;
                                                                 |     }
    0x00002ae8 b 0x2644                                          |     goto label_4;
                                                                 | label_67:
    0x00002aea ldr.w r3, [pc, 0x494]                             |     
    0x00002aee mov r1, r4                                        |     r1 = r4;
    0x00002af0 ldr.w r2, [pc, 0x490]                             |     
    0x00002af4 movs r0, 3                                        |     r0 = 3;
    0x00002af6 add r3, pc                                        |     r3 = 0x5a7c;
    0x00002af8 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002afa add r2, pc                                        |     r2 = 0x5a82;
    0x00002afc ldr.w r3, [pc, 0x488]                             |     
    0x00002b00 adds r2, 7                                        |     r2 += 7;
    0x00002b02 add r3, pc                                        |     r3 = 0x5a8e;
    0x00002b04 str r3, [sp]                                      |     *(sp) = r3;
    0x00002b06 movw r3, 0x135                                    |     r3 = 0x135;
    0x00002b0a blx 0x1768                                        |     log_internal ();
    0x00002b0e str r0, [sp, 0x1c]                                |     var_1ch = r0;
    0x00002b10 b 0x278c                                          |     goto label_15;
                                                                 | label_68:
    0x00002b12 mov r0, sb                                        |     r0 = sb;
    0x00002b14 blx 0x16fc                                        |     closedir ();
    0x00002b16 ldcl p6, c14, [r2, 0x168]!                        |     __asm ("ldcl p6, c14, [r2, 0x168]!");
                                                                 | label_40:
    0x00002b1a blx 0x1840                                        |     r0 = errno_location ();
    0x00002b1e ldr r4, [r0]                                      |     r4 = *(r0);
    0x00002b20 blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002b24 cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x00002b26 bgt.w 0x2d1c                                      |         goto label_91;
                                                                 |     }
    0x00002b2a eor.w r3, r4, r4, asr 31                          |     r3 = r4 ^ (r4 >> 31);
    0x00002b2e sub.w r3, r3, r4, asr 31                          |     r3 -= (r4 >> 31);
    0x00002b32 uxtb r3, r3                                       |     r3 = (int8_t) r3;
    0x00002b34 rsbs r3, r3, 0                                    |     r3 -= ;
    0x00002b36 str r3, [sp, 0x40]                                |     var_40h = r3;
    0x00002b38 b 0x2750                                          |     goto label_14;
                                                                 | label_56:
    0x00002b3a ldr.w r3, [pc, 0x450]                             |     
    0x00002b3e add r3, pc                                        |     r3 = 0x5ad0;
    0x00002b40 b 0x2680                                          |     goto label_16;
                                                                 | label_53:
    0x00002b42 ldr.w r2, [pc, 0x44c]                             |     
    0x00002b46 add r2, pc                                        |     r2 = 0x5adc;
    0x00002b48 b 0x24e2                                          |     goto label_17;
                                                                 | label_41:
    0x00002b4a ldr.w r1, [pc, 0x448]                             |     
    0x00002b4e mov.w r2, 0x15e                                   |     r2 = 0x15e;
    0x00002b52 ldr.w r3, [pc, 0x444]                             |     
    0x00002b56 ldr.w r0, [pc, 0x444]                             |     
    0x00002b5a add r1, pc                                        |     r1 = 0x5af4;
    0x00002b5c add r3, pc                                        |     r3 = 0x5afa;
    0x00002b5e adds r1, 7                                        |     r1 += 7;
    0x00002b60 add r0, pc                                        |     r0 = 0x5b02;
    0x00002b62 blx 0x1660                                        |     log_assert_failed ();
                                                                 | label_70:
    0x00002b66 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x00002b68 beq.w 0x2d44                                      |         goto label_92;
                                                                 |     }
                                                                 | label_18:
    0x00002b6c ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x00002b6e ldr r5, [r3]                                      |     r5 = *(r3);
    0x00002b70 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x00002b72 beq.w 0x2644                                      |         goto label_4;
                                                                 |     }
                                                                 | label_29:
    0x00002b76 mov r0, r5                                        |     r0 = r5;
    0x00002b78 blx 0x1810                                        |     strv_free_erase ();
    0x00002b7c b 0x2644                                          |     goto label_4;
                                                                 | label_25:
    0x00002b7e rsbs r4, r3, 0                                    |     r4 = r3 - ;
                                                                 | label_20:
    0x00002b80 cmn.w r4, 0x3e                                    |     
                                                                 |     if (r4 != 0x3e) {
    0x00002b84 beq 0x2be8                                        |         
    0x00002b86 adds r2, r4, 2                                    |         r2 = r4 + 2;
                                                                 |         if (r2 == r4) {
    0x00002b88 beq 0x2be8                                        |             goto label_93;
                                                                 |         }
                                                                 | label_33:
    0x00002b8a blx 0x14c8                                        |         r0 = log_get_max_level ();
    0x00002b8e cmp r0, 2                                         |         
                                                                 |         if (r0 <= 2) {
    0x00002b90 ble.w 0x2cb4                                      |             goto label_94;
                                                                 |         }
    0x00002b94 ldr.w r3, [pc, 0x408]                             |         
    0x00002b98 mov r1, r4                                        |         r1 = r4;
    0x00002b9a ldr.w r2, [pc, 0x408]                             |         
    0x00002b9e movs r0, 3                                        |         r0 = 3;
    0x00002ba0 add r3, pc                                        |         r3 = 0x5b44;
    0x00002ba2 str r3, [sp, 4]                                   |         var_4h = r3;
    0x00002ba4 add r2, pc                                        |         r2 = 0x5b4e;
    0x00002ba6 ldr.w r3, [pc, 0x400]                             |         
    0x00002baa adds r2, 7                                        |         r2 += 7;
    0x00002bac add r3, pc                                        |         r3 = 0x5b5a;
    0x00002bae str r3, [sp]                                      |         *(sp) = r3;
    0x00002bb0 movw r3, 0x101                                    |         r3 = 0x101;
    0x00002bb4 blx 0x1768                                        |         r0 = log_internal ();
    0x00002bb8 mov r4, r0                                        |         r4 = r0;
    0x00002bba b 0x2cba                                          |         goto label_30;
                                                                 | label_42:
    0x00002bbc ldr r1, [pc, 0x3ec]                               |         
    0x00002bbe movw r2, 0x15f                                    |         r2 = 0x15f;
    0x00002bc2 ldr r3, [pc, 0x3ec]                               |         
    0x00002bc4 ldr r0, [pc, 0x3ec]                               |         
    0x00002bc6 add r1, pc                                        |         r1 = 0x5b76;
    0x00002bc8 add r3, pc                                        |         r3 = 0x5b7e;
    0x00002bca adds r1, 7                                        |         r1 += 7;
    0x00002bcc add r0, pc                                        |         r0 = 0x5b84;
    0x00002bce blx 0x1660                                        |         log_assert_failed ();
                                                                 | label_43:
    0x00002bd2 ldr r1, [pc, 0x3e4]                               |         
    0x00002bd4 mov.w r2, 0x160                                   |         r2 = 0x160;
    0x00002bd8 ldr r3, [pc, 0x3e0]                               |         
    0x00002bda ldr r0, [pc, 0x3e4]                               |         
    0x00002bdc add r1, pc                                        |         r1 = 0x5b9a;
    0x00002bde add r3, pc                                        |         r3 = 0x5b9e;
    0x00002be0 adds r1, 7                                        |         r1 += 7;
    0x00002be2 add r0, pc                                        |         r0 = 0x5ba8;
    0x00002be4 blx 0x1660                                        |         log_assert_failed ();
                                                                 |     }
                                                                 | label_93:
    0x00002be8 movs r4, 0                                        |     r4 = 0;
    0x00002bea b 0x2b6c                                          |     goto label_18;
                                                                 | label_85:
    0x00002bec mov.w r3, -1                                      |     r3 = -1;
    0x00002bf0 str r3, [sp, 0x2c]                                |     var_2ch = r3;
                                                                 | label_88:
    0x00002bf2 ldrd r2, r3, [sp, 0x20]                           |     __asm ("ldrd r2, r3, [var_20h]");
    0x00002bf6 mov r1, r5                                        |     r1 = r5;
    0x00002bf8 str r4, [sp, 8]                                   |     var_8h = r4;
    0x00002bfa ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x00002bfc strd r2, r3, [sp]                                 |     __asm ("strd r2, r3, [sp]");
    0x00002c00 movs r2, 0                                        |     r2 = 0;
    0x00002c02 ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x00002c04 strd r7, r3, [sp, 0xc]                            |     __asm ("strd r7, r3, [var_ch]");
    0x00002c08 blx 0x15c4                                        |     ask_password_tty ();
    0x00002c0c ldr r3, [pc, 0x3b4]                               |     
    0x00002c0e mov r4, r0                                        |     r4 = r0;
    0x00002c10 add r3, pc                                        |     r3 = 0x5bd8;
    0x00002c12 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00002c14 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00002c16 beq.w 0x2872                                      |         goto label_19;
                                                                 |     }
    0x00002c1a ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x00002c1c blx 0x157c                                        |     safe_close ();
    0x00002c20 blx 0x1774                                        |     release_terminal ();
    0x00002c24 cmp r4, 0                                         |     
                                                                 |     if (r4 < 0) {
    0x00002c26 blt 0x2b80                                        |         goto label_20;
                                                                 |     }
    0x00002c28 blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002c2c cmp r0, 5                                         |     
                                                                 |     if (r0 <= 5) {
    0x00002c2e ble.w 0x2878                                      |         goto label_21;
                                                                 |     }
    0x00002c32 ldr r3, [pc, 0x394]                               |     
    0x00002c34 movs r1, 0                                        |     r1 = 0;
    0x00002c36 ldr r2, [pc, 0x394]                               |     
    0x00002c38 movs r0, 6                                        |     r0 = 6;
    0x00002c3a str r6, [sp, 8]                                   |     var_8h = r6;
    0x00002c3c add r3, pc                                        |     r3 = 0x5c0a;
    0x00002c3e str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002c40 add r2, pc                                        |     r2 = 0x5c12;
    0x00002c42 ldr r3, [pc, 0x38c]                               |     
    0x00002c44 adds r2, 7                                        |     r2 += 7;
    0x00002c46 add r3, pc                                        |     r3 = 0x5c1c;
    0x00002c48 str r3, [sp]                                      |     *(sp) = r3;
    0x00002c4a movs r3, 0xa7                                     |     r3 = 0xa7;
    0x00002c4c blx 0x1768                                        |     log_internal ();
    0x00002c50 b 0x2878                                          |     goto label_21;
                                                                 | label_61:
    0x00002c52 mov r7, r0                                        |     r7 = r0;
    0x00002c54 b 0x2a3e                                          |     goto label_22;
                                                                 | label_83:
    0x00002c56 blx 0x1840                                        |     r0 = errno_location ();
    0x00002c5a ldr r4, [r0]                                      |     r4 = *(r0);
    0x00002c5c blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002c60 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00002c62 bgt 0x2cf4                                        |         goto label_95;
                                                                 |     }
    0x00002c64 eor.w r0, r4, r4, asr 31                          |     r0 = r4 ^ (r4 >> 31);
    0x00002c68 sub.w r0, r0, r4, asr 31                          |     r0 -= (r4 >> 31);
    0x00002c6c uxtb r0, r0                                       |     r0 = (int8_t) r0;
    0x00002c6e rsbs r7, r0, 0                                    |     r7 = r0 - ;
                                                                 | label_27:
    0x00002c70 cmp r7, 0                                         |     
    0x00002c72 it ge                                             |     
                                                                 |     if (r7 < 0) {
    0x00002c74 mvnge r7, 0x55                                    |         r7 = ~0x55;
                                                                 |     }
    0x00002c78 b 0x2a3e                                          |     goto label_22;
                                                                 | label_57:
    0x00002c7a ldr r3, [pc, 0x358]                               |     
    0x00002c7c movs r2, 0xe2                                     |     r2 = 0xe2;
    0x00002c7e ldr r1, [sp, 0x50]                                |     r1 = var_50h;
    0x00002c80 movs r0, 3                                        |     r0 = 3;
    0x00002c82 add r3, pc                                        |     r3 = 0x5c5c;
    0x00002c84 blx 0x184c                                        |     r0 = log_oom_internal ();
    0x00002c88 mov r4, r0                                        |     r4 = r0;
    0x00002c8a b 0x269a                                          |     goto label_23;
                                                                 | label_66:
    0x00002c8c mov r0, sb                                        |     r0 = sb;
    0x00002c8e blx 0x16fc                                        |     closedir ();
    0x00002c92 b 0x26c6                                          |     goto label_6;
                                                                 | label_84:
    0x00002c94 ldr r6, [pc, 0x340]                               |     
    0x00002c96 add r6, pc                                        |     r6 = 0x5c72;
    0x00002c98 b 0x29b8                                          |     goto label_24;
                                                                 | label_86:
    0x00002c9a blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002c9e cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00002ca0 bgt.w 0x2dfc                                      |         goto label_96;
                                                                 |     }
    0x00002ca4 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x00002ca6 rsbs r3, r3, 0                                    |     r3 -= ;
    0x00002ca8 ands r3, r3, 0xff                                 |     r3 &= 0xff;
                                                                 |     if (r3 != r3) {
    0x00002cac bne.w 0x2b7e                                      |         goto label_25;
                                                                 |     }
    0x00002cb0 mvn r4, 0x55                                      |     r4 = ~0x55;
                                                                 | label_94:
    0x00002cb4 rsbs r4, r4, 0                                    |     r4 -= ;
    0x00002cb6 uxtb r0, r4                                       |     r0 = (int8_t) r4;
    0x00002cb8 rsbs r4, r0, 0                                    |     r4 = r0 - ;
                                                                 | label_30:
    0x00002cba cmp r4, 0                                         |     
                                                                 |     if (r4 < 0) {
    0x00002cbc blt.w 0x2b6c                                      |         goto label_18;
                                                                 |     }
    0x00002cc0 mvn r4, 0x55                                      |     r4 = ~0x55;
    0x00002cc4 b 0x2b6c                                          |     goto label_18;
                                                                 | label_79:
    0x00002cc6 blx 0x1840                                        |     r0 = errno_location ();
    0x00002cca ldr r5, [r0]                                      |     r5 = *(r0);
    0x00002ccc blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002cd0 cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x00002cd2 bgt.w 0x2e88                                      |         goto label_97;
                                                                 |     }
                                                                 | label_34:
    0x00002cd6 eor.w r3, r5, r5, asr 31                          |     r3 = r5 ^ (r5 >> 31);
    0x00002cda sub.w r3, r3, r5, asr 31                          |     r3 -= (r5 >> 31);
    0x00002cde uxtb r3, r3                                       |     r3 = (int8_t) r3;
    0x00002ce0 rsbs r3, r3, 0                                    |     r3 -= ;
    0x00002ce2 str r3, [sp, 0x20]                                |     var_20h = r3;
                                                                 | label_35:
    0x00002ce4 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00002ce6 cmp r3, 0                                         |     
                                                                 |     if (r3 < 0) {
    0x00002ce8 blt.w 0x2918                                      |         goto label_26;
                                                                 |     }
    0x00002cec mvn r3, 0x55                                      |     r3 = ~0x55;
    0x00002cf0 str r3, [sp, 0x20]                                |     var_20h = r3;
    0x00002cf2 b 0x2918                                          |     goto label_26;
                                                                 | label_95:
    0x00002cf4 ldr r3, [pc, 0x2e4]                               |     
    0x00002cf6 mov r1, r4                                        |     r1 = r4;
    0x00002cf8 movs r0, 3                                        |     r0 = 3;
    0x00002cfa add r3, pc                                        |     r3 = 0x5cda;
    0x00002cfc adds r2, r3, 7                                    |     r2 = r3 + 7;
    0x00002cfe ldr r3, [pc, 0x2e0]                               |     
    0x00002d00 add r3, pc                                        |     r3 = 0x5ce6;
    0x00002d02 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002d04 ldr r3, [pc, 0x2dc]                               |     
    0x00002d06 add r3, pc                                        |     r3 = 0x5cee;
    0x00002d08 str r3, [sp]                                      |     *(sp) = r3;
    0x00002d0a movw r3, 0x16b                                    |     r3 = 0x16b;
    0x00002d0e blx 0x1768                                        |     r0 = log_internal ();
    0x00002d12 mov r7, r0                                        |     r7 = r0;
    0x00002d14 b 0x2c70                                          |     goto label_27;
                                                                 | label_72:
    0x00002d16 mvn r4, 0x7c                                      |     r4 = ~0x7c;
    0x00002d1a b 0x2644                                          |     goto label_4;
                                                                 | label_91:
    0x00002d1c ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x00002d1e mov r1, r4                                        |     r1 = r4;
    0x00002d20 ldr r2, [pc, 0x2c4]                               |     
    0x00002d22 movs r0, 7                                        |     r0 = 7;
    0x00002d24 ldr r3, [r3]                                      |     r3 = *(r3);
    0x00002d26 add r2, pc                                        |     r2 = 0x5d12;
    0x00002d28 adds r2, 7                                        |     r2 += 7;
    0x00002d2a str r3, [sp, 8]                                   |     var_8h = r3;
    0x00002d2c ldr r3, [pc, 0x2bc]                               |     
    0x00002d2e add r3, pc                                        |     r3 = 0x5d1e;
    0x00002d30 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002d32 ldr r3, [pc, 0x2bc]                               |     
    0x00002d34 add r3, pc                                        |     r3 = 0x5d2a;
    0x00002d36 str r3, [sp]                                      |     *(sp) = r3;
    0x00002d38 movw r3, 0x123                                    |     r3 = 0x123;
    0x00002d3c blx 0x1768                                        |     log_internal ();
    0x00002d40 str r0, [sp, 0x40]                                |     var_40h = r0;
    0x00002d42 b 0x2750                                          |     goto label_14;
                                                                 | label_92:
    0x00002d44 blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002d48 cmp r0, 5                                         |     
                                                                 |     if (r0 <= 5) {
    0x00002d4a ble.w 0x2b6c                                      |         goto label_18;
                                                                 |     }
    0x00002d4e ldr.w r3, [sl]                                    |     r3 = *(sl);
    0x00002d52 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00002d54 beq.w 0x2ea8                                      |         goto label_98;
                                                                 |     }
                                                                 | label_36:
    0x00002d58 str r3, [sp, 8]                                   |     var_8h = r3;
    0x00002d5a movs r1, 0                                        |     r1 = 0;
    0x00002d5c ldr r3, [r5]                                      |     r3 = *(r5);
    0x00002d5e movs r0, 6                                        |     r0 = 6;
    0x00002d60 ldr r2, [pc, 0x290]                               |     
    0x00002d62 movs r4, 0                                        |     r4 = 0;
    0x00002d64 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00002d66 ldr r3, [pc, 0x290]                               |     
    0x00002d68 add r2, pc                                        |     r2 = 0x5d60;
    0x00002d6a adds r2, 7                                        |     r2 += 7;
    0x00002d6c add r3, pc                                        |     r3 = 0x5d6a;
    0x00002d6e str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002d70 ldr r3, [pc, 0x288]                               |     
    0x00002d72 add r3, pc                                        |     r3 = 0x5d72;
    0x00002d74 str r3, [sp]                                      |     *(sp) = r3;
    0x00002d76 movs r3, 0xee                                     |     r3 = 0xee;
    0x00002d78 blx 0x1768                                        |     log_internal ();
    0x00002d7c b 0x2b6c                                          |     goto label_18;
                                                                 | label_89:
    0x00002d7e ldr r3, [pc, 0x280]                               |     
    0x00002d80 mov r1, r4                                        |     r1 = r4;
    0x00002d82 ldr r2, [pc, 0x280]                               |     
    0x00002d84 movs r0, 3                                        |     r0 = 3;
    0x00002d86 add r3, pc                                        |     r3 = 0x5d8c;
    0x00002d88 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002d8a add r2, pc                                        |     r2 = 0x5d94;
    0x00002d8c ldr r3, [pc, 0x278]                               |     
    0x00002d8e adds r2, 7                                        |     r2 += 7;
    0x00002d90 add r3, pc                                        |     r3 = 0x5d9c;
    0x00002d92 str r3, [sp]                                      |     *(sp) = r3;
    0x00002d94 movw r3, 0x165                                    |     r3 = 0x165;
    0x00002d98 blx 0x1768                                        |     r0 = log_internal ();
    0x00002d9c mov r7, r0                                        |     r7 = r0;
    0x00002d9e b 0x2a30                                          |     goto label_28;
                                                                 | label_73:
    0x00002da0 mvn r4, 0x7c                                      |     r4 = ~0x7c;
    0x00002da4 b 0x2b76                                          |     goto label_29;
                                                                 | label_77:
    0x00002da6 mvn r3, 0xb                                       |     r3 = ~0xb;
    0x00002daa str r3, [sp, 0x20]                                |     var_20h = r3;
                                                                 | label_75:
    0x00002dac mov.w r0, -1                                      |     r0 = -1;
    0x00002db0 blx 0x157c                                        |     safe_close ();
                                                                 | label_82:
    0x00002db4 blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002db8 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00002dba bgt 0x2e26                                        |         goto label_99;
                                                                 |     }
    0x00002dbc ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00002dbe rsbs r0, r3, 0                                    |     r0 = r3 - ;
    0x00002dc0 uxtb r0, r0                                       |     r0 = (int8_t) r0;
    0x00002dc2 rsbs r4, r0, 0                                    |     r4 = r0 - ;
    0x00002dc4 b 0x2cba                                          |     goto label_30;
                                                                 | label_87:
    0x00002dc6 blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002dca cmp r0, 3                                         |     
    0x00002dcc ldr r1, [sp, 0x4c]                                |     r1 = var_4ch;
                                                                 |     if (r0 <= 3) {
    0x00002dce ble.w 0x29e4                                      |         goto label_31;
                                                                 |     }
    0x00002dd2 ldr r3, [pc, 0x238]                               |     
    0x00002dd4 movs r0, 4                                        |     r0 = 4;
    0x00002dd6 ldr r2, [pc, 0x238]                               |     
    0x00002dd8 add r3, pc                                        |     r3 = 0x5dea;
    0x00002dda str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002ddc add r2, pc                                        |     r2 = 0x5df2;
    0x00002dde ldr r3, [pc, 0x234]                               |     
    0x00002de0 adds r2, 7                                        |     r2 += 7;
    0x00002de2 add r3, pc                                        |     r3 = 0x5dfc;
    0x00002de4 str r3, [sp]                                      |     *(sp) = r3;
    0x00002de6 movs r3, 0x9b                                     |     r3 = 0x9b;
    0x00002de8 blx 0x1768                                        |     log_internal ();
    0x00002dec b 0x29e4                                          |     goto label_31;
                                                                 | label_81:
    0x00002dee mov r1, r0                                        |     r1 = r0;
    0x00002df0 mov.w r2, -1                                      |     r2 = -1;
    0x00002df4 mov r0, r6                                        |     r0 = r6;
    0x00002df6 blx 0x166c                                        |     explicit_bzero_chk ();
    0x00002dfa b 0x292a                                          |     goto label_32;
                                                                 | label_96:
    0x00002dfc ldr r3, [pc, 0x218]                               |     
    0x00002dfe movs r0, 3                                        |     r0 = 3;
    0x00002e00 ldr r2, [pc, 0x218]                               |     
    0x00002e02 ldr r1, [sp, 0x2c]                                |     r1 = var_2ch;
    0x00002e04 add r3, pc                                        |     r3 = 0x5e20;
    0x00002e06 str r6, [sp, 8]                                   |     var_8h = r6;
    0x00002e08 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002e0a add r2, pc                                        |     r2 = 0x5e2a;
    0x00002e0c ldr r3, [pc, 0x210]                               |     
    0x00002e0e adds r2, 7                                        |     r2 += 7;
    0x00002e10 add r3, pc                                        |     r3 = 0x5e34;
    0x00002e12 str r3, [sp]                                      |     *(sp) = r3;
    0x00002e14 movs r3, 0x97                                     |     r3 = 0x97;
    0x00002e16 blx 0x1768                                        |     r0 = log_internal ();
    0x00002e1a subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00002e1c blt.w 0x2b80                                      |         goto label_20;
                                                                 |     }
    0x00002e20 mvn r4, 0x55                                      |     r4 = ~0x55;
    0x00002e24 b 0x2b8a                                          |     goto label_33;
                                                                 | label_99:
    0x00002e26 ldr r3, [pc, 0x1fc]                               |     
    0x00002e28 movs r0, 3                                        |     r0 = 3;
    0x00002e2a ldr r1, [sp, 0x20]                                |     r1 = var_20h;
    0x00002e2c ldr r2, [sp, 0x54]                                |     r2 = var_54h;
    0x00002e2e add r3, pc                                        |     r3 = 0x5e58;
    0x00002e30 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002e32 ldr r3, [pc, 0x1f4]                               |     
    0x00002e34 add r3, pc                                        |     r3 = 0x5e62;
    0x00002e36 str r3, [sp]                                      |     *(sp) = r3;
    0x00002e38 movw r3, 0x109                                    |     r3 = 0x109;
    0x00002e3c blx 0x1768                                        |     r0 = log_internal ();
    0x00002e40 mov r4, r0                                        |     r4 = r0;
    0x00002e42 b 0x2cba                                          |     goto label_30;
                                                                 | label_80:
    0x00002e44 blx 0x1840                                        |     r0 = errno_location ();
    0x00002e48 ldr r5, [r0]                                      |     r5 = *(r0);
    0x00002e4a blx 0x14c8                                        |     r0 = log_get_max_level ();
    0x00002e4e cmp r0, 6                                         |     
                                                                 |     if (r0 <= 6) {
    0x00002e50 ble.w 0x2cd6                                      |         goto label_34;
                                                                 |     }
    0x00002e54 ldr r3, [pc, 0x1d4]                               |     
    0x00002e56 mov r1, r5                                        |     r1 = r5;
    0x00002e58 ldr r2, [pc, 0x1d4]                               |     
    0x00002e5a movs r0, 7                                        |     r0 = 7;
    0x00002e5c add r3, pc                                        |     r3 = 0x5e8c;
    0x00002e5e str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002e60 add r2, pc                                        |     r2 = 0x5e94;
    0x00002e62 ldr r3, [pc, 0x1d0]                               |     
    0x00002e64 adds r2, 7                                        |     r2 += 7;
    0x00002e66 add r3, pc                                        |     r3 = 0x5ea0;
    0x00002e68 str r3, [sp]                                      |     *(sp) = r3;
    0x00002e6a movs r3, 0x5c                                     |     r3 = 0x5c;
    0x00002e6c blx 0x1768                                        |     log_internal ();
    0x00002e70 str r0, [sp, 0x20]                                |     var_20h = r0;
    0x00002e72 b 0x2ce4                                          |     goto label_35;
                                                                 | label_74:
    0x00002e74 ldr r1, [pc, 0x1c0]                               |     
    0x00002e76 movs r2, 0x42                                     |     r2 = 0x42;
    0x00002e78 ldr r3, [pc, 0x1c0]                               |     
    0x00002e7a ldr r0, [pc, 0x1c4]                               |     
    0x00002e7c add r1, pc                                        |     r1 = 0x5eb8;
    0x00002e7e add r3, pc                                        |     r3 = 0x5ebe;
    0x00002e80 adds r1, 7                                        |     r1 += 7;
    0x00002e82 add r0, pc                                        |     r0 = 0x5ec8;
    0x00002e84 blx 0x1660                                        |     log_assert_failed ();
                                                                 | label_97:
    0x00002e88 ldr r3, [pc, 0x1b8]                               |     
    0x00002e8a mov r1, r5                                        |     r1 = r5;
    0x00002e8c ldr r2, [pc, 0x1b8]                               |     
    0x00002e8e movs r0, 7                                        |     r0 = 7;
    0x00002e90 add r3, pc                                        |     r3 = 0x5ed8;
    0x00002e92 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002e94 add r2, pc                                        |     r2 = 0x5ee0;
    0x00002e96 ldr r3, [pc, 0x1b4]                               |     
    0x00002e98 adds r2, 7                                        |     r2 += 7;
    0x00002e9a add r3, pc                                        |     r3 = 0x5eec;
    0x00002e9c str r3, [sp]                                      |     *(sp) = r3;
    0x00002e9e movs r3, 0x58                                     |     r3 = 0x58;
    0x00002ea0 blx 0x1768                                        |     log_internal ();
    0x00002ea4 str r0, [sp, 0x20]                                |     var_20h = r0;
    0x00002ea6 b 0x2ce4                                          |     goto label_35;
                                                                 | label_98:
    0x00002ea8 ldr r3, [pc, 0x1a4]                               |     
    0x00002eaa add r3, pc                                        |     r3 = 0x5efe;
    0x00002eac b 0x2d58                                          |     goto label_36;
                                                                 | label_37:
    0x00002eae mvn r3, 0x18                                      |     r3 = ~0x18;
    0x00002eb2 str r3, [sp, 0x40]                                |     var_40h = r3;
    0x00002eb4 b.w 0x2404                                        |     goto label_10;
                                                                 | label_90:
    0x00002eb8 blx 0x172c                                        |     stack_chk_fail ();
    0x00002ebc subs r2, r2, r3                                   |     r2 -= r3;
    0x00002ebe movs r1, r0                                       |     r1 = r0;
    0x00002ec0 lsls r0, r1, 6                                    |     r0 = r1 << 6;
    0x00002ec2 movs r0, r0                                       |     
    0x00002ec4 subs r6, r6, r2                                   |     r6 -= r2;
    0x00002ec6 movs r1, r0                                       |     r1 = r0;
    0x00002ec8 lsrs r6, r3, 0x14                                 |     r6 = r3 >> 0x14;
    0x00002eca movs r0, r0                                       |     
    0x00002ecc lsrs r6, r7, 0x13                                 |     r6 = r7 >> 0x13;
    0x00002ece movs r0, r0                                       |     
    0x00002ed0 lsrs r4, r1, 0x10                                 |     r4 = r1 >> 0x10;
    0x00002ed2 movs r0, r0                                       |     
    0x00002ed4 lsrs r2, r0, 0x10                                 |     r2 = r0 >> 0x10;
    0x00002ed6 movs r0, r0                                       |     
    0x00002ed8 lsrs r0, r3, 0x12                                 |     r0 = r3 >> 0x12;
    0x00002eda movs r0, r0                                       |     
    0x00002edc lsrs r6, r5, 0x16                                 |     r6 = r5 >> 0x16;
    0x00002ede movs r0, r0                                       |     
    0x00002ee0 lsrs r2, r6, 0x11                                 |     r2 = r6 >> 0x11;
    0x00002ee2 movs r0, r0                                       |     
    0x00002ee4 subs r0, r7, r4                                   |     r0 = r7 - r4;
    0x00002ee6 movs r1, r0                                       |     r1 = r0;
    0x00002ee8 lsrs r6, r7, 0x16                                 |     r6 = r7 >> 0x16;
    0x00002eea movs r0, r0                                       |     
    0x00002eec lsrs r2, r6, 0x12                                 |     r2 = r6 >> 0x12;
    0x00002eee movs r0, r0                                       |     
    0x00002ef0 lsrs r2, r5, 0x12                                 |     r2 = r5 >> 0x12;
    0x00002ef2 movs r0, r0                                       |     
    0x00002ef4 lsrs r0, r6, 0x12                                 |     r0 = r6 >> 0x12;
    0x00002ef6 movs r0, r0                                       |     
    0x00002ef8 lsls r4, r0, 6                                    |     r4 = r0 << 6;
    0x00002efa movs r0, r0                                       |     
    0x00002efc lsls r4, r1, 6                                    |     r4 = r1 << 6;
    0x00002efe movs r0, r0                                       |     
    0x00002f00 lsrs r2, r3, 0x12                                 |     r2 = r3 >> 0x12;
    0x00002f02 movs r0, r0                                       |     
    0x00002f04 lsrs r2, r2, 0x12                                 |     r2 >>= 0x12;
    0x00002f06 movs r0, r0                                       |     
    0x00002f08 lsls r4, r4, 6                                    |     r4 <<= 6;
    0x00002f0a movs r0, r0                                       |     
    0x00002f0c lsrs r4, r7, 0x11                                 |     r4 = r7 >> 0x11;
    0x00002f0e movs r0, r0                                       |     
    0x00002f10 lsls r0, r5, 6                                    |     r0 = r5 << 6;
    0x00002f12 movs r0, r0                                       |     
    0x00002f14 lsrs r2, r4, 0x11                                 |     r2 = r4 >> 0x11;
    0x00002f16 movs r0, r0                                       |     
    0x00002f18 lsrs r2, r3, 0x11                                 |     r2 = r3 >> 0x11;
    0x00002f1a movs r0, r0                                       |     
    0x00002f1c lsls r4, r6, 5                                    |     r4 = r6 << 5;
    0x00002f1e movs r0, r0                                       |     
    0x00002f20 lsrs r4, r5, 0x10                                 |     r4 = r5 >> 0x10;
    0x00002f22 movs r0, r0                                       |     
    0x00002f24 lsrs r6, r7, 8                                    |     r6 = r7 >> 8;
    0x00002f26 movs r0, r0                                       |     
    0x00002f28 lsrs r6, r6, 2                                    |     r6 >>= 2;
    0x00002f2a movs r0, r0                                       |     
    0x00002f2c asrs r6, r6, 0xd                                  |     r6 >>= 0xd;
    0x00002f2e movs r0, r0                                       |     
    0x00002f30 lsrs r4, r3, 0x11                                 |     r4 = r3 >> 0x11;
    0x00002f32 movs r0, r0                                       |     
    0x00002f34 lsrs r4, r7, 1                                    |     r4 = r7 >> 1;
    0x00002f36 movs r0, r0                                       |     
    0x00002f38 asrs r0, r3, 0xa                                  |     r0 = r3 >> 0xa;
    0x00002f3a movs r0, r0                                       |     
    0x00002f3c asrs r7, r3, 0x1f                                 |     r7 = r3 >> 0x1f;
    0x00002f3e movs r1, r0                                       |     r1 = r0;
    0x00002f40 asrs r4, r7, 0x1e                                 |     r4 = r7 >> 0x1e;
    0x00002f42 movs r1, r0                                       |     r1 = r0;
    0x00002f44 lsls r0, r2, 0x1b                                 |     r0 = r2 << 0x1b;
    0x00002f46 movs r0, r0                                       |     
    0x00002f48 asrs r4, r5, 6                                    |     r4 = r5 >> 6;
    0x00002f4a movs r0, r0                                       |     
    0x00002f4c asrs r2, r3, 0x19                                 |     r2 = r3 >> 0x19;
    0x00002f4e movs r1, r0                                       |     r1 = r0;
    0x00002f50 lsrs r0, r4, 6                                    |     r0 = r4 >> 6;
    0x00002f52 movs r0, r0                                       |     
    0x00002f54 lsls r4, r5, 0x19                                 |     r4 = r5 << 0x19;
    0x00002f56 movs r0, r0                                       |     
    0x00002f58 asrs r4, r5, 3                                    |     r4 = r5 >> 3;
    0x00002f5a movs r0, r0                                       |     
    0x00002f5c asrs r0, r6, 0xf                                  |     r0 = r6 >> 0xf;
    0x00002f5e movs r1, r0                                       |     r1 = r0;
    0x00002f60 lsls r2, r5, 0x17                                 |     r2 = r5 << 0x17;
    0x00002f62 movs r0, r0                                       |     
    0x00002f64 asrs r6, r5, 2                                    |     r6 = r5 >> 2;
    0x00002f66 movs r0, r0                                       |     
    0x00002f68 lsls r4, r1, 0x18                                 |     r4 = r1 << 0x18;
    0x00002f6a movs r0, r0                                       |     
    0x00002f6c lsls r4, r1, 0x17                                 |     r4 = r1 << 0x17;
    0x00002f6e movs r0, r0                                       |     
    0x00002f70 asrs r4, r4, 2                                    |     r4 >>= 2;
    0x00002f72 movs r0, r0                                       |     
    0x00002f74 lsls r2, r0, 0x1f                                 |     r2 = r0 << 0x1f;
    0x00002f76 movs r0, r0                                       |     
    0x00002f78 lsls r6, r3, 0x16                                 |     r6 = r3 << 0x16;
    0x00002f7a movs r0, r0                                       |     
    0x00002f7c asrs r2, r0, 1                                    |     r2 = r0 >> 1;
    0x00002f7e movs r0, r0                                       |     
    0x00002f80 lsls r2, r5, 0x1c                                 |     r2 = r5 << 0x1c;
    0x00002f82 movs r0, r0                                       |     
    0x00002f84 lsls r2, r6, 0x15                                 |     r2 = r6 << 0x15;
    0x00002f86 movs r0, r0                                       |     
    0x00002f88 asrs r2, r6, 0x20                                 |     r2 = r6 >> 0x20;
    0x00002f8a movs r0, r0                                       |     
    0x00002f8c lsls r2, r3, 0x14                                 |     r2 = r3 << 0x14;
    0x00002f8e movs r0, r0                                       |     
    0x00002f90 lsls r2, r2, 0x14                                 |     r2 <<= 0x14;
    0x00002f92 movs r0, r0                                       |     
    0x00002f94 lsls r2, r2, 0x14                                 |     r2 <<= 0x14;
    0x00002f96 movs r0, r0                                       |     
    0x00002f98 lsrs r4, r1, 0x1b                                 |     r4 = r1 >> 0x1b;
    0x00002f9a movs r0, r0                                       |     
    0x00002f9c lsls r0, r1, 0x17                                 |     r0 = r1 << 0x17;
    0x00002f9e movs r0, r0                                       |     
    0x00002fa0 lsrs r0, r1, 1                                    |     r0 = r1 >> 1;
    0x00002fa2 movs r0, r0                                       |     
    0x00002fa4 lsls r0, r1, 0x13                                 |     r0 = r1 << 0x13;
    0x00002fa6 movs r0, r0                                       |     
    0x00002fa8 lsrs r4, r5, 0x1d                                 |     r4 = r5 >> 0x1d;
    0x00002faa movs r0, r0                                       |     
    0x00002fac lsls r6, r4, 0x12                                 |     r6 = r4 << 0x12;
    0x00002fae movs r0, r0                                       |     
    0x00002fb0 lsrs r0, r4, 0x19                                 |     r0 = r4 >> 0x19;
    0x00002fb2 movs r0, r0                                       |     
    0x00002fb4 lsls r4, r6, 0x15                                 |     r4 = r6 << 0x15;
    0x00002fb6 movs r0, r0                                       |     
    0x00002fb8 lsls r0, r2, 0x12                                 |     r0 = r2 << 0x12;
    0x00002fba movs r0, r0                                       |     
    0x00002fbc lsrs r2, r1, 0x19                                 |     r2 = r1 >> 0x19;
    0x00002fbe movs r0, r0                                       |     
    0x00002fc0 lsls r2, r1, 0x16                                 |     r2 = r1 << 0x16;
    0x00002fc2 movs r0, r0                                       |     
    0x00002fc4 asrs r5, r6, 0xf                                  |     r5 = r6 >> 0xf;
    0x00002fc6 movs r1, r0                                       |     r1 = r0;
    0x00002fc8 lsls r0, r0, 0x1e                                 |     r0 <<= 0x1e;
    0x00002fca movs r0, r0                                       |     
    0x00002fcc lsls r4, r5, 0x10                                 |     r4 = r5 << 0x10;
    0x00002fce movs r0, r0                                       |     
    0x00002fd0 lsrs r6, r5, 0x1a                                 |     r6 = r5 >> 0x1a;
    0x00002fd2 movs r0, r0                                       |     
    0x00002fd4 lsrs r6, r2, 0x1a                                 |     r6 = r2 >> 0x1a;
    0x00002fd6 movs r0, r0                                       |     
    0x00002fd8 lsls r6, r0, 0xf                                  |     r6 = r0 << 0xf;
    0x00002fda movs r0, r0                                       |     
    0x00002fdc lsls r2, r6, 0xd                                  |     r2 = r6 << 0xd;
    0x00002fde movs r0, r0                                       |     
    0x00002fe0 lsls r0, r1, 0x13                                 |     r0 = r1 << 0x13;
    0x00002fe2 movs r0, r0                                       |     
    0x00002fe4 lsrs r2, r1, 0x16                                 |     r2 = r1 >> 0x16;
    0x00002fe6 movs r0, r0                                       |     
    0x00002fe8 lsls r6, r0, 0xd                                  |     r6 = r0 << 0xd;
    0x00002fea movs r0, r0                                       |     
    0x00002fec lsls r6, r0, 0xf                                  |     r6 = r0 << 0xf;
    0x00002fee movs r0, r0                                       |     
    0x00002ff0 lsrs r0, r3, 0x18                                 |     r0 = r3 >> 0x18;
    0x00002ff2 movs r0, r0                                       |     
    0x00002ff4 lsls r4, r0, 0xc                                  |     r4 = r0 << 0xc;
    0x00002ff6 movs r0, r0                                       |     
    0x00002ff8 lsls r4, r7, 0x16                                 |     r4 = r7 << 0x16;
    0x00002ffa movs r0, r0                                       |     
    0x00002ffc lsrs r6, r4, 0x16                                 |     r6 = r4 >> 0x16;
    0x00002ffe movs r0, r0                                       |     
    0x00003000 lsls r2, r2, 0x10                                 |     r2 <<= 0x10;
    0x00003002 movs r0, r0                                       |     
    0x00003004 lsls r2, r4, 0xb                                  |     r2 = r4 << 0xb;
    0x00003006 movs r0, r0                                       |     
    0x00003008 lsrs r0, r0, 0x14                                 |     r0 >>= 0x14;
    0x0000300a movs r0, r0                                       |     
    0x0000300c lsls r4, r3, 0x16                                 |     r4 = r3 << 0x16;
    0x0000300e movs r0, r0                                       |     
    0x00003010 lsls r0, r2, 0xa                                  |     r0 = r2 << 0xa;
    0x00003012 movs r0, r0                                       |     
    0x00003014 lsrs r2, r2, 0x14                                 |     r2 >>= 0x14;
    0x00003016 movs r0, r0                                       |     
    0x00003018 lsls r4, r2, 0x15                                 |     r4 = r2 << 0x15;
    0x0000301a movs r0, r0                                       |     
    0x0000301c lsls r2, r4, 9                                    |     r2 = r4 << 9;
    0x0000301e movs r0, r0                                       |     
    0x00003020 lsrs r4, r4, 0x13                                 |     r4 >>= 0x13;
    0x00003022 movs r0, r0                                       |     
    0x00003024 lsls r6, r0, 0x18                                 |     r6 = r0 << 0x18;
    0x00003026 movs r0, r0                                       |     
    0x00003028 lsrs r4, r4, 0x13                                 |     r4 >>= 0x13;
    0x0000302a movs r0, r0                                       |     
    0x0000302c lsls r0, r1, 0x17                                 |     r0 = r1 << 0x17;
    0x0000302e movs r0, r0                                       |     
    0x00003030 lsls r4, r1, 8                                    |     r4 = r1 << 8;
    0x00003032 movs r0, r0                                       |     
    0x00003034 lsrs r2, r3, 0x10                                 |     r2 = r3 >> 0x10;
    0x00003036 movs r0, r0                                       |     
    0x00003038 lsls r0, r6, 7                                    |     r0 = r6 << 7;
    0x0000303a movs r0, r0                                       |     
    0x0000303c lsrs r2, r3, 0xe                                  |     r2 = r3 >> 0xe;
    0x0000303e movs r0, r0                                       |     
    0x00003040 lsls r6, r0, 0x16                                 |     r6 = r0 << 0x16;
    0x00003042 movs r0, r0                                       |     
    0x00003044 lsls r4, r0, 0x16                                 |     r4 = r0 << 0x16;
    0x00003046 movs r0, r0                                       |     
    0x00003048 lsls r0, r3, 7                                    |     r0 = r3 << 7;
    0x0000304a movs r0, r0                                       |     
    0x0000304c lsrs r6, r4, 0xf                                  |     r6 = r4 >> 0xf;
    0x0000304e movs r0, r0                                       |     
    0x00003050 lsls r6, r5, 6                                    |     r6 = r5 << 6;
    0x00003052 movs r0, r0                                       |     
                                                                 |     /* [14] -r-x section size 8 named .fini */
    0x00003054 ands r0, r1                                       |     r0 &= r1;
    0x00003056 invalid                                           |     
                                                                 | }

[*] Function sprintf used 3 times systemd-tty-ask-password-agent