[*] 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