[*] Binary protection state of systemctl
Full RELRO Canary found NX enabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of systemctl
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/systemctl @ 0x16408 */
| #include <stdint.h>
|
| #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
|
; (fcn) fcn.00016408 () | void fcn_00016408 (int16_t arg_0h, int16_t arg_1h, int16_t arg_24h, int16_t arg_2ch, int16_t arg_30h, int16_t arg_34h, int16_t arg_38h, int16_t arg_3ch, int16_t arg_40h, int16_t arg_44h, int16_t arg_48h, int16_t arg_4ch, int16_t arg_50h, int16_t arg_54h, int16_t arg_58h, int16_t arg_64h, int16_t arg_68h, int16_t arg_6ch, int16_t arg_70h, int16_t arg_74h, int16_t arg_78h, int16_t arg_80h, int16_t arg_84h, int16_t arg_88h, int16_t arg_8ch, int16_t arg_90h, int16_t arg_98h, int16_t arg_a0h, int16_t c, int16_t arg_b8h, int16_t arg_c0h, int16_t arg_264h, int16_t arg_274h, int16_t arg_29ch, int16_t arg_2c4h, int16_t arg_3c4h, int16_t arg_4c4h, int16_t arg_4f8h, int16_t arg_4fch, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| int16_t var_10h;
| int16_t var_1ch;
| int16_t var_20h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| r3 = arg4;
0x00016408 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x0001640c mov r8, r2 | r8 = r2;
0x0001640e ldr.w r2, [pc, 0xb38] |
0x00016412 mov r6, r3 | r6 = r3;
0x00016414 mov.w sl, 0 | sl = 0;
0x00016416 lsrs r0, r0, 8 | r0 >>= 8;
0x00016418 mov r5, r1 | r5 = r1;
0x0001641a ldr.w r3, [pc, 0xb30] | r3 = *(0x16f4e);
0x0001641e mov r1, sl | r1 = sl;
0x00016420 vpush {d8} | __asm ("vpush {d8}");
0x00016424 subw sp, sp, 0x4cc | __asm ("subw sp, sp, 0x4cc");
0x00016428 add r2, pc | r2 = 0x2d376;
0x0001642a add r7, sp, 0x68 | r7 += arg_68h;
0x0001642c str r0, [sp, 0x2c] | *(arg_2ch) = r0;
0x0001642e add r4, sp, 0xc0 | r4 += arg_c0h;
0x00016430 str r7, [sp, 0x38] | *(arg_38h) = r7;
0x00016432 mov r0, r4 | r0 = r4;
0x00016434 ldr r3, [r2, r3] |
0x00016436 mov.w r2, 0x1a0 | r2 = 0x1a0;
0x0001643a vmov.i32 d16, 0 | __asm ("vmov.i32 d16, 0");
0x0001643e ldr.w sb, [sp, 0x4f8] | sb = *(arg_4f8h);
0x00016442 ldr r3, [r3] | r3 = *(0x2d376);
0x00016444 str.w r3, [sp, 0x4c4] | __asm ("str.w r3, [arg_4c4h]");
0x00016448 mov.w r3, 0 | r3 = 0;
0x0001644c add r3, sp, 0x90 | r3 += arg_90h;
0x0001644e str r3, [sp, 0x34] | *(arg_34h) = r3;
0x00016450 add r3, sp, 0x64 | r3 += arg_64h;
0x00016452 str r3, [sp, 0x30] | *(arg_30h) = r3;
0x00016454 ldr.w r3, [sp, 0x4fc] | r3 = *(arg_4fch);
0x00016458 vstr d16, [sp, 0x90] | __asm ("vstr d16, [sp, 0x90]");
0x0001645c str.w sl, [r7] | __asm ("str.w sl, [r7]");
0x00016460 str r3, [sp, 0x40] | *(arg_40h) = r3;
0x00016462 str.w sl, [sp, 0x98] | __asm ("str.w sl, [arg_98h]");
0x00016464 adr r0, 0x260 | r0 = 0x260;
0x00016466 str.w sl, [sp, 0x64] | __asm ("str.w sl, [arg_64h]");
0x0001646a blx 0x5d50 | fcn_00005d50 ();
0x0001646e ldr.w r3, [pc, 0xae0] |
0x00016472 vmov.i8 q8, 0xff | __asm ("vmov.i8 q8, 0xff");
0x00016476 vmov.i8 d18, 0xff | __asm ("vmov.i8 d18, 0xff");
0x0001647a add r3, pc | r3 = 0x2d3d0;
0x0001647c vstr d16, [r4, 0x128] | __asm ("vstr d16, [r4, 0x128]");
0x00016480 vstr d17, [r4, 0x130] | __asm ("vstr d17, [r4, 0x130]");
0x00016484 vstr d18, [r4, 0x110] | __asm ("vstr d18, [r4, 0x110]");
0x00016486 cmp r3, 0x44 |
0x00016488 vstr d16, [r4, 0x138] | __asm ("vstr d16, [r4, 0x138]");
0x0001648c vstr d17, [r4, 0x140] | __asm ("vstr d17, [r4, 0x140]");
0x00016490 str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x00016492 vstr d16, [r4, 0x148] | __asm ("vstr d16, [r4, 0x148]");
0x00016496 vstr d17, [r4, 0x150] | __asm ("vstr d17, [r4, 0x150]");
0x0001649a vstr d16, [r4, 0x158] | __asm ("vstr d16, [r4, 0x158]");
0x0001649e vstr d17, [r4, 0x160] | __asm ("vstr d17, [r4, 0x160]");
0x000164a2 vstr d16, [r4, 0x168] | __asm ("vstr d16, [r4, 0x168]");
0x000164a6 vstr d17, [r4, 0x170] | __asm ("vstr d17, [r4, 0x170]");
0x000164aa vstr d16, [r4, 0x178] | __asm ("vstr d16, [r4, 0x178]");
0x000164ae vstr d17, [r4, 0x180] | __asm ("vstr d17, [r4, 0x180]");
0x000164b2 cmp r5, 0 |
| if (r5 == 0) {
0x000164b4 beq.w 0x16a4c | goto label_76;
| }
0x000164b8 blx 0x5cd4 | r0 = gethostname_full ();
0x000164bc cmp r0, 6 |
| if (r0 > 6) {
0x000164be bgt.w 0x16606 | goto label_77;
| }
| label_4:
0x000164c2 cmp r6, 1 |
| if (r6 == 1) {
0x000164c4 beq.w 0x165fe | goto label_78;
| }
0x000164c8 ldr.w r3, [pc, 0xa88] |
0x000164cc add r3, pc | r3 = 0x2d424;
| label_3:
0x000164ce ldr r1, [sp, 0x30] | r1 = *(arg_30h);
0x000164d0 mov r2, r5 | r2 = r5;
0x000164d2 ldr r0, [sp, 0x2c] | r0 = *(arg_2ch);
0x000164d4 str r4, [sp, 0xc] | var_ch = r4;
0x000164d6 str r1, [sp, 8] | var_8h = r1;
0x000164d8 ldr r1, [sp, 0x34] | r1 = *(arg_34h);
0x000164da str r1, [sp, 4] | var_4h = r1;
0x000164dc movs r1, 2 | r1 = 2;
0x000164de str r1, [sp] | *(sp) = r1;
0x000164e0 ldr.w r1, [pc, 0xa74] |
0x000164e4 add r1, pc | r1 = 0x2d440;
0x000164e6 blx 0x5fcc | r0 = fcn_00005fcc ();
0x000164ea subs r5, r0, 0 | r5 = r0 - 0;
| if (r5 < r0) {
0x000164ec blt.w 0x1662e | goto label_79;
| }
0x000164f0 cmp.w r8, 0 |
| if (r8 != 0) {
0x000164f4 beq 0x164fc |
0x000164f6 ldr r0, [r4, 4] | r0 = *((r4 + 4));
0x000164f8 cmp r0, 0 |
| if (r0 != 0) {
0x000164fa bne 0x165ba | goto label_80;
| }
| }
| label_1:
0x000164fc ldrb.w r3, [sb] | r3 = *(sb);
0x00016500 cmp r3, 0 |
| if (r3 != 0) {
0x00016502 bne.w 0x167c8 | goto label_81;
| }
0x00016506 movs r3, 1 | r3 = 1;
0x00016508 cmp r6, r3 |
0x0001650a strb.w r3, [sb] | *(sb) = r3;
| if (r6 == r3) {
0x0001650e beq.w 0x167da | goto label_82;
| }
0x00016510 strh r4, [r4, 0xa] | *((r4 + 0xa)) = r4;
| label_9:
0x00016512 cmp r6, 2 |
| if (r6 == 2) {
0x00016514 beq.w 0x16a68 | goto label_83;
| }
0x00016516 strh r0, [r5, 0x14] | *((r5 + 0x14)) = r0;
| label_2:
0x00016518 ldr r3, [sp, 0x30] | r3 = *(arg_30h);
0x0001651a movs r1, 1 | r1 = 1;
0x0001651c ldr r0, [r3] | r0 = *(r3);
0x0001651e blx 0x6180 | r0 = fcn_00006180 ();
0x00016522 subs r6, r0, 0 | r6 = r0 - 0;
| if (r6 < r0) {
0x00016524 blt.w 0x168ca | goto label_84;
| }
0x00016528 ldr r1, [sp, 0x3c] | r1 = *(arg_3ch);
0x0001652a ldr.w r2, [pc, 0xa30] | r2 = *(0x16f5e);
0x0001652e ldr.w r3, [pc, 0xa30] |
0x00016532 ldr r6, [r1, r2] | r6 = *((r1 + r2));
0x00016534 ldr r3, [r1, r3] | r3 = *((r1 + r3));
0x00016536 ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x00016538 ldr.w r1, [pc, 0xa28] | r1 = *(0x00016f64);
0x0001653c ldr r3, [r3] | r3 = *(0x16f62);
0x0001653e str r2, [sp] | *(sp) = r2;
0x00016540 ldr r2, [sp, 0x30] | r2 = *(arg_30h);
0x00016542 add r1, pc | r1 += pc;
0x00016544 ldr r0, [r2] | r0 = *(0x16f5e);
0x00016546 ldr r2, [r6] | r2 = *(r6);
0x00016548 blx 0x5f24 | r0 = fcn_00005f24 ();
0x0001654c subs r5, r0, 0 | r5 = r0 - 0;
| if (r5 < r0) {
0x0001654e blt.w 0x166de | goto label_85;
| }
0x00016552 ldr.w sb, [r6] | sb = *(r6);
0x00016556 cmp.w sb, 0 |
| if (sb == 0) {
0x0001655a beq.w 0x16af2 | goto label_86;
| }
0x0001655e ldr.w r1, [sb] | r1 = *(sb);
0x00016562 cmp r1, 0 |
| if (r1 == 0) {
0x00016564 beq.w 0x16aec | goto label_87;
| }
0x00016568 ldr.w r8, [pc, 0x9fc] |
0x0001656c ldr.w r6, [pc, 0x9fc] |
0x00016570 ldr r7, [sp, 0x38] | r7 = *(arg_38h);
0x00016572 add r8, pc | r8 = 0x2d4de;
0x00016574 add.w r8, r8, 7 | r8 += 7;
0x00016578 add r6, pc | r6 = 0x2d4e8;
0x0001657a b 0x16586 |
| while (r0 != 0) {
| label_0:
0x0001657c ldr r1, [sb, 4]! | r1 = *((sb += 4));
0x00016580 cmp r1, 0 |
| if (r1 == 0) {
0x00016582 beq.w 0x16aec | goto label_87;
| }
0x00016586 ldr r0, [r7] | r0 = *(r7);
0x00016588 blx 0x6694 | r0 = strextend_with_separator_internal ();
0x0001658c mov r5, r0 | r5 = r0;
0x0001658e cmp r0, 0 |
0x00016590 bne 0x1657c |
| }
0x00016592 blx 0x5cd4 | r0 = gethostname_full ();
0x00016596 cmp r0, 6 |
| if (r0 <= 6) {
0x00016598 ble 0x1657c | goto label_0;
| }
0x0001659a ldr.w r3, [sb] | r3 = *(sb);
0x0001659e mov r1, r5 | r1 = r5;
0x000165a0 mov r2, r8 | r2 = r8;
0x000165a2 movs r0, 7 | r0 = 7;
0x000165a4 strd r6, r3, [sp, 4] | __asm ("strd r6, r3, [sp, 4]");
0x000165a8 ldr.w r3, [pc, 0x9c4] |
0x000165ac add r3, pc | r3 = 0x2d520;
0x000165ae str r3, [sp] | *(sp) = r3;
0x000165b0 mov.w r3, 0x7f8 | r3 = 0x7f8;
0x000165b4 blx 0x6008 | fcn_00006008 ();
0x000165b8 b 0x1657c | goto label_0;
| label_80:
0x000165ba ldr.w r1, [pc, 0x9b8] |
0x000165be add r1, pc | r1 = 0x2d538;
0x000165c0 blx 0x6670 | r0 = hashmap_contains ();
0x000165c4 cmp r0, 0 |
| if (r0 != 0) {
0x000165c6 bne 0x164fc | goto label_1;
| }
0x000165c8 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x000165ca cmp r0, 0 |
| if (r0 == 0) {
0x000165cc beq 0x164fc | goto label_1;
| }
0x000165ce ldr.w r1, [pc, 0x9a8] |
0x000165d2 add r1, pc | r1 = 0x2d550;
0x000165d4 blx 0x6670 | r0 = hashmap_contains ();
0x000165d8 cmp r0, 0 |
| if (r0 != 0) {
0x000165da bne 0x164fc | goto label_1;
| }
0x000165dc blx 0x5cd4 | gethostname_full ();
0x000165e0 cmp r6, 0 |
| if (r6 != 0) {
0x000165e2 bne.w 0x16af8 | goto label_88;
| }
0x000165e6 cmp r0, 6 |
| if (r0 > 6) {
0x000165e8 bgt.w 0x16ba0 | goto label_89;
| }
| label_13:
0x000165ec ldrb.w r3, [sb] | r3 = *(sb);
0x000165f0 cmp r3, 0 |
| if (r3 != 0) {
0x000165f2 bne.w 0x17998 | goto label_90;
| }
0x000165f6 movs r3, 1 | r3 = 1;
0x000165f8 strb.w r3, [sb] | *(sb) = r3;
0x000165fc b 0x16518 | goto label_2;
| label_78:
0x000165fe ldr.w r3, [pc, 0x97c] |
0x00016602 add r3, pc | r3 = 0x2d584;
0x00016604 b 0x164ce | goto label_3;
| label_77:
0x00016606 ldr.w r3, [pc, 0x978] |
0x0001660a mov r1, sl | r1 = sl;
0x0001660c ldr.w r2, [pc, 0x974] |
0x00016610 movs r0, 7 | r0 = 7;
0x00016612 str r5, [sp, 8] | var_8h = r5;
0x00016614 add r3, pc | r3 = 0x2d59a;
0x00016616 str r3, [sp, 4] | var_4h = r3;
0x00016618 add r2, pc | r2 = 0x2d5a0;
0x0001661a ldr.w r3, [pc, 0x96c] |
0x0001661e adds r2, 7 | r2 += 7;
0x00016620 add r3, pc | r3 = 0x2d5ae;
0x00016622 str r3, [sp] | *(sp) = r3;
0x00016624 movw r3, 0x7c4 | r3 = 0x7c4;
0x00016628 blx 0x6008 | fcn_00006008 ();
0x0001662c b 0x164c2 | goto label_4;
| label_79:
0x0001662e blx 0x5cd4 | r0 = gethostname_full ();
0x00016632 cmp r0, 2 |
| if (r0 > 2) {
0x00016634 bgt 0x166ac | goto label_91;
| }
| label_7:
0x00016636 rsbs r6, r5, 0 | r6 = r5 - ;
0x00016638 bic r6, r6, 0x40000000 | r6 = BIT_MASK (r6, 0x40000000);
0x0001663c rsbs r6, r6, 0 | r6 -= ;
| label_6:
0x0001663e ldr r5, [r4, 0x24] | r5 = *((r4 + 0x24));
0x00016640 cmp r6, 0 |
0x00016642 it ge |
| if (r6 < 0) {
0x00016644 mvnge r6, 0x55 | r6 = ~0x55;
| }
| label_11:
0x00016648 mov r0, r5 | r0 = r5;
0x0001664a blx 0x67b4 | mktime (r0);
0x0001664e ldr r0, [r4, 0x34] | r0 = *((r4 + 0x34));
0x00016650 blx 0x67b4 | mktime (r0);
0x00016654 ldr r0, [r4, 0x38] | r0 = *((r4 + 0x38));
0x00016656 blx 0x67b4 | mktime (r0);
0x0001665a ldr r0, [r4, 0x3c] | r0 = *((r4 + 0x3c));
0x0001665c blx 0x67b4 | mktime (r0);
0x00016660 ldr.w r0, [r4, 0x100] | r0 = *((r4 + 0x100));
0x00016662 lsls r0, r0, 4 | r0 <<= 4;
0x00016664 blx 0x67b4 | mktime (r0);
0x00016668 ldr.w r5, [r4, 0xc4] | r5 = *((r4 + 0xc4));
| if (r5 != 0) {
0x0001666c cbnz r5, 0x1668e | goto label_92;
| }
0x0001666e b 0x1670e | goto label_93;
| do {
0x00016670 ldr r2, [r5, 0x10] | r2 = *((r5 + 0x10));
0x00016672 str r2, [r3, 0x10] | *((r3 + 0x10)) = r2;
| label_5:
0x00016674 ldr r0, [r5] | r0 = *(r5);
0x00016676 blx 0x59e0 | unit_file_state_to_string ();
0x0001667a ldr r0, [r5, 4] | r0 = *((r5 + 4));
0x0001667c blx 0x59e0 | unit_file_state_to_string ();
0x00016680 mov r0, r5 | r0 = r5;
0x00016682 blx 0x59e0 | unit_file_state_to_string ();
0x00016686 ldr.w r5, [r4, 0xc4] | r5 = *((r4 + 0xc4));
0x0001668a cmp r5, 0 |
| if (r5 == 0) {
0x0001668c beq 0x1670e | goto label_93;
| }
| label_92:
0x0001668e ldr r3, [r5, 0x10] | r3 = *((r5 + 0x10));
| if (r3 != 0) {
0x00016690 cbz r3, 0x16696 |
0x00016692 ldr r2, [r5, 0x14] | r2 = *((r5 + 0x14));
0x00016694 str r2, [r3, 0x14] | *((r3 + 0x14)) = r2;
| }
0x00016696 ldr r3, [r5, 0x14] | r3 = *((r5 + 0x14));
0x00016698 cmp r3, 0 |
0x0001669a bne 0x16670 |
| } while (r3 != 0);
0x0001669c ldr.w r3, [r4, 0xc4] | r3 = *((r4 + 0xc4));
0x000166a0 cmp r3, r5 |
| if (r3 != r5) {
0x000166a2 bne 0x16760 | goto label_94;
| }
0x000166a4 ldr r3, [r5, 0x10] | r3 = *((r5 + 0x10));
0x000166a6 str.w r3, [r4, 0xc4] | __asm ("str.w r3, [r4, 0xc4]");
0x000166aa b 0x16674 | goto label_5;
| label_91:
0x000166ac mov r1, r5 | r1 = r5;
0x000166ae ldr r0, [sp, 0x34] | r0 = *(arg_34h);
0x000166b0 blx 0x663c | fcn_0000663c ();
0x000166b4 ldr.w r3, [pc, 0x8d4] |
0x000166b8 mov r1, r5 | r1 = r5;
0x000166ba ldr.w r2, [pc, 0x8d4] |
0x000166bc cmp r0, 0xd4 |
0x000166be str r0, [sp, 8] | var_8h = r0;
0x000166c0 movs r0, 3 | r0 = 3;
0x000166c2 add r3, pc | r3 = 0x2d652;
0x000166c4 str r3, [sp, 4] | var_4h = r3;
0x000166c6 add r2, pc | r2 = 0x2d65c;
0x000166c8 ldr.w r3, [pc, 0x8c8] |
0x000166cc adds r2, 7 | r2 += 7;
0x000166ce add r3, pc | r3 = 0x2d666;
0x000166d0 str r3, [sp] | *(sp) = r3;
0x000166d2 mov.w r3, 0x7d0 | r3 = 0x7d0;
0x000166d6 blx 0x6008 | r0 = fcn_00006008 ();
0x000166da mov r6, r0 | r6 = r0;
0x000166dc b 0x1663e | goto label_6;
| label_85:
0x000166de blx 0x5cd4 | r0 = gethostname_full ();
0x000166e2 cmp r0, 2 |
| if (r0 <= 2) {
0x000166e4 ble 0x16636 | goto label_7;
| }
0x000166e6 ldr.w r3, [pc, 0x8b0] |
0x000166ea mov r1, r5 | r1 = r5;
0x000166ec ldr.w r2, [pc, 0x8ac] |
0x000166f0 movs r0, 3 | r0 = 3;
0x000166f2 add r3, pc | r3 = 0x2d690;
0x000166f4 str r3, [sp, 4] | var_4h = r3;
0x000166f6 add r2, pc | r2 = 0x2d696;
0x000166f8 ldr.w r3, [pc, 0x8a4] |
0x000166fc adds r2, 7 | r2 += 7;
0x000166fe add r3, pc | r3 = 0x2d6a2;
0x00016700 str r3, [sp] | *(sp) = r3;
0x00016702 movw r3, 0x7f4 | r3 = 0x7f4;
0x00016706 blx 0x6008 | r0 = fcn_00006008 ();
0x00016708 stc p6, c4, [r0], {6} | __asm ("stc p6, c4, [r0], {6}");
0x0001670c b 0x1663e | goto label_6;
| label_93:
0x0001670e ldr.w r5, [r4, 0x198] | r5 = *((r4 + 0x198));
| if (r5 == 0) {
0x00016712 cbz r5, 0x1677c | goto label_95;
| }
0x00016714 vmov.i32 d8, 0 | __asm ("vmov.i32 d8, 0");
0x00016718 b 0x16740 |
| while (r3 != 0) {
0x0001671a ldr r2, [r5, 0x30] | r2 = *((r5 + 0x30));
0x0001671c str r2, [r3, 0x30] | *((r3 + 0x30)) = r2;
| label_8:
0x0001671e ldr r0, [r5] | r0 = *(r5);
0x00016720 vstr d8, [r5, 0x30] | __asm ("vstr d8, [r5, 0x30]");
0x00016724 blx 0x59e0 | unit_file_state_to_string ();
0x00016726 ldrd r6, r8, [ip, -0x1a0] | __asm ("ldrd r6, r8, [ip, -0x1a0]");
0x00016728 ldr r0, [r5, 4] | r0 = *((r5 + 4));
0x0001672a blx 0x59e0 | unit_file_state_to_string ();
0x0001672e ldr r0, [r5, 8] | r0 = *((r5 + 8));
0x00016730 blx 0x67b4 | mktime (r0);
0x00016734 mov r0, r5 | r0 = r5;
0x00016736 blx 0x59e0 | unit_file_state_to_string ();
0x0001673a ldr.w r5, [r4, 0x198] | r5 = *((r4 + 0x198));
0x0001673c str r0, [r3, r6] | *((r3 + r6)) = r0;
| if (r5 == 0) {
0x0001673e cbz r5, 0x1677c | goto label_95;
| }
0x00016740 ldr r3, [r5, 0x30] | r3 = *((r5 + 0x30));
| if (r3 != 0) {
0x00016742 cbz r3, 0x16748 |
0x00016744 ldr r2, [r5, 0x34] | r2 = *((r5 + 0x34));
0x00016746 str r2, [r3, 0x34] | *((r3 + 0x34)) = r2;
| }
0x00016748 ldr r3, [r5, 0x34] | r3 = *((r5 + 0x34));
0x0001674a cmp r3, 0 |
0x0001674c bne 0x1671a |
| }
0x0001674e ldr.w r3, [r4, 0x198] | r3 = *((r4 + 0x198));
0x00016752 cmp r3, r5 |
| if (r3 != r5) {
0x00016754 bne.w 0x16ad0 | goto label_96;
| }
0x00016758 ldr r3, [r5, 0x30] | r3 = *((r5 + 0x30));
0x0001675a str.w r3, [r4, 0x198] | __asm ("str.w r3, [r4, 0x198]");
0x0001675e b 0x1671e | goto label_8;
| label_94:
0x00016760 ldr.w r1, [pc, 0x840] |
0x00016764 mov.w r2, 0x118 | r2 = 0x118;
0x00016768 ldr.w r3, [pc, 0x83c] |
0x0001676c ldr.w r0, [pc, 0x83c] |
0x00016770 add r1, pc | r1 = 0x2d718;
0x00016772 add r3, pc | r3 = 0x2d71e;
0x00016774 adds r1, 7 | r1 += 7;
0x00016776 add r0, pc | r0 = 0x2d726;
0x00016778 blx 0x59a0 | fcn_000059a0 ();
| label_95:
0x0001677c ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x0001677e ldr r0, [r3] | r0 = *(r3);
| if (r0 != 0) {
0x00016780 cbz r0, 0x1678e |
0x00016782 movs r2, 0 | r2 = 0;
0x00016784 mov r1, r2 | r1 = r2;
0x00016786 blx 0x60e4 | fcn_000060e4 ();
0x0001678a ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x0001678c str r0, [r3] | *(r3) = r0;
| }
0x0001678e ldr r0, [sp, 0x34] | r0 = *(arg_34h);
0x00016790 blx 0x5f0c | fcn_00005f0c ();
0x00016794 ldr r3, [sp, 0x30] | r3 = *(arg_30h);
0x00016796 ldr r0, [r3] | r0 = *(r3);
| if (r0 != 0) {
0x00016798 cbz r0, 0x1679e |
0x0001679a blx 0x62ac | fcn_000062ac ();
| }
0x0001679e ldr.w r2, [pc, 0x810] |
0x000167a2 ldr.w r3, [pc, 0x7a8] | r3 = *(0x16f4e);
0x000167a6 add r2, pc | r2 = 0x2d75c;
0x000167a8 ldr r3, [r2, r3] | r3 = *(0x2d75c);
0x000167aa ldr r2, [r3] | r2 = *(0x2d75c);
0x000167ac ldr.w r3, [sp, 0x4c4] | r3 = *(arg_4c4h);
0x000167b0 eors r2, r3 | r2 ^= r3;
0x000167b2 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000167b6 bne.w 0x18096 | goto label_97;
| }
0x000167ba mov r0, r6 | r0 = r6;
0x000167bc addw sp, sp, 0x4cc | __asm ("addw sp, var_0h");
0x000167c0 vpop {d8} | __asm ("vpop {d8}");
0x000167c2 ldrh r2, [r0, 0x18] | r2 = *((r0 + 0x18));
0x000167c4 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_81:
0x000167c8 movs r0, 0xa | r0 = 0xa;
0x000167ca blx 0x5d1c | get_process_comm ();
0x000167ce movs r3, 1 | r3 = 1;
0x000167d0 cmp r6, r3 |
0x000167d2 strb.w r3, [sb] | *(sb) = r3;
| if (r6 != r3) {
0x000167d6 bne.w 0x16512 | goto label_9;
| }
| label_82:
0x000167da add r3, sp, 0x8c | r3 += arg_8ch;
0x000167dc add r5, sp, 0x70 | r5 += arg_70h;
0x000167de add r6, sp, 0x6c | r6 += arg_6ch;
0x000167e0 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x000167e2 mov r2, r5 | r2 = r5;
0x000167e4 mov r1, r6 | r1 = r6;
0x000167e6 mov r7, r3 | r7 = r3;
0x000167e8 str r3, [sp, 0x50] | *(arg_50h) = r3;
0x000167ea movs r3, 0 | r3 = 0;
0x000167ec add.w fp, sp, 0x7c |
0x000167f0 str r3, [r7] | *(r7) = r3;
0x000167f2 add.w sl, sp, 0x88 | sl += arg_88h;
0x000167f6 bl 0x12d1c | fcn_00012d1c (r0, r1, r2);
0x000167fa add r3, sp, 0x80 | r3 += arg_80h;
0x000167fc ldr r0, [r4, 0x14] | r0 = *((r4 + 0x14));
0x000167fe mov r2, r3 | r2 = r3;
0x00016800 mov r1, fp | r1 = fp;
0x00016802 mov sb, r3 | sb = r3;
0x00016804 bl 0x12e14 | fcn_00012e14 (r0, r1, r2);
0x00016808 add r3, sp, 0x84 | r3 += arg_84h;
0x0001680a mov r2, sl | r2 = sl;
0x0001680c mov r1, r3 | r1 = r3;
0x0001680e ldr r0, [r4, 0x18] | r0 = *((r4 + 0x18));
0x00016810 str r3, [sp, 0x44] | *(arg_44h) = r3;
0x00016812 bl 0x12e14 | fcn_00012e14 (r0, r1, r2);
0x00016816 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x00016818 blx 0x5aac | sd_bus_get_property ();
0x0001681c blx 0x68bc | printf_chk ();
0x00016820 blx 0x6198 | fcn_00006198 ();
0x00016822 ldc p8, c6, [sl], 0x88 | __asm ("ldc p8, c6, [sl], 0x88");
0x00016824 ldr r2, [r4] | r2 = *(r4);
0x00016826 ldr r3, [sp, 0x70] | r3 = *(arg_70h);
0x00016828 ldr.w r8, [sp, 0x6c] | r8 = *(arg_6ch);
0x0001682c str r3, [sp, 0x48] | *(arg_48h) = r3;
0x0001682e mov r3, r0 | r3 = r0;
0x00016830 cmp r2, 0 |
| if (r2 == 0) {
0x00016832 beq.w 0x178f8 | goto label_98;
| }
| label_32:
0x00016836 str r2, [sp, 4] | var_4h = r2;
0x00016838 movs r0, 1 | r0 = 1;
0x0001683a ldr r2, [sp, 0x48] | r2 = *(arg_48h);
0x0001683c ldr.w r1, [pc, 0x774] |
0x00016840 str r2, [sp] | *(sp) = r2;
0x00016842 mov r2, r8 | r2 = r8;
0x00016844 add r1, pc | r1 = 0x2d7fc;
0x00016846 blx 0x68e0 | touch ();
0x0001684a ldr r5, [r4, 0x1c] | r5 = *((r4 + 0x1c));
| if (r5 != 0) {
0x0001684c cbz r5, 0x16864 |
0x0001684e ldr r0, [r4] | r0 = *(r4);
0x00016850 cmp r0, 0 |
| if (r0 != 0) {
0x00016852 bne.w 0x16b16 | goto label_99;
| }
0x00016854 strh r0, [r4, 0xa] | *((r4 + 0xa)) = r0;
| label_14:
0x00016856 ldr.w r1, [pc, 0x760] |
0x0001685a mov r2, r5 | r2 = r5;
0x0001685c movs r0, 1 | r0 = 1;
0x0001685e add r1, pc | r1 = 0x2d81c;
0x00016860 blx 0x68e0 | touch ();
| }
| label_15:
0x00016864 movs r0, 0xa | r0 = 0xa;
0x00016866 blx 0x5d1c | get_process_comm ();
0x00016868 orrs.w sl, sl, r2, asr 24 | sl |= (r2 >> 24);
0x0001686a ldr r2, [r4, 0x20] | r2 = *((r4 + 0x20));
| if (r2 != 0) {
0x0001686c cbz r2, 0x1687a |
0x0001686e ldr.w r1, [pc, 0x74c] |
0x00016872 movs r0, 1 | r0 = 1;
0x00016874 add r1, pc | r1 = 0x2d836;
0x00016876 blx 0x68e0 | touch ();
| }
0x0001687a ldr r5, [r4, 4] | r5 = *((r4 + 4));
0x0001687c cmp r5, 0 |
| if (r5 == 0) {
0x0001687e beq 0x16910 | goto label_100;
| }
0x00016880 ldr.w r3, [pc, 0x73c] |
0x00016884 add r6, sp, 0x264 | r6 += arg_264h;
0x00016886 add r3, pc | r3 = 0x2d84a;
0x00016888 adds r3, 0xac | r3 += 0xac;
0x0001688a ldm r3, {r0, r1, r2, r3} | r0 = *(r3);
| r1 = *((r3 + 4));
| r2 = *((r3 + 8));
| r3 = *((r3 + 12));
0x0001688c stm.w r6, {r0, r1, r2, r3} | *(r6) = r0;
| *((r6 + 4)) = r1;
| *((r6 + 8)) = r2;
| *((r6 + 12)) = r3;
0x00016890 mov r1, r5 | r1 = r5;
0x00016892 mov r0, r6 | r0 = r6;
0x00016894 blx 0x5914 | r0 = strv_find ();
0x00016898 cmp r0, 0 |
| if (r0 == 0) {
0x0001689a beq 0x16910 | goto label_100;
| }
0x0001689c blx 0x5ac4 | r0 = table_add_cell_full ();
0x000168a0 cmp r0, 0 |
| if (r0 == 0) {
0x000168a2 beq.w 0x17a78 | goto label_101;
| }
0x000168a6 ldr.w r7, [pc, 0x71c] |
0x000168aa add r7, pc | r7 = 0x2d874;
| label_44:
0x000168ac add r3, sp, 0x74 | r3 += arg_74h;
0x000168ae str r7, [sp, 0x74] | *(arg_74h) = r7;
0x000168b0 str r3, [sp, 0x4c] | *(arg_4ch) = r3;
0x000168b2 blx 0x5ac4 | r0 = table_add_cell_full ();
0x000168b6 cmp r0, 0 |
| if (r0 == 0) {
0x000168b8 beq.w 0x17a6e | goto label_102;
| }
0x000168bc ldr.w r6, [pc, 0x708] |
0x000168c0 add r6, pc | r6 = 0x2d88c;
| label_43:
0x000168c2 add r3, sp, 0x78 | r3 += arg_78h;
0x000168c4 str r6, [sp, 0x78] | *(arg_78h) = r6;
0x000168c6 str r3, [sp, 0x54] | *(arg_54h) = r3;
0x000168c8 b 0x16926 | goto label_103;
| label_84:
0x000168ca blx 0x5cd4 | r0 = gethostname_full ();
0x000168ce cmp r0, 2 |
0x000168d0 ittt le |
| if (r0 <= 2) {
0x000168d2 rsble r6, r6, 0 | __asm ("rsble r6, r6, 0");
| }
| if (r0 <= 2) {
0x000168d4 bicle r6, r6, 0x40000000 | __asm ("bicle r6, r6, 0x40000000");
| }
| if (r0 > 2) {
0x000168d8 rsbs r6, r6, 0 | r6 -= ;
| goto label_104;
| }
| if (r0 <= 2) {
| label_104:
0x000168da ble.w 0x1663e | goto label_6;
| }
0x000168de mov r1, r6 | r1 = r6;
0x000168e0 ldr r0, [sp, 0x34] | r0 = *(arg_34h);
0x000168e2 blx 0x663c | fcn_0000663c ();
0x000168e6 ldr.w r3, [pc, 0x6e4] |
0x000168ea mov r1, r6 | r1 = r6;
0x000168ec ldr.w r2, [pc, 0x6e0] |
0x000168f0 str r0, [sp, 8] | var_8h = r0;
0x000168f2 movs r0, 3 | r0 = 3;
0x000168f4 add r3, pc | r3 = 0x2d8c6;
0x000168f6 str r3, [sp, 4] | var_4h = r3;
0x000168f8 add r2, pc | r2 = 0x2d8cc;
0x000168fa ldr.w r3, [pc, 0x6d8] |
0x000168fe adds r2, 7 | r2 += 7;
0x00016900 add r3, pc | r3 = 0x2d8da;
0x00016902 str r3, [sp] | *(sp) = r3;
0x00016904 mov.w r3, 0x7f0 | r3 = 0x7f0;
0x00016906 str r6, [r7, 0x3c] | *((r7 + 0x3c)) = r6;
0x00016908 blx 0x6008 | r0 = fcn_00006008 ();
0x0001690c mov r6, r0 | r6 = r0;
0x0001690e b 0x1663e | goto label_6;
| label_100:
0x00016910 ldr.w r3, [pc, 0x6c4] |
0x00016914 add r2, sp, 0x78 | r2 += arg_78h;
0x00016916 str r2, [sp, 0x54] | *(arg_54h) = r2;
0x00016918 add r2, sp, 0x74 | r2 += arg_74h;
0x0001691a str r2, [sp, 0x4c] | *(arg_4ch) = r2;
0x0001691c add r3, pc | r3 = 0x2d8f8;
0x0001691e mov r6, r3 | r6 = r3;
0x00016920 mov r7, r3 | r7 = r3;
0x00016922 str r3, [sp, 0x78] | *(arg_78h) = r3;
0x00016924 str r3, [sp, 0x74] | *(arg_74h) = r3;
| label_103:
0x00016926 ldr r5, [r4, 0x2c] | r5 = *((r4 + 0x2c));
0x00016928 cmp r5, 0 |
| if (r5 == 0) {
0x0001692a beq.w 0x176fc | goto label_105;
| }
| label_23:
0x0001692e ldr r2, [sp, 0x50] | r2 = *(arg_50h);
0x00016930 movs r1, 0 | r1 = 0;
0x00016932 mov r0, r5 | r0 = r5;
0x00016934 blx 0x63c0 | r0 = fcn_000063c0 ();
0x00016938 cmp r0, 0 |
0x0001693a ldr r2, [r4, 0x40] | r2 = *((r4 + 0x40));
| if (r0 < 0) {
0x0001693c blt.w 0x178e6 | goto label_106;
| }
0x00016940 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00016942 ldr r5, [r3] | r5 = *(r3);
0x00016944 cmp r2, 0 |
| if (r2 == 0) {
0x00016946 beq.w 0x16b24 | goto label_107;
| }
0x0001694a ldrb r3, [r2] | r3 = *(r2);
0x0001694c cmp r3, 0 |
| if (r3 == 0) {
0x0001694e beq.w 0x16b24 | goto label_107;
| }
| label_24:
0x00016952 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x00016954 cmp r3, 0 |
| if (r3 == 0) {
0x00016956 beq.w 0x17c74 | goto label_108;
| }
| label_52:
0x0001695a ldr.w r1, [pc, 0x680] |
0x0001695e movs r0, 1 | r0 = 1;
0x00016960 strd r6, r2, [sp] | __asm ("strd r6, r2, [sp]");
0x00016964 mov r2, r7 | r2 = r7;
0x00016966 add r1, pc | r1 = 0x2d948;
0x00016968 blx 0x68e0 | touch ();
0x0001696a invalid |
| label_16:
0x0001696c ldrb.w r3, [r4, 0x79] | r3 = *((r4 + 0x79));
0x00016970 cmp r3, 0 |
| if (r3 != 0) {
0x00016972 bne.w 0x17902 | goto label_109;
| }
| label_33:
0x00016976 ldr.w fp, [r4, 0x34] | fp = *((r4 + 0x34));
0x0001697a cmp.w fp, 0 |
| if (fp == 0) {
0x0001697e beq.w 0x16bda | goto label_110;
| }
0x00016982 ldr.w r3, [fp] | r3 = *(fp);
0x00016986 cmp r3, 0 |
| if (r3 == 0) {
0x00016988 beq.w 0x16bda | goto label_110;
| }
0x0001698c ldr.w r6, [pc, 0x650] |
0x00016990 movs r3, 0 | r3 = 0;
0x00016992 ldr.w r1, [pc, 0x650] |
0x00016996 add r5, sp, 0xb0 | r5 += c;
0x00016998 ldr.w sl, [pc, 0x64c] |
0x0001699c mov sb, r3 | sb = r3;
0x0001699e add r6, pc | r6 = 0x2d982;
0x000169a0 strd r4, r8, [sp, 0x58] | __asm ("strd r4, r8, [sp, 0x58]");
0x000169a2 ldr r0, [pc, 0x58] | r0 = *(0x169fe);
0x000169a4 add r1, pc | r1 = 0x2d98e;
0x000169a6 str r6, [sp, 0x44] | *(arg_44h) = r6;
0x000169a8 add sl, pc | sl = 0x2d994;
0x000169aa str r3, [r5] | *(r5) = r3;
0x000169ac b 0x169d4 |
| while (r7 != 0) {
0x000169ae ldr.w r3, [pc, 0x63c] |
0x000169b2 add r3, pc | r3 = 0x2d9a4;
| label_10:
0x000169b4 mov r1, r4 | r1 = r4;
0x000169b6 movs r0, 1 | r0 = 1;
0x000169b8 blx 0x68e0 | touch ();
0x000169bc ldr r0, [r5] | r0 = *(r5);
0x000169be blx 0x59e0 | unit_file_state_to_string ();
0x000169c0 invalid |
0x000169c4 subs r7, 4 | r7 -= 4;
0x000169c6 cmp r3, 0 |
| if (r3 == 0) {
0x000169c8 beq.w 0x16bd0 | goto label_111;
| }
0x000169cc movs r3, 0 | r3 = 0;
0x000169ce mov r1, sl | r1 = sl;
0x000169d0 str r3, [r5] | *(r5) = r3;
| if (r6 != 0) {
0x000169d2 cbz r6, 0x16a0a |
0x000169d4 movs r0, 1 | r0 = 1;
0x000169d6 blx 0x68e0 | touch ();
0x000169da mov r0, sb | r0 = sb;
0x000169dc blx 0x59e0 | unit_file_state_to_string ();
0x000169e0 ldr.w r0, [fp] | r0 = *(fp);
0x000169e4 blx 0x5cb0 | r0 = fprintf_chk ()
0x000169e8 mov sb, r0 | sb = r0;
0x000169ea cmp r0, 0 |
| if (r0 == 0) {
0x000169ec beq.w 0x17f84 | goto label_112;
| }
0x000169f0 ldr.w r8, [pc, 0x5fc] |
0x000169f4 movs r0, 2 | r0 = 2;
0x000169f6 blx 0x6198 | fcn_00006198 ();
0x000169fa ldr r1, [sp, 0x44] | r1 = *(arg_44h);
0x000169fc mov r3, r0 | r3 = r0;
0x000169fe add r8, pc | r8 = 0x2d9f2;
0x00016a00 mov r2, sb | r2 = sb;
0x00016a02 mov r4, r8 | r4 = r8;
0x00016a04 movs r0, 1 | r0 = 1;
0x00016a06 blx 0x68e0 | touch ();
| }
0x00016a0a ldr.w r0, [fp, 4] | r0 = *(arg_80h);
0x00016a0e cmp r0, 0 |
| if (r0 == 0) {
0x00016a10 beq.w 0x16bca | goto label_113;
| }
0x00016a12 strh r3, [r3, 6] | *((r3 + 6)) = r3;
0x00016a14 mov r1, sb | r1 = sb;
0x00016a16 blx 0x5c58 | r0 = fcn_00005c58 ();
0x00016a1a clz r6, r0 | r6 &= r0;
0x00016a1e lsrs r6, r6, 5 | r6 >>= 5;
0x00016a20 mov r7, r6 | r7 = r6;
| label_18:
0x00016a22 ldr.w r8, [fp] | r8 = *(fp);
0x00016a26 mov r0, r8 | r0 = r8;
0x00016a28 blx 0x6264 | fcn_00006264 ();
0x00016a2c mov r2, r5 | r2 = r5;
0x00016a2e mov r1, r0 | r1 = r0;
0x00016a30 mov r0, r8 | r0 = r8;
0x00016a32 blx 0x63c0 | r0 = fcn_000063c0 ();
0x00016a36 cmp r0, 0 |
0x00016a38 ite ge |
| if (r0 < 0) {
0x00016a3a ldrge r2, [r5] | r2 = *(r5);
| }
| if (r0 >= 0) {
0x00016a3c ldrlt r2, [fp] | r2 = *(fp);
| }
0x00016a40 cmp r7, 0 |
0x00016a42 bne 0x169ae |
| }
0x00016a44 ldr.w r3, [pc, 0x5ac] |
0x00016a48 add r3, pc | r3 = 0x2da40;
0x00016a4a b 0x169b4 | goto label_10;
| label_76:
0x00016a4c ldr.w r1, [pc, 0x5a8] |
0x00016a50 movw r2, 0x7c1 | r2 = 0x7c1;
0x00016a54 ldr.w r3, [pc, 0x5a4] |
0x00016a58 ldr.w r0, [pc, 0x5a4] |
0x00016a5c add r1, pc | r1 = 0x2da58;
0x00016a5e add r3, pc | r3 = 0x2da5e;
0x00016a60 adds r1, 7 | r1 += 7;
0x00016a62 add r0, pc | r0 = 0x2da66;
0x00016a64 blx 0x59a0 | fcn_000059a0 ();
| label_83:
0x00016a68 ldr r5, [r4, 0x24] | r5 = *((r4 + 0x24));
0x00016a6a cmp r5, 0 |
| if (r5 == 0) {
0x00016a6c beq.w 0x17d78 | goto label_114;
| }
0x00016a70 ldr r6, [r5] | r6 = *(r5);
0x00016a72 cmp r6, 0 |
| if (r6 == 0) {
0x00016a74 beq.w 0x16648 | goto label_11;
| }
0x00016a78 ldr.w sl, [pc, 0x588] |
0x00016a7c ldr.w sb, [pc, 0x588] |
0x00016a80 add sl, pc | sl = 0x2da88;
0x00016a82 add.w sl, sl, 7 | sl += 7;
0x00016a86 add sb, pc | sb = 0x2da92;
0x00016a88 b 0x16a98 |
| while (r0 != 0) {
0x00016a8a adds r0, r6, 4 | r0 = r6 + 4;
0x00016a8c movs r1, 0 | r1 = 0;
0x00016a8e blx 0x66ac | sigchld_code_to_string ();
| label_12:
0x00016a92 ldr r6, [r5, 4]! | r6 = *((r5 += 4));
| if (r6 == 0) {
0x00016a96 cbz r6, 0x16af4 | goto label_115;
| }
0x00016a98 mov r1, sb | r1 = sb;
0x00016a9a mov r0, r6 | r0 = r6;
0x00016a9c blx 0x5c58 | fcn_00005c58 ();
0x00016a9e invalid |
0x00016aa0 mov r7, r0 | r7 = r0;
0x00016aa2 cmp r0, 0 |
0x00016aa4 bne 0x16a8a |
| }
0x00016aa6 blx 0x5cd4 | r0 = gethostname_full ();
0x00016aaa cmp r0, 5 |
| if (r0 <= 5) {
0x00016aac ble 0x16a92 | goto label_12;
| }
0x00016aae ldr.w r3, [pc, 0x55c] |
0x00016ab2 mov r1, r7 | r1 = r7;
0x00016ab4 mov r2, sl | r2 = sl;
0x00016ab6 str r6, [sp, 8] | var_8h = r6;
0x00016ab8 movs r0, 6 | r0 = 6;
0x00016aba add r3, pc | r3 = 0x2dacc;
0x00016abc str r3, [sp, 4] | var_4h = r3;
0x00016abe ldr.w r3, [pc, 0x550] |
0x00016ac2 add r3, pc | r3 = 0x2dad8;
0x00016ac4 str r3, [sp] | *(sp) = r3;
0x00016ac6 movw r3, 0x321 | r3 = 0x321;
0x00016aca blx 0x6008 | fcn_00006008 ();
0x00016ace b 0x16a92 | goto label_12;
| label_96:
0x00016ad0 ldr.w r1, [pc, 0x540] |
0x00016ad4 movw r2, 0x11d | r2 = 0x11d;
0x00016ad8 ldr.w r3, [pc, 0x53c] |
0x00016adc ldr.w r0, [pc, 0x53c] |
0x00016ae0 add r1, pc | r1 = 0x2daf8;
0x00016ae2 add r3, pc | r3 = 0x2dafe;
0x00016ae4 adds r1, 7 | r1 += 7;
0x00016ae6 add r0, pc | r0 = 0x2db06;
0x00016ae8 blx 0x59a0 | fcn_000059a0 ();
| label_87:
0x00016aec ldr r5, [r4, 0x24] | r5 = *((r4 + 0x24));
| label_19:
0x00016aee movs r6, 0 | r6 = 0;
0x00016af0 b 0x16648 | goto label_11;
| label_86:
0x00016af2 mov r6, sb | r6 = sb;
| label_115:
0x00016af4 ldr r5, [r4, 0x24] | r5 = *((r4 + 0x24));
0x00016af6 b 0x16648 | goto label_11;
| label_88:
0x00016af8 cmp r0, 2 |
0x00016afa it gt |
| if (r0 <= 2) {
0x00016afc movgt r0, 3 | r0 = 3;
| }
| if (r0 > 2) {
0x00016afe bgt 0x16ba2 | goto label_116;
| }
| label_17:
0x00016b00 cmp r6, 1 |
| if (r6 == 1) {
0x00016b02 beq.w 0x17fc8 | goto label_117;
| }
0x00016b06 cmp r6, 2 |
0x00016b08 itt eq |
| if (r6 != 2) {
0x00016b0a ldreq r5, [r4, 0x24] | r5 = *((r4 + 0x24));
| }
| if (r6 != 2) {
0x00016b0c mvneq r6, 1 | r6 = ~1;
| }
0x00016b0e lsls r1, r0, 0x18 | r1 = r0 << 0x18;
| if (r1 != r0) {
0x00016b10 bne.w 0x165ec | goto label_13;
| }
0x00016b14 b 0x16648 | goto label_11;
| label_99:
0x00016b16 mov r1, r5 | r1 = r5;
0x00016b18 blx 0x6670 | r0 = hashmap_contains ();
0x00016b1c cmp r0, 0 |
| if (r0 != 0) {
0x00016b1e bne.w 0x16856 | goto label_14;
| }
0x00016b20 add r6, sp, 0x268 | r6 = sp + 0x268;
0x00016b22 b 0x16864 | goto label_15;
| label_107:
0x00016b24 cmp r5, 0 |
| if (r5 == 0) {
0x00016b26 beq.w 0x17710 | goto label_118;
| }
| label_31:
0x00016b2a ldr r0, [r4, 0x14] | r0 = *((r4 + 0x14));
0x00016b2c cmp r0, 0 |
| if (r0 == 0) {
0x00016b2e beq.w 0x179b6 | goto label_119;
| }
0x00016b32 ldrb r3, [r0] | r3 = *(r0);
0x00016b34 cmp r3, 0 |
| if (r3 == 0) {
0x00016b36 beq.w 0x179b6 | goto label_119;
| }
0x00016b3a ldr r3, [r4, 0x18] | r3 = *((r4 + 0x18));
0x00016b3c cmp r3, 0 |
| if (r3 == 0) {
0x00016b3e beq.w 0x17dd8 | goto label_120;
| }
0x00016b42 ldrb r3, [r3] | r3 = *(r3);
0x00016b44 cmp r3, 0 |
| if (r3 == 0) {
0x00016b46 beq.w 0x17dd8 | goto label_120;
| }
0x00016b4a blx 0x67fc | bus_message_new_method_call ();
0x00016b4e bl 0x1cb78 | fcn_0001cb78 (r0);
0x00016b52 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x00016b54 mov r2, r0 | r2 = r0;
0x00016b56 ldr r0, [r4, 0x14] | r0 = *((r4 + 0x14));
0x00016b58 cmp r3, 0 |
| if (r3 == 0) {
0x00016b5a beq.w 0x18056 | goto label_121;
| }
| label_73:
0x00016b5e ldr r1, [sp, 0x44] | r1 = *(arg_44h);
0x00016b60 ldr.w fp, [fp] | fp = *(fp);
0x00016b64 ldr.w lr, [sb] |
0x00016b68 ldr r1, [r1] | r1 = *(r1);
0x00016b6a cmp r2, 0 |
| if (r2 == 0) {
0x00016b6c beq.w 0x17de8 | goto label_122;
| }
0x00016b70 ldr.w r2, [pc, 0x4ac] |
0x00016b74 ldr.w ip, [r4, 0x18] | ip = *((r4 + 0x18));
0x00016b78 add r2, pc | r2 = 0x2db9c;
| label_58:
0x00016b7a strd r1, ip, [sp, 0x18] | __asm ("strd r1, ip, [sp, 0x18]");
0x00016b7e strd fp, r0, [sp, 8] | __asm ("strd fp, r0, [sp, 8]");
0x00016b82 movs r0, 1 | r0 = 1;
0x00016b84 strd lr, r2, [sp, 0x10] | __asm ("strd lr, r2, [sp, 0x10]");
0x00016b86 b 0x16f92 | void (*0x16f92)() ();
0x00016b88 strd r6, r5, [sp] | __asm ("strd r6, r5, [sp]");
0x00016b8c ldr.w r1, [pc, 0x494] |
0x00016b90 ldr.w r2, [sl] | r2 = *(sl);
0x00016b94 add r1, pc | r1 = 0x2dbbc;
0x00016b96 str r2, [sp, 0x20] | var_20h = r2;
0x00016b98 mov r2, r7 | r2 = r7;
0x00016b9a blx 0x68e0 | touch ();
0x00016b9e b 0x1696c | goto label_16;
| label_89:
0x00016ba0 movs r0, 7 | r0 = 7;
| label_116:
0x00016ba2 ldr.w r3, [pc, 0x484] |
0x00016ba6 movs r1, 0 | r1 = 0;
0x00016ba8 ldr.w r2, [pc, 0x480] |
0x00016bac str.w r8, [sp, 8] | __asm ("str.w r8, [var_8h]");
0x00016bb0 add r3, pc | r3 = 0x2dbde;
0x00016bb2 str r3, [sp, 4] | var_4h = r3;
0x00016bb4 add r2, pc | r2 = 0x2dbe4;
0x00016bb6 ldr.w r3, [pc, 0x478] |
0x00016bba adds r2, 7 | r2 += 7;
0x00016bbc add r3, pc | r3 = 0x2dbf2;
0x00016bbe str r3, [sp] | *(sp) = r3;
0x00016bc0 movw r3, 0x7d3 | r3 = 0x7d3;
0x00016bc4 blx 0x6008 | fcn_00006008 ();
0x00016bc8 b 0x16b00 | goto label_17;
| label_113:
0x00016bca movs r7, 1 | r7 = 1;
0x00016bcc mov r6, r7 | r6 = r7;
0x00016bce b 0x16a22 | goto label_18;
| label_111:
0x00016bd0 mov r0, sb | r0 = sb;
0x00016bd2 ldrd r4, r8, [sp, 0x58] | __asm ("ldrd r4, r8, [arg_58h]");
0x00016bd6 blx 0x59e0 | unit_file_state_to_string ();
| label_110:
0x00016bda ldr r6, [r4, 0x10] | r6 = *((r4 + 0x10));
0x00016bdc ldr r5, [r4, 8] | r5 = *((r4 + 8));
0x00016bde subs r3, r6, 0 | r3 = r6 - 0;
0x00016be0 it ne |
| if (r3 == r6) {
0x00016be2 movne r3, 1 | r3 = 1;
| }
0x00016be4 cmp r5, 0 |
0x00016be6 ite eq |
| if (r5 != 0) {
0x00016be8 moveq r2, 0 | r2 = 0;
| }
| if (r5 == 0) {
0x00016bea andne r2, r3, 1 | r2 = r3 & 1;
| }
0x00016bee cmp r2, 0 |
| if (r2 != 0) {
0x00016bf0 bne.w 0x17930 | goto label_123;
| }
0x00016bf4 cmp r5, r6 |
| if (r5 <= r6) {
0x00016bf6 blo.w 0x1808a | goto label_124;
| }
0x00016bfa and r3, r3, 1 | r3 &= 1;
0x00016bfe it ls |
| if (r5 > r6) {
0x00016c00 movls r3, 0 | r3 = 0;
| }
0x00016c02 cmp r3, 0 |
| if (r3 != 0) {
0x00016c04 bne.w 0x1793e | goto label_75;
| }
| if (r5 == 0) {
0x00016c08 cbnz r5, 0x16c10 |
0x00016c0a ldr.w r5, [pc, 0x428] |
0x00016c0e add r5, pc | r5 = 0x2dc48;
| }
| label_35:
0x00016c10 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00016c12 mov r2, r8 | r2 = r8;
0x00016c14 ldr.w r1, [pc, 0x420] |
0x00016c16 asrs r0, r4, 0x10 | r0 = r4 >> 0x10;
0x00016c18 movs r0, 1 | r0 = 1;
0x00016c1a str r3, [sp] | *(sp) = r3;
0x00016c1c mov r3, r5 | r3 = r5;
0x00016c1e add r1, pc | r1 = 0x2dc5a;
0x00016c20 blx 0x68e0 | touch ();
0x00016c24 ldr r5, [r4, 0xc] | r5 = *((r4 + 0xc));
| if (r5 != 0) {
0x00016c26 cbz r5, 0x16c3e |
0x00016c28 ldrb r3, [r5] | r3 = *(r5);
| if (r3 == 0) {
0x00016c2a cbz r3, 0x16c3e | goto label_48;
| }
0x00016c2c ldr.w r1, [pc, 0x40c] |
0x00016c30 mov r0, r5 | r0 = r5;
0x00016c32 add r1, pc | r1 = 0x2dc72;
0x00016c34 blx 0x6670 | r0 = hashmap_contains ();
0x00016c38 cmp r0, 0 |
| if (r0 != 0) {
0x00016c3a bne.w 0x17be2 | goto label_125;
| }
0x00016c3c strh r2, [r2, 0x3e] | *((r2 + 0x3e)) = r2;
| }
| label_48:
0x00016c3e ldr r5, [r4, 0x44] | r5 = *((r4 + 0x44));
| if (r5 != 0) {
0x00016c40 cbz r5, 0x16c56 |
0x00016c42 ldrb r3, [r5] | r3 = *(r5);
| if (r3 == 0) {
0x00016c44 cbz r3, 0x16c56 | goto label_49;
| }
0x00016c46 ldr r1, [pc, 0x3f8] |
0x00016c48 mov r0, r5 | r0 = r5;
0x00016c4a add r1, pc | r1 = 0x2dc90;
0x00016c4c blx 0x6670 | r0 = hashmap_contains ();
0x00016c50 cmp r0, 0 |
| if (r0 != 0) {
0x00016c52 bne.w 0x17c18 | goto label_126;
| }
| }
| label_49:
0x00016c56 ldr.w sb, [r4, 8] | sb = *((r4 + 8));
0x00016c5a cmp.w sb, 0 |
| if (sb == 0) {
0x00016c5e beq.w 0x17dd0 | goto label_127;
| }
0x00016c62 ldr r5, [pc, 0x3e0] |
0x00016c64 add r6, sp, 0x264 | r6 += arg_264h;
0x00016c66 add r5, pc | r5 = 0x2dcb0;
0x00016c68 ldm.w r5, {r0, r1, r2} | r0 = *(r5);
| r1 = *((r5 + 4));
| r2 = *((r5 + 8));
0x00016c6c stm.w r6, {r0, r1, r2} | *(r6) = r0;
| *((r6 + 4)) = r1;
| *((r6 + 8)) = r2;
0x00016c70 mov r1, sb | r1 = sb;
0x00016c72 mov r0, r6 | r0 = r6;
0x00016c74 blx 0x5914 | r0 = strv_find ();
0x00016c78 cmp r0, 0 |
| if (r0 == 0) {
0x00016c7a beq.w 0x17910 | goto label_128;
| }
0x00016c7e ldrd r5, r6, [r4, 0x58] | __asm ("ldrd r5, r6, [r4, 0x58]");
| label_34:
0x00016c82 subs r2, r5, 1 | r2 = r5 - 1;
0x00016c84 adc r3, r6, -1 | __asm ("adc r3, r6, -1");
0x00016c88 adds r2, 2 | r2 += 2;
0x00016c8a sbcs r3, r3, -1 | __asm ("sbcs r3, r3, -1");
| if (r2 >= 2) {
0x00016c8e bhs.w 0x1772c | goto label_129;
| }
0x00016c92 add r3, sp, 0x29c | r3 += arg_29ch;
0x00016c94 movs r2, 0x26 | r2 = 0x26;
0x00016c96 movs r1, 0 | r1 = 0;
0x00016c98 mov r0, r3 | r0 = r3;
0x00016c9a blx 0x5d50 | fcn_00005d50 ();
0x00016c9e ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00016ca0 add.w sb, sp, 0x3c4 | sb += arg_3c4h;
0x00016ca4 ldr r3, [pc, 0x3a0] | r3 = *(0x17048);
0x00016ca6 movs r1, 0x26 | r1 = 0x26;
0x00016ca8 ldr.w fp, [r2, r3] | fp = *((r2 + r3));
0x00016cac mov r3, r6 | r3 = r6;
0x00016cae mov r2, r5 | r2 = r5;
0x00016cb0 ldr.w r7, [fp] | r7 = *(fp);
0x00016cb4 str r7, [sp] | *(sp) = r7;
0x00016cb6 blx 0x5a10 | json_variant_dump ();
0x00016cba movs r1, 0 | r1 = 0;
0x00016cbc mov sl, r0 | sl = r0;
0x00016cbe mov.w r2, 0x100 | r2 = 0x100;
0x00016cc2 mov r0, sb | r0 = sb;
0x00016cc4 blx 0x5d50 | fcn_00005d50 ();
0x00016cc8 mov r2, r5 | r2 = r5;
0x00016cca mov r3, r6 | r3 = r6;
0x00016ccc mov r0, sb | r0 = sb;
0x00016cce mov.w r1, 0x100 | r1 = 0x100;
0x00016cd2 blx 0x5ed0 | fcn_00005ed0 ();
0x00016cd6 ldr r1, [pc, 0x374] |
0x00016cd8 mov r3, r0 | r3 = r0;
0x00016cda mov r2, sl | r2 = sl;
0x00016cdc movs r0, 1 | r0 = 1;
0x00016cde add r1, pc | r1 = 0x2dd30;
0x00016ce0 blx 0x68e0 | touch ();
0x00016ce4 ldr.w sb, [r4, 8] | sb = *((r4 + 8));
0x00016ce8 cmp.w sb, 0 |
| if (sb != 0) {
0x00016cec bne.w 0x1773e | goto label_130;
| }
| label_25:
0x00016cf0 ldr r6, [r4, 0x38] | r6 = *((r4 + 0x38));
0x00016cf2 cmp r6, 0 |
| if (r6 == 0) {
0x00016cf4 beq 0x16d7a | goto label_131;
| }
0x00016cf6 ldr r3, [r6] | r3 = *(r6);
0x00016cf8 cmp r3, 0 |
| if (r3 == 0) {
0x00016cfa beq 0x16d7a | goto label_131;
| }
0x00016cfc ldr.w r8, [pc, 0x350] |
0x00016d00 add r5, sp, 0xb0 | r5 += c;
0x00016d02 ldr.w fp, [pc, 0x350] |
0x00016d06 mov sb, r4 | sb = r4;
0x00016d08 ldr.w sl, [pc, 0x34c] |
0x00016d0c add r8, pc | r8 = 0x2dd60;
0x00016d0e ldr r7, [sp, 0x4c] | r7 = *(arg_4ch);
0x00016d10 str.w r8, [sp, 0x44] | __asm ("str.w r8, [arg_44h]");
0x00016d14 add fp, pc | fp = 0x2dd6e;
0x00016d16 ldr.w r8, [sp, 0x54] | r8 = *(arg_54h);
0x00016d1a add sl, pc | sl = 0x2dd76;
0x00016d1c str.w sl, [sp, 0x48] | __asm ("str.w sl, [arg_48h]");
0x00016d1e adr r0, 0x120 | r0 = 0x120;
| do {
0x00016d20 mvn r3, 0x15 | r3 = ~0x15;
0x00016d24 mov r2, r5 | r2 = r5;
0x00016d26 str r3, [r5] | *(r5) = r3;
0x00016d28 ldr r0, [sp, 0x2c] | r0 = *(arg_2ch);
0x00016d2a ldr r1, [r6] | r1 = *(r6);
0x00016d2c bl 0x1ae00 | fcn_0001ae00 (r0, r1, r2, r3, r4, r5, r6);
0x00016d30 ldr r0, [r5] | r0 = *(r5);
0x00016d32 blx 0x6754 | lookup_paths_init ();
0x00016d36 mov r2, r8 | r2 = r8;
0x00016d38 mov r1, r7 | r1 = r7;
0x00016d3a bl 0x12d1c | fcn_00012d1c (r0, r1, r2);
0x00016d3e ldr.w r3, [sb, 0x38] | r3 = *((sb + 0x38));
0x00016d42 ldr r0, [r5] | r0 = *(r5);
0x00016d44 ldr r4, [r7] | r4 = *(r7);
0x00016d46 cmp r3, r6 |
0x00016d48 ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00016d4a ite eq |
| if (r3 != r6) {
0x00016d4c moveq sl, fp | sl = fp;
| }
| if (r3 == r6) {
0x00016d4e movne sl, r3 | sl = r3;
| }
0x00016d50 blx 0x68bc | printf_chk ();
0x00016d54 blx 0x6198 | fcn_00006198 ();
0x00016d58 ldr r1, [r6] | r1 = *(r6);
0x00016d5a mov r3, r4 | r3 = r4;
0x00016d5c str r0, [sp] | *(sp) = r0;
0x00016d5e mov r2, sl | r2 = sl;
0x00016d60 movs r0, 1 | r0 = 1;
0x00016d62 str r1, [sp, 8] | var_8h = r1;
0x00016d64 ldr.w r1, [r8] | r1 = *(r8);
0x00016d68 str r1, [sp, 4] | var_4h = r1;
0x00016d6a ldr r1, [sp, 0x44] | r1 = *(arg_44h);
0x00016d6c blx 0x68e0 | touch ();
0x00016d70 ldr r3, [r6, 4]! | r3 = *((r6 += 4));
0x00016d74 cmp r3, 0 |
0x00016d76 bne 0x16d20 |
| } while (r3 != 0);
0x00016d78 mov r4, sb | r4 = sb;
| label_131:
0x00016d7a ldr r1, [pc, 0x2e0] |
0x00016d7c ldr r0, [r4] | r0 = *(r4);
0x00016d7e add r1, pc | r1 = 0x2dde0;
0x00016d80 blx 0x5d68 | r0 = fcn_00005d68 ();
0x00016d84 cmp r0, 0 |
| if (r0 != 0) {
0x00016d86 beq 0x16e0a |
0x00016d88 vldr d16, [r4, 0xe0] | __asm ("vldr d16, [r4, 0xe0]");
0x00016d8c vldr d17, [r4, 0xe8] | __asm ("vldr d17, [r4, 0xe8]");
0x00016d90 add r6, sp, 0xa0 | r6 += arg_a0h;
0x00016d92 add r5, sp, 0xb0 | r5 += c;
0x00016d94 mov r0, r6 | r0 = r6;
0x00016d96 vstr d16, [sp, 0xb0] | __asm ("vstr d16, [sp, 0xb0]");
0x00016d9a vstr d17, [sp, 0xb8] | __asm ("vstr d17, [sp, 0xb8]");
0x00016d9c subs r6, r5, r4 | r6 = r5 - r4;
0x00016d9e blx 0x5e1c | fcn_00005e1c ();
0x00016da2 mov r1, r5 | r1 = r5;
0x00016da4 mov r0, r6 | r0 = r6;
0x00016da6 bl 0xf628 | r0 = fcn_0000f628 (r0, r1, r2);
0x00016daa subs r2, r0, 1 | r2 = r0 - 1;
0x00016dac mov r5, r0 | r5 = r0;
0x00016dae adc r3, r1, -1 | __asm ("adc r3, r1, -1");
0x00016db2 adds r2, 2 | r2 += 2;
0x00016db4 sbcs r3, r3, -1 | __asm ("sbcs r3, r3, -1");
0x00016db8 mov sl, r1 | sl = r1;
| if (r2 >= 2) {
0x00016dba bhs.w 0x179a8 | goto label_132;
| }
0x00016dbe add r3, sp, 0x2c4 | r3 += arg_2c4h;
0x00016dc0 movs r2, 0x26 | r2 = 0x26;
0x00016dc2 movs r1, 0 | r1 = 0;
0x00016dc4 mov r0, r3 | r0 = r3;
0x00016dc6 blx 0x5d50 | fcn_00005d50 ();
0x00016dca ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00016dcc movs r1, 0x26 | r1 = 0x26;
0x00016dce ldr r3, [pc, 0x278] |
0x00016dd0 add r6, sp, 0x3c4 | r6 += arg_3c4h;
0x00016dd2 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00016dd4 mov r2, r5 | r2 = r5;
0x00016dd6 ldr r3, [r3] | r3 = *(0x1704a);
0x00016dd8 str r3, [sp] | *(sp) = r3;
0x00016dda mov r3, sl | r3 = sl;
0x00016ddc blx 0x5a10 | json_variant_dump ();
0x00016dde cdp p1, 1, c2, c8, c0, 0 | __asm ("cdp p1, 1, c2, c8, c0, 0");
0x00016de2 mov sb, r0 | sb = r0;
0x00016de4 mov.w r2, 0x100 | r2 = 0x100;
0x00016de8 mov r0, r6 | r0 = r6;
0x00016dea blx 0x5d50 | fcn_00005d50 ();
0x00016dec vext.16 d4, d2, d26, 3 | __asm ("vext.16 d4, d2, d26, 3");
0x00016df0 mov r3, sl | r3 = sl;
0x00016df2 mov.w r1, 0x100 | r1 = 0x100;
0x00016df6 mov r0, r6 | r0 = r6;
0x00016df8 blx 0x5ed0 | fcn_00005ed0 ();
0x00016dfc ldr r1, [pc, 0x260] |
0x00016dfe mov r3, r0 | r3 = r0;
0x00016e00 mov r2, sb | r2 = sb;
0x00016e02 movs r0, 1 | r0 = 1;
0x00016e04 add r1, pc | r1 = 0x2de68;
0x00016e06 blx 0x68e0 | touch ();
0x00016e08 invalid |
| }
| label_38:
0x00016e0a ldr r6, [r4, 0x3c] | r6 = *((r4 + 0x3c));
0x00016e0c cmp r6, 0 |
| if (r6 == 0) {
0x00016e0e beq 0x16e82 | goto label_133;
| }
0x00016e10 ldr r3, [r6] | r3 = *(r6);
0x00016e12 cmp r3, 0 |
| if (r3 == 0) {
0x00016e14 beq 0x16e82 | goto label_133;
| }
0x00016e16 ldr.w fp, [pc, 0x24c] |
0x00016e1a add r5, sp, 0xb0 | r5 += c;
0x00016e1c ldr.w sl, [pc, 0x248] |
0x00016e20 ldr.w sb, [pc, 0x248] |
0x00016e24 ldr r7, [sp, 0x4c] | r7 = *(arg_4ch);
0x00016e26 add fp, pc | fp = 0x2de90;
0x00016e28 ldr.w r8, [sp, 0x54] | r8 = *(arg_54h);
0x00016e2c add sl, pc | sl = 0x2de98;
0x00016e2e add sb, pc | sb = 0x2de9e;
0x00016e30 str.w sb, [sp, 0x44] | __asm ("str.w sb, [arg_44h]");
| do {
0x00016e34 mvn r3, 0x15 | r3 = ~0x15;
0x00016e38 mov r2, r5 | r2 = r5;
0x00016e3a str r3, [r5] | *(r5) = r3;
0x00016e3c ldr r0, [sp, 0x2c] | r0 = *(arg_2ch);
0x00016e3e ldr r1, [r6] | r1 = *(r6);
0x00016e40 bl 0x1ae00 | fcn_0001ae00 (r0, r1, r2, r3, r4, r5, r6);
0x00016e44 ldr r0, [r5] | r0 = *(r5);
0x00016e46 blx 0x6754 | lookup_paths_init ();
0x00016e4a mov r2, r8 | r2 = r8;
0x00016e4c mov r1, r7 | r1 = r7;
0x00016e4e bl 0x12d1c | fcn_00012d1c (r0, r1, r2);
0x00016e52 ldr r3, [r4, 0x3c] | r3 = *((r4 + 0x3c));
0x00016e54 movs r0, 7 | r0 = 7;
0x00016e56 cmp r3, r6 |
0x00016e58 ite eq |
| if (r3 != r6) {
0x00016e5a moveq sb, fp | sb = fp;
| }
| if (r3 == r6) {
0x00016e5c movne sb, sl | sb = sl;
| }
0x00016e5e blx 0x6198 | fcn_00006198 ();
0x00016e62 ldr r3, [r6] | r3 = *(r6);
0x00016e64 mov r2, sb | r2 = sb;
0x00016e66 str r0, [sp] | *(sp) = r0;
0x00016e68 movs r0, 1 | r0 = 1;
0x00016e6a str r3, [sp, 8] | var_8h = r3;
0x00016e6c ldr.w r1, [r8] | r1 = *(r8);
0x00016e70 ldr r3, [r7] | r3 = *(r7);
0x00016e72 str r1, [sp, 4] | var_4h = r1;
0x00016e74 ldr r1, [sp, 0x44] | r1 = *(arg_44h);
0x00016e76 blx 0x68e0 | touch ();
0x00016e7a ldr r3, [r6, 4]! | r3 = *((r6 += 4));
0x00016e7e cmp r3, 0 |
0x00016e80 bne 0x16e34 |
| } while (r3 != 0);
| label_133:
0x00016e82 ldrb.w r3, [r4, 0xc0] | r3 = *((r4 + 0xc0));
| if (r3 == 0) {
0x00016e86 cbnz r3, 0x16e92 |
0x00016e88 ldrd r3, r2, [r4, 0xb8] | __asm ("ldrd r3, r2, [r4, 0xb8]");
0x00016e8c orrs r3, r2 | r3 |= r2;
| if (r3 != r2) {
0x00016e8e bne.w 0x17c7c | goto label_134;
| }
| }
| label_53:
0x00016e92 ldrb.w r3, [r4, 0xd0] | r3 = *((r4 + 0xd0));
| if (r3 == 0) {
0x00016e96 cbnz r3, 0x16ea2 |
0x00016e98 ldrd r3, r2, [r4, 0xc8] | __asm ("ldrd r3, r2, [r4, 0xc8]");
0x00016e9c orrs r3, r2 | r3 |= r2;
| if (r3 != r2) {
0x00016e9e bne.w 0x17b42 | goto label_135;
| }
| }
| label_47:
0x00016ea2 ldr.w r2, [r4, 0x104] | r2 = *((r4 + 0x104));
| if (r2 != 0) {
0x00016ea6 cbz r2, 0x16eb2 |
0x00016ea8 ldr r1, [pc, 0x1c4] |
0x00016eaa movs r0, 1 | r0 = 1;
0x00016eac add r1, pc | r1 = 0x2df20;
0x00016eae blx 0x68e0 | touch ();
| }
0x00016eb2 ldr.w r2, [r4, 0x108] | r2 = *((r4 + 0x108));
| if (r2 != 0) {
0x00016eb6 cbz r2, 0x16ec2 |
0x00016eb8 ldr r1, [pc, 0x1b8] |
0x00016eba movs r0, 1 | r0 = 1;
0x00016ebc add r1, pc | r1 = 0x2df34;
0x00016ebe blx 0x68e0 | touch ();
| }
0x00016ec2 ldr.w r2, [r4, 0x10c] | r2 = *((r4 + 0x10c));
| if (r2 != 0) {
0x00016ec6 cbz r2, 0x16ed2 |
0x00016ec8 ldr r1, [pc, 0x1ac] |
0x00016eca movs r0, 1 | r0 = 1;
0x00016ecc add r1, pc | r1 = 0x2df48;
0x00016ece blx 0x68e0 | touch ();
| }
0x00016ed2 ldr r6, [r4, 0x24] | r6 = *((r4 + 0x24));
| if (r6 == 0) {
0x00016ed4 cbz r6, 0x16f2a | goto label_136;
| }
0x00016ed6 ldr r3, [r6] | r3 = *(r6);
| if (r3 == 0) {
0x00016ed8 cbz r3, 0x16f2a | goto label_136;
| }
0x00016eda ldr.w fp, [pc, 0x1a0] |
0x00016ede add r5, sp, 0xb0 | r5 += c;
0x00016ee0 ldr.w sl, [pc, 0x19c] |
0x00016ee4 ldr.w sb, [pc, 0x19c] |
0x00016ee8 add fp, pc | fp = 0x2df6a;
0x00016eea add sl, pc | sl = 0x2df6e;
0x00016eec add sb, pc | sb = 0x2df74;
| do {
0x00016eee movs r1, 0 | r1 = 0;
0x00016ef0 mov r2, r5 | r2 = r5;
0x00016ef2 str r1, [r5] | *(r5) = r1;
0x00016ef4 ldr r0, [r6] | r0 = *(r6);
0x00016ef6 blx 0x6378 | r0 = fcn_00006378 ();
0x00016efa cmp r0, 0 |
0x00016efc mov.w r2, 9 | r2 = 9;
0x00016efe lsls r1, r1, 8 | r1 <<= 8;
0x00016f00 it lt |
| if (r1 >= r1) {
0x00016f02 ldrlt r3, [r6] | r3 = *(r6);
| }
0x00016f04 mov r1, sb | r1 = sb;
0x00016f06 it ge |
| if (r1 < r1) {
0x00016f08 ldrge r3, [r5] | r3 = *(r5);
| }
0x00016f0a movs r0, 1 | r0 = 1;
0x00016f0c str r3, [sp] | *(sp) = r3;
0x00016f0e ldr r3, [r4, 0x24] | r3 = *((r4 + 0x24));
0x00016f10 cmp r3, r6 |
0x00016f12 ite eq |
| if (r3 != r6) {
0x00016f14 moveq r3, fp | r3 = fp;
| }
| if (r3 == r6) {
0x00016f16 movne r3, sl | r3 = sl;
| }
0x00016f18 blx 0x68e0 | touch ();
0x00016f1c ldr r0, [r5] | r0 = *(r5);
0x00016f1e blx 0x59e0 | unit_file_state_to_string ();
0x00016f22 ldr r3, [r6, 4]! | r3 = *((r6 += 4));
0x00016f26 cmp r3, 0 |
0x00016f28 bne 0x16eee |
| } while (r3 != 0);
| label_136:
0x00016f2a ldr.w r5, [r4, 0x100] | r5 = *((r4 + 0x100));
0x00016f2e cmp r5, 0 |
| if (r5 == 0) {
0x00016f30 beq.w 0x170bc | goto label_137;
| }
0x00016f34 ldr.w sl, [pc, 0x150] |
0x00016f38 ldr.w sb, [pc, 0x150] |
0x00016f3c ldr r6, [pc, 0x150] |
0x00016f3e add sl, pc | sl = 0x2dfca;
0x00016f40 add sb, pc | sb = 0x2dfd0;
0x00016f42 add r6, pc | r6 = 0x2dfd6;
0x00016f44 b 0x170b6 |
| while (r3 != 0) {
0x00017094 ldr r2, [r5, 4] | r2 = *((r5 + 4));
| if (r2 == 0) {
0x00017096 cbz r2, 0x170bc | goto label_137;
| }
0x00017098 strd r2, r3, [sp] | __asm ("strd r2, r3, [sp]");
0x0001709c mov r1, r6 | r1 = r6;
0x0001709e ldr.w r3, [r4, 0x100] | r3 = *((r4 + 0x100));
0x000170a2 movs r2, 9 | r2 = 9;
0x000170a4 movs r0, 1 | r0 = 1;
0x000170a6 cmp r3, r5 |
0x000170a8 add.w r5, r5, 8 | r5 += 8;
0x000170ac ite eq |
| if (r3 != r5) {
0x000170ae moveq r3, sl | r3 = sl;
| }
| if (r3 == r5) {
0x000170b0 movne r3, sb | r3 = sb;
| }
0x000170b2 blx 0x68e0 | touch ();
0x000170b6 ldr r3, [r5] | r3 = *(r5);
0x000170b8 cmp r3, 0 |
0x000170ba bne 0x17094 |
| }
| label_137:
0x000170bc ldrb.w r3, [r4, 0xfc] | r3 = *((r4 + 0xfc));
0x000170c0 cmp r3, 0 |
| if (r3 != 0) {
0x000170c2 bne.w 0x17974 | goto label_138;
| }
| label_37:
0x000170c6 ldr.w fp, [r4, 0x198] | fp = *((r4 + 0x198));
0x000170ca cmp.w fp, 0 |
| if (fp == 0) {
0x000170ce beq 0x17108 | goto label_139;
| }
0x000170d0 ldr.w r3, [pc, 0xd24] |
0x000170d4 mov r6, fp | r6 = fp;
0x000170d6 ldr.w sb, [pc, 0xd24] |
0x000170da ldr.w fp, [sp, 0x54] | fp = *(arg_54h);
0x000170de add r3, pc | r3 = 0x2eeda;
0x000170e0 str r3, [sp, 0x44] | *(arg_44h) = r3;
0x000170e2 add sb, pc | sb = 0x2eee4;
0x000170e4 ldr.w r3, [pc, 0xd18] |
0x000170e8 add r3, pc | r3 = 0x2eeec;
0x000170ea str r3, [sp, 0x48] | *(arg_48h) = r3;
| do {
0x000170ec mov r5, r6 | r5 = r6;
0x000170ee ldr r6, [r6, 0x30] | r6 = *((r6 + 0x30));
0x000170f0 ldr r3, [r5, 0x24] | r3 = *((r5 + 0x24));
| if (r3 != 0) {
0x000170f2 cbz r3, 0x17104 |
0x000170f4 ldr r0, [r5] | r0 = *(r5);
0x000170f6 mov r1, sb | r1 = sb;
0x000170f8 blx 0x5d68 | r0 = fcn_00005d68 ();
0x000170fc mov r3, r0 | r3 = r0;
0x000170fe cmp r0, 0 |
| if (r0 == 0) {
0x00017100 beq.w 0x175cc | goto label_140;
| }
| }
| label_20:
0x00017104 cmp r6, 0 |
0x00017106 bne 0x170ec |
| } while (r6 != 0);
| label_139:
0x00017108 ldr r2, [r4, 0x7c] | r2 = *((r4 + 0x7c));
0x0001710a cmp r2, 0 |
| if (r2 <= 0) {
0x0001710c ble.w 0x1787c | goto label_141;
| }
0x00017110 ldr.w r1, [pc, 0xcf0] |
0x00017114 movs r0, 1 | r0 = 1;
0x00017116 add r1, pc | r1 = 0x2ef1e;
0x00017118 blx 0x68e0 | touch ();
0x0001711c ldrb.w r3, [r4, 0x8c] | r3 = *((r4 + 0x8c));
0x00017120 lsls r3, r3, 0x1f | r3 <<= 0x1f;
| if (r3 >= r3) {
0x00017122 bpl.w 0x17c28 | goto label_142;
| }
0x00017126 ldr.w r3, [pc, 0xce0] |
0x0001712a ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x0001712c ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0001712e ldr r3, [r3] | r3 = *(0x17e0a);
0x00017130 cmp r3, 0 |
| if (r3 == 0) {
0x00017132 beq.w 0x17ffa | goto label_143;
| }
| label_50:
0x00017136 ldr.w r3, [r4, 0x80] | r3 = *((r4 + 0x80));
0x0001713a cmp r3, 0 |
| if (r3 > 0) {
0x0001713c bgt.w 0x179d4 | goto label_144;
| }
0x0001713e strh r2, [r1, 0x22] | *((r1 + 0x22)) = r2;
| label_28:
0x00017140 movs r0, 0xa | r0 = 0xa;
0x00017142 blx 0x5d1c | get_process_comm ();
| label_27:
0x00017146 ldr.w r2, [r4, 0x84] | r2 = *((r4 + 0x84));
| if (r2 != 0) {
0x0001714a cbz r2, 0x17158 |
0x0001714c ldr.w r1, [pc, 0xcbc] |
0x00017150 movs r0, 1 | r0 = 1;
0x00017152 add r1, pc | r1 = 0x2ef62;
0x00017154 blx 0x68e0 | touch ();
| }
0x00017158 ldr.w r5, [r4, 0x90] | r5 = *((r4 + 0x90));
0x0001715c cmp r5, 0 |
| if (r5 > 0) {
0x0001715e ble 0x17176 |
0x00017160 mov r0, r5 | r0 = r5;
0x00017162 blx 0x5b98 | fcn_00005b98 ();
0x00017166 ldr.w r1, [pc, 0xca8] |
0x0001716a mov r3, r0 | r3 = r0;
0x0001716c mov r2, r5 | r2 = r5;
0x0001716e movs r0, 1 | r0 = 1;
0x00017170 add r1, pc | r1 = 0x2ef86;
0x00017172 blx 0x68e0 | touch ();
| }
0x00017176 ldrd r2, r3, [r4, 0x168] | __asm ("ldrd r2, r3, [r4, 0x168]");
0x0001717a cmp.w r3, -1 |
0x0001717e it eq |
| if (r3 == -1) {
0x00017180 cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 != -1) {
0x00017184 beq 0x171d4 |
0x00017186 ldrd r0, r1, [r4, 0x170] | __asm ("ldrd r0, r1, [r4, 0x170]");
0x0001718a cmp.w r1, -1 |
0x0001718e it eq |
| if (r1 == -1) {
0x00017190 cmpeq r0, -1 | __asm ("cmpeq r0, -1");
| }
| if (r1 == -1) {
0x00017194 beq 0x171d4 | goto label_145;
| }
0x00017196 movs r5, 0 | r5 = 0;
0x00017198 movs r6, 7 | r6 = 7;
0x0001719a add r0, sp, 0x3c4 | r0 += arg_3c4h;
0x0001719c str r6, [sp] | *(sp) = r6;
0x0001719e movs r1, 0x10 | r1 = 0x10;
0x000171a0 strd r5, r5, [r0] | __asm ("strd r5, r5, [r0]");
0x000171a4 strd r5, r5, [r0, 8] | __asm ("strd r5, r5, [r0, 8]");
0x000171a8 blx 0x651c | fcn_0000651c ();
0x000171ac str r6, [sp] | *(sp) = r6;
0x000171ae mov r6, r0 | r6 = r0;
0x000171b0 add r0, sp, 0x2c4 | r0 += arg_2c4h;
0x000171b2 ldrd r2, r3, [r4, 0x170] | __asm ("ldrd r2, r3, [r4, 0x170]");
0x000171b6 movs r1, 0x10 | r1 = 0x10;
0x000171b8 strd r5, r5, [r0] | __asm ("strd r5, r5, [r0]");
0x000171bc strd r5, r5, [r0, 8] | __asm ("strd r5, r5, [r0, 8]");
0x000171c0 blx 0x651c | fcn_0000651c ();
0x000171c4 ldr.w r1, [pc, 0xc4c] |
0x000171c8 mov r3, r0 | r3 = r0;
0x000171ca mov r2, r6 | r2 = r6;
0x000171cc movs r0, 1 | r0 = 1;
0x000171ce add r1, pc | r1 = 0x2efe6;
0x000171d0 blx 0x68e0 | touch ();
| }
| label_145:
0x000171d4 ldrd r2, r3, [r4, 0x178] | __asm ("ldrd r2, r3, [r4, 0x178]");
0x000171d8 cmp.w r3, -1 |
0x000171dc it eq |
| if (r3 == -1) {
0x000171de cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 != -1) {
0x000171e2 beq 0x17232 |
0x000171e4 ldrd r0, r1, [r4, 0x180] | __asm ("ldrd r0, r1, [r4, 0x180]");
0x000171e8 cmp.w r1, -1 |
0x000171ec it eq |
| if (r1 == -1) {
0x000171ee cmpeq r0, -1 | __asm ("cmpeq r0, -1");
| }
| if (r1 == -1) {
0x000171f2 beq 0x17232 | goto label_146;
| }
0x000171f4 movs r5, 0 | r5 = 0;
0x000171f6 movs r6, 7 | r6 = 7;
0x000171f8 add r0, sp, 0x3c4 | r0 += arg_3c4h;
0x000171fa str r6, [sp] | *(sp) = r6;
0x000171fc movs r1, 0x10 | r1 = 0x10;
0x000171fe strd r5, r5, [r0] | __asm ("strd r5, r5, [r0]");
0x00017202 strd r5, r5, [r0, 8] | __asm ("strd r5, r5, [r0, 8]");
0x00017206 blx 0x651c | fcn_0000651c ();
0x00017208 invalid |
0x0001720c mov r6, r0 | r6 = r0;
0x0001720e add r0, sp, 0x2c4 | r0 += arg_2c4h;
0x00017210 ldrd r2, r3, [r4, 0x180] | __asm ("ldrd r2, r3, [r4, 0x180]");
0x00017212 movs r3, 0x60 | r3 = 0x60;
0x00017214 movs r1, 0x10 | r1 = 0x10;
0x00017216 strd r5, r5, [r0] | __asm ("strd r5, r5, [r0]");
0x00017218 strb r0, [r0, r4] | *((r0 + r4)) = r0;
0x0001721a strd r5, r5, [r0, 8] | __asm ("strd r5, r5, [r0, 8]");
0x0001721e blx 0x651c | fcn_0000651c ();
0x00017222 ldr.w r1, [pc, 0xbf4] |
0x00017226 mov r3, r0 | r3 = r0;
0x00017228 mov r2, r6 | r2 = r6;
0x0001722a movs r0, 1 | r0 = 1;
0x0001722c add r1, pc | r1 = 0x2f04a;
0x0001722e blx 0x68e0 | touch ();
| }
| label_146:
0x00017232 ldrd r2, r3, [r4, 0x158] | __asm ("ldrd r2, r3, [r4, 0x158]");
0x00017236 cmp.w r3, -1 |
0x0001723a it eq |
| if (r3 == -1) {
0x0001723c cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 != -1) {
0x00017240 beq 0x1726c |
0x00017242 ldr.w r1, [pc, 0xbd8] |
0x00017246 movs r0, 1 | r0 = 1;
0x00017248 add r1, pc | r1 = 0x2f06a;
0x0001724a blx 0x68e0 | touch ();
0x0001724e ldrd r2, r3, [r4, 0x160] | __asm ("ldrd r2, r3, [r4, 0x160]");
0x00017252 cmp.w r3, -1 |
0x00017256 it eq |
| if (r3 == -1) {
0x00017258 cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 == -1) {
0x0001725c beq.w 0x17c6a | goto label_147;
| }
0x00017260 ldr.w r1, [pc, 0xbbc] |
0x00017264 movs r0, 1 | r0 = 1;
0x00017266 add r1, pc | r1 = 0x2f08a;
0x00017268 blx 0x68e0 | touch ();
| }
| label_51:
0x0001726c ldrd r2, r3, [r4, 0x110] | __asm ("ldrd r2, r3, [r4, 0x110]");
0x00017270 cmp.w r3, -1 |
0x00017274 it eq |
| if (r3 == -1) {
0x00017276 cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 == -1) {
0x0001727a beq.w 0x174c4 | goto label_148;
| }
0x0001727e movs r1, 7 | r1 = 7;
0x00017280 add r0, sp, 0x3c4 | r0 += arg_3c4h;
0x00017282 str r1, [sp] | *(sp) = r1;
0x00017284 movs r1, 0 | r1 = 0;
0x00017286 strd r1, r1, [r0] | __asm ("strd r1, r1, [r0]");
0x0001728a strd r1, r1, [r0, 8] | __asm ("strd r1, r1, [r0, 8]");
0x0001728e movs r1, 0x10 | r1 = 0x10;
0x00017290 blx 0x651c | fcn_0000651c ();
0x00017294 ldr.w r1, [pc, 0xb8c] |
0x00017298 mov r2, r0 | r2 = r0;
0x0001729a movs r0, 1 | r0 = 1;
0x0001729c add r1, pc | r1 = 0x2f0c4;
0x0001729e blx 0x68e0 | touch ();
0x000172a2 ldrd r3, r2, [r4, 0x118] | __asm ("ldrd r3, r2, [r4, 0x118]");
0x000172a6 ldr.w r1, [r4, 0x120] | r1 = *((r4 + 0x120));
0x000172aa orrs r3, r1 | r3 |= r1;
0x000172ac ldr.w r1, [r4, 0x124] | r1 = *((r4 + 0x124));
0x000172b0 orrs r2, r1 | r2 |= r1;
0x000172b2 orrs r3, r2 | r3 |= r2;
| if (r3 == r2) {
0x000172b4 bne 0x172f8 |
0x000172b6 ldrd r2, r3, [r4, 0x128] | __asm ("ldrd r2, r3, [r4, 0x128]");
0x000172ba ldr.w r1, [r4, 0x130] | r1 = *((r4 + 0x130));
0x000172be ands r2, r1 | r2 &= r1;
0x000172c0 ldr.w r1, [r4, 0x134] | r1 = *((r4 + 0x134));
0x000172c4 ands r3, r1 | r3 &= r1;
0x000172c6 ldr.w r1, [r4, 0x138] | r1 = *((r4 + 0x138));
0x000172ca ands r2, r1 | r2 &= r1;
0x000172cc ldr.w r1, [r4, 0x13c] | r1 = *((r4 + 0x13c));
0x000172d0 ands r3, r1 | r3 &= r1;
0x000172d2 ldr.w r1, [r4, 0x148] | r1 = *((r4 + 0x148));
0x000172d6 ands r2, r1 | r2 &= r1;
0x000172d8 ldr.w r1, [r4, 0x14c] | r1 = *((r4 + 0x14c));
0x000172dc ands r3, r1 | r3 &= r1;
0x000172de ldr.w r1, [r4, 0x140] | r1 = *((r4 + 0x140));
0x000172e0 asrs r0, r0, 5 | r0 >>= 5;
0x000172e2 ands r2, r1 | r2 &= r1;
0x000172e4 ldr.w r1, [r4, 0x144] | r1 = *((r4 + 0x144));
0x000172e6 asrs r4, r0, 5 | r4 = r0 >> 5;
0x000172e8 ands r3, r1 | r3 &= r1;
0x000172ea cmp.w r3, -1 |
0x000172ee it eq |
| if (r3 == -1) {
0x000172f0 cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
0x000172f2 subs r7, 0xff | r7 -= 0xff;
| if (r7 == 0xff) {
0x000172f4 beq.w 0x174be | goto label_149;
| }
| }
0x000172f8 ldr.w r1, [pc, 0xb2c] |
0x000172fc movs r0, 1 | r0 = 1;
0x000172fe add r1, pc | r1 = 0x2f12a;
0x00017300 blx 0x68e0 | touch ();
0x00017304 ldrd r2, r3, [r4, 0x118] | __asm ("ldrd r2, r3, [r4, 0x118]");
0x00017308 orrs.w r1, r2, r3 | r1 = r2 | r3;
| if (r1 == r2) {
0x0001730c beq.w 0x179fc | goto label_150;
| }
0x00017310 cmp.w r3, -1 |
0x00017314 it eq |
| if (r3 == -1) {
0x00017316 cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 == -1) {
0x0001731a beq.w 0x17fb4 | goto label_151;
| }
0x0001731e movs r1, 7 | r1 = 7;
0x00017320 add r0, sp, 0x2c4 | r0 += arg_2c4h;
0x00017322 str r1, [sp] | *(sp) = r1;
0x00017324 movs r1, 0 | r1 = 0;
0x00017326 strd r1, r1, [r0] | __asm ("strd r1, r1, [r0]");
0x0001732a strd r1, r1, [r0, 8] | __asm ("strd r1, r1, [r0, 8]");
0x0001732e movs r1, 0x10 | r1 = 0x10;
0x00017330 blx 0x651c | r0 = fcn_0000651c ();
0x00017334 mov r3, r0 | r3 = r0;
| label_61:
0x00017336 ldr.w r5, [pc, 0xaf4] |
0x0001733a movs r0, 1 | r0 = 1;
0x0001733c ldr.w r2, [pc, 0xaf0] |
0x00017340 ldr.w r1, [pc, 0xaf0] |
0x00017344 add r5, pc | r5 = 0x2f176;
0x00017346 add r2, pc | r2 = 0x2f17a;
0x00017348 add r1, pc | r1 = 0x2f180;
0x0001734a blx 0x68e0 | touch ();
| label_41:
0x0001734e ldrd r2, r3, [r4, 0x120] | __asm ("ldrd r2, r3, [r4, 0x120]");
0x00017352 orrs.w r1, r2, r3 | r1 = r2 | r3;
| if (r1 != r2) {
0x00017356 beq 0x17392 |
0x00017358 cmp.w r3, -1 |
0x0001735c it eq |
| if (r3 == -1) {
0x0001735e cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 == -1) {
0x00017362 beq.w 0x17fac | goto label_152;
| }
0x00017366 movs r1, 7 | r1 = 7;
0x00017368 add r0, sp, 0x2c4 | r0 += arg_2c4h;
0x0001736a str r1, [sp] | *(sp) = r1;
0x0001736c movs r1, 0 | r1 = 0;
0x0001736e strd r1, r1, [r0] | __asm ("strd r1, r1, [r0]");
0x00017372 strd r1, r1, [r0, 8] | __asm ("strd r1, r1, [r0, 8]");
0x00017376 movs r1, 0x10 | r1 = 0x10;
0x00017378 blx 0x651c | r0 = fcn_0000651c ();
0x0001737c mov r3, r0 | r3 = r0;
| label_60:
0x0001737e ldr.w r1, [pc, 0xab8] |
0x00017382 mov r2, r5 | r2 = r5;
0x00017384 ldr.w r5, [pc, 0xab4] |
0x00017388 movs r0, 1 | r0 = 1;
0x0001738a add r1, pc | r1 = 0x2f1c8;
0x0001738c add r5, pc | r5 = 0x2f1cc;
0x0001738e blx 0x68e0 | touch ();
| }
0x00017392 ldrd r2, r3, [r4, 0x128] | __asm ("ldrd r2, r3, [r4, 0x128]");
0x00017396 cmp.w r3, -1 |
0x0001739a it eq |
| if (r3 == -1) {
0x0001739c cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 != -1) {
0x000173a0 beq 0x173ce |
0x000173a2 movs r1, 7 | r1 = 7;
0x000173a4 add r0, sp, 0x2c4 | r0 += arg_2c4h;
0x000173a6 str r1, [sp] | *(sp) = r1;
0x000173a8 movs r1, 0 | r1 = 0;
0x000173aa strd r1, r1, [r0] | __asm ("strd r1, r1, [r0]");
0x000173ae strd r1, r1, [r0, 8] | __asm ("strd r1, r1, [r0, 8]");
0x000173b2 movs r1, 0x10 | r1 = 0x10;
0x000173b4 blx 0x651c | fcn_0000651c ();
0x000173b8 ldr.w r1, [pc, 0xa84] |
0x000173bc mov r2, r5 | r2 = r5;
0x000173be ldr.w r5, [pc, 0xa84] |
0x000173c2 mov r3, r0 | r3 = r0;
0x000173c4 movs r0, 1 | r0 = 1;
0x000173c6 add r1, pc | r1 = 0x2f20a;
0x000173c8 add r5, pc | r5 = 0x2f212;
0x000173ca blx 0x68e0 | touch ();
| }
0x000173ce ldrd r2, r3, [r4, 0x130] | __asm ("ldrd r2, r3, [r4, 0x130]");
0x000173d2 cmp.w r3, -1 |
0x000173d6 it eq |
| if (r3 == -1) {
0x000173d8 cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
| if (r3 != -1) {
0x000173dc beq 0x1740a |
0x000173de movs r1, 7 | r1 = 7;
0x000173e0 add r0, sp, 0x2c4 | r0 += arg_2c4h;
0x000173e2 str r1, [sp] | *(sp) = r1;
0x000173e4 movs r1, 0 | r1 = 0;
0x000173e6 strd r1, r1, [r0] | __asm ("strd r1, r1, [r0]");
0x000173ea strd r1, r1, [r0, 8] | __asm ("strd r1, r1, [r0, 8]");
0x000173ee movs r1, 0x10 | r1 = 0x10;
0x000173f0 blx 0x651c | fcn_0000651c ();
0x000173f4 ldr.w r1, [pc, 0xa50] |
0x000173f6 subs r0, r2, r1 | r0 = r2 - r1;
0x000173f8 mov r2, r5 | r2 = r5;
0x000173fa ldr.w r5, [pc, 0xa50] |
0x000173fe mov r3, r0 | r3 = r0;
0x00017400 movs r0, 1 | r0 = 1;
0x00017402 add r1, pc | r1 = 0x2f24e;
0x00017404 add r5, pc | r5 = 0x2f256;
0x00017406 blx 0x68e0 | touch ();
0x00017408 invalid |
| }
0x0001740a ldrd r2, r3, [r4, 0x138] | __asm ("ldrd r2, r3, [r4, 0x138]");
0x0001740e cmp.w r3, -1 |
0x00017412 it eq |
| if (r3 == -1) {
0x00017414 cmpeq r2, -1 | __asm ("cmpeq r2, -1");
| }
0x00017416 subs r7, 0xff | r7 -= 0xff;
| if (r7 == 0xff) {
0x00017418 beq 0x17446 | void (*0x17446)() ();
| }
| label_149:
0x000174be movs r0, 0xa | r0 = 0xa;
0x000174c0 blx 0x5d1c | get_process_comm ();
| label_148:
0x000174c4 ldrd r8, r5, [r4, 0x150] | __asm ("ldrd r8, r5, [r4, 0x150]");
0x000174c8 cmp.w r5, -1 |
0x000174cc it eq |
| if (r5 == -1) {
0x000174ce cmpeq r8, -1 | __asm ("cmpeq r8, -1");
| }
| if (r5 != -1) {
0x000174d2 beq 0x17514 |
0x000174d4 add r6, sp, 0x3c4 | r6 += arg_3c4h;
0x000174d6 movs r2, 0x40 | r2 = 0x40;
0x000174d8 movs r1, 0 | r1 = 0;
0x000174da mov r0, r6 | r0 = r6;
0x000174dc blx 0x5d50 | fcn_00005d50 ();
0x000174e0 mov.w sb, 0 | sb = 0;
0x000174e4 mov r0, r8 | r0 = r8;
0x000174e6 mov.w r2, 0x3e8 | r2 = 0x3e8;
0x000174e8 strb r2, [r7, 9] | *((r7 + 9)) = r2;
0x000174ea movs r3, 0 | r3 = 0;
0x000174ec mov r1, r5 | r1 = r5;
0x000174ee mov.w r8, 0x3e8 | r8 = 0x3e8;
0x000174f2 bl 0x1ec4c | fcn_0001ec4c (r0, r1, r2, r3);
0x000174f6 strd r8, sb, [sp] | __asm ("strd r8, sb, [sp]");
0x000174f8 ldrh r0, [r0, 8] | r0 = *((r0 + 8));
0x000174fa mov r2, r0 | r2 = r0;
0x000174fc mov r3, r1 | r3 = r1;
0x000174fe mov r0, r6 | r0 = r6;
0x00017500 movs r1, 0x40 | r1 = 0x40;
0x00017502 blx 0x6790 | strv_free ();
0x00017506 ldr.w r1, [pc, 0x95c] |
0x00017508 adds r4, r3, r5 | r4 = r3 + r5;
0x0001750a mov r2, r0 | r2 = r0;
0x0001750c movs r0, 1 | r0 = 1;
0x0001750e add r1, pc | r1 = 0x2f378;
0x00017510 blx 0x68e0 | touch ();
0x00017512 invalid |
| }
0x00017514 ldr r2, [r4, 0x30] | r2 = *((r4 + 0x30));
| if (r2 != 0) {
0x00017516 cbz r2, 0x17578 |
0x00017518 vmov.i32 d16, 0 | __asm ("vmov.i32 d16, 0");
0x0001751c movs r3, 0 | r3 = 0;
0x0001751e ldr.w r1, [pc, 0x948] |
0x00017522 movs r0, 1 | r0 = 1;
0x00017524 str r3, [sp, 0xb8] | *(arg_b8h) = r3;
0x00017526 add r5, sp, 0xb0 | r5 += c;
0x00017528 vstr d16, [r5] | __asm ("vstr d16, [r5]");
0x0001752c add r1, pc | r1 = 0x2f39a;
0x0001752e blx 0x68e0 | touch ();
0x00017532 blx 0x5d40 | bus_print_property_valuef ();
0x00017534 invalid |
0x00017538 ldr r6, [r4] | r6 = *(r4);
0x0001753a it lo |
| if (r0 >= 1) {
0x0001753c movlo r0, 0xd | r0 = 0xd;
| }
0x0001753e ldr.w sb, [r4, 0x30] | sb = *((r4 + 0x30));
0x00017540 str r0, [sp, 0xc0] | *((sp + 0xc0)) = r0;
0x00017542 sub.w r8, r0, 0xd | r8 = r0 - 0xd;
0x00017546 bl 0x125a0 | fcn_000125a0 ();
0x0001754a ldr.w r3, [pc, 0x920] |
0x0001754e mov r1, r6 | r1 = r6;
0x00017550 str r0, [sp, 4] | var_4h = r0;
0x00017552 mov r2, sb | r2 = sb;
0x00017554 ldr r0, [sp, 0x2c] | r0 = *(arg_2ch);
0x00017556 add r3, pc | r3 = 0x2f3c8;
0x00017558 str r5, [sp, 8] | var_8h = r5;
0x0001755a str.w r8, [sp] | __asm ("str.w r8, [sp]");
0x0001755e blx 0x630c | fcn_0000630c ();
0x00017560 mrc p1, 6, apsr_nzcv, c6, c0, 0 | __asm ("mrc p1, 6, apsr_nzcv, c6, c0, 0");
0x00017564 lsrs r5, r6, 0x1c | r5 = r6 >> 0x1c;
0x00017566 mov r6, r0 | r6 = r0;
| if (r5 == r6) {
0x00017568 beq.w 0x17af2 | goto label_153;
| }
0x0001756a strh r3, [r0, 0x16] | *((r0 + 0x16)) = r3;
0x0001756c cmp r0, 0 |
| if (r0 < 0) {
0x0001756e blt.w 0x17ab2 | goto label_46;
| }
| label_45:
0x00017572 mov r0, r5 | r0 = r5;
0x00017574 blx 0x5f0c | fcn_00005f0c ();
| }
0x00017578 ldr r1, [r4] | r1 = *(r4);
| if (r1 != 0) {
0x0001757a cbz r1, 0x1758c |
0x0001757c ldr.w r3, [pc, 0x888] | r3 = *(0x17e08);
0x00017580 ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00017582 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00017584 ldr r6, [r3] | r6 = *(0x17e08);
0x00017586 cmp r6, 0 |
| if (r6 == 0) {
0x00017588 beq.w 0x17a04 | goto label_154;
| }
| }
| label_42:
0x0001758c ldrb.w r3, [r4, 0x78] | r3 = *((r4 + 0x78));
0x00017590 cmp r3, 0 |
| if (r3 != 0) {
0x00017592 bne.w 0x17958 | goto label_155;
| }
0x00017596 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00017598 ldr r0, [r3] | r0 = *(r3);
0x0001759a blx 0x59e0 | unit_file_state_to_string ();
0x0001759c invalid |
| label_59:
0x0001759e ldr r6, [r4, 8] | r6 = *((r4 + 8));
0x000175a0 ldr r5, [r4, 0x24] | r5 = *((r4 + 0x24));
0x000175a2 cmp r6, 0 |
| if (r6 == 0) {
0x000175a4 beq.w 0x16aee | goto label_19;
| }
0x000175a8 ldr.w r3, [pc, 0x8c4] |
0x000175ac add r3, pc | r3 = 0x2f420;
0x000175ae ldm.w r3, {r0, r1, r2} | r0 = *(r3);
| r1 = *((r3 + 4));
| r2 = *((r3 + 8));
0x000175b0 movs r7, r0 | r7 = r0;
0x000175b2 add r3, sp, 0x264 | r3 += arg_264h;
0x000175b4 stm.w r3, {r0, r1, r2} | *(r3) = r0;
| *((r3 + 4)) = r1;
| *((r3 + 8)) = r2;
0x000175b8 mov r1, r6 | r1 = r6;
0x000175ba mov r0, r3 | r0 = r3;
0x000175bc movs r6, 3 | r6 = 3;
0x000175be blx 0x5914 | r0 = strv_find ();
0x000175c2 cmp r0, 0 |
| if (r0 != 0) {
0x000175c4 bne.w 0x16aee | goto label_19;
| }
| label_140:
0x000175cc mov r2, r3 | r2 = r3;
0x000175ce ldr r1, [sp, 0x44] | r1 = *(arg_44h);
0x000175d0 ldr r0, [r5, 8] | r0 = *((r5 + 8));
0x000175d2 blx 0x5b3c | bus_log_connect_error ();
0x000175d6 ldr r2, [r5, 0x20] | r2 = *((r5 + 0x20));
0x000175d8 mov r7, r0 | r7 = r0;
0x000175da ldr r3, [r5] | r3 = *(r5);
0x000175dc mov r1, r0 | r1 = r0;
0x000175de cmp r0, 0 |
| if (r0 == 0) {
0x000175e0 beq.w 0x17736 | goto label_156;
| }
| label_26:
0x000175e4 str r1, [sp] | *(sp) = r1;
0x000175e6 movs r0, 1 | r0 = 1;
0x000175e8 ldr r1, [sp, 0x48] | r1 = *(arg_48h);
0x000175ea blx 0x68e0 | touch ();
0x000175ee movs r3, 0 | r3 = 0;
0x000175f0 ldrd r0, r1, [r5, 0x24] | __asm ("ldrd r0, r1, [r5, 0x24]");
0x000175f4 mov r2, r3 | r2 = r3;
0x000175f6 blx 0x6528 | r0 = fcn_00006528 ();
0x000175fa cmp r0, 0 |
| if (r0 != 0) {
0x000175fc bne 0x17698 | goto label_157;
| }
0x000175fe ldrb r3, [r5, 0xc] | r3 = *((r5 + 0xc));
0x00017600 cmp r3, 0 |
| if (r3 == 0) {
0x00017602 beq.w 0x178d4 | goto label_158;
| }
0x00017606 blx 0x5ac4 | r0 = table_add_cell_full ();
0x0001760a cmp r0, 0 |
| if (r0 == 0) {
0x0001760c beq.w 0x178de | goto label_159;
| }
0x00017610 cmp r0, 2 |
| if (r0 == 2) {
0x00017612 beq.w 0x17a8a | goto label_160;
| }
0x00017616 ldr.w sl, [pc, 0x85c] |
0x0001761a add sl, pc | sl = 0x2f494;
| label_30:
0x0001761c ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x0001761e str.w sl, [r3] | __asm ("str.w sl, [r3]");
0x00017622 blx 0x5ac4 | r0 = table_add_cell_full ();
0x00017624 orrs.w r8, r0, r0, lsl 8 | r8 = r0 | (r0 << 8);
| if (r8 == r0) {
0x00017628 beq.w 0x178cc | goto label_161;
| }
0x0001762c ldr.w r8, [pc, 0x848] |
0x00017630 add r8, pc | r8 = 0x2f4ac;
| label_29:
0x00017632 str.w r8, [fp] | __asm ("str.w r8, [fp]");
| do {
0x00017636 ldr r0, [r5, 0x24] | r0 = *((r5 + 0x24));
0x00017638 blx 0x66d0 | memchr (r0, r1, r2);
0x0001763c ldr.w r1, [pc, 0x83c] |
0x00017640 mov r3, r0 | r3 = r0;
0x00017642 mov r2, sl | r2 = sl;
0x00017644 movs r0, 1 | r0 = 1;
0x00017646 add r1, pc | r1 = 0x2f4c6;
0x00017648 blx 0x68e0 | touch ();
0x0001764c ldr.w sl, [r5, 0x24] | sl = *((r5 + 0x24));
0x00017650 cmp.w sl, 1 |
0x00017652 lsrs r1, r0, 0x1c | r1 = r0 >> 0x1c;
| if (r1 == r0) {
0x00017654 beq 0x176d2 | goto label_162;
| }
0x00017656 ldr r0, [r5, 0x28] | r0 = *((r5 + 0x28));
0x00017658 blx 0x6240 | fcn_00006240 ();
0x0001765a ldcl p8, c15, [r2, 0x37c]! | __asm ("ldcl p8, c15, [r2, 0x37c]!");
0x0001765e adds r0, r4, r0 | r0 = r4 + r0;
0x00017660 mov r2, r0 | r2 = r0;
0x00017662 movs r0, 1 | r0 = 1;
0x00017664 add r1, pc | r1 += pc;
0x00017666 blx 0x68e0 | touch ();
| label_22:
0x0001766a ldr.w r1, [pc, 0x818] |
0x0001766e mov r2, r8 | r2 = r8;
0x00017670 movs r0, 1 | r0 = 1;
0x00017672 add r1, pc | r1 = 0x2f4fc;
0x00017674 blx 0x68e0 | touch ();
0x00017678 ldr.w ip, [r5, 0x20] | ip = *((r5 + 0x20));
0x0001767a stm r0!, {r5} | *(r0!) = r5;
0x0001767c ldr r2, [r4, 0x7c] | r2 = *((r4 + 0x7c));
0x0001767e cmp r2, ip |
| if (r2 == ip) {
0x00017680 beq 0x176ac | goto label_163;
| }
| label_21:
0x00017682 ldr.w r2, [r4, 0x80] | r2 = *((r4 + 0x80));
0x00017686 mov r0, r7 | r0 = r7;
0x00017688 cmp r2, ip |
0x0001768a itt eq |
| if (r2 != ip) {
0x0001768c moveq r3, 0 | r3 = 0;
| }
| if (r2 != ip) {
0x0001768e streq r3, [r4, 0x80] | *((r4 + 0x80)) = r3;
| }
0x00017692 blx 0x59e0 | unit_file_state_to_string ();
0x00017696 b 0x17104 | goto label_20;
| label_157:
0x00017698 ldr.w r3, [pc, 0x7ec] |
0x0001769c ldr r2, [sp, 0x4c] | r2 = *(arg_4ch);
0x0001769e add r3, pc | r3 = 0x2f52a;
0x000176a0 mov r8, r3 | r8 = r3;
0x000176a2 mov sl, r3 | sl = r3;
0x000176a4 str.w r3, [fp] | __asm ("str.w r3, [fp]");
0x000176a6 adds r0, 0 | r0 += 0;
0x000176a8 str r3, [r2] | *(r2) = r3;
0x000176aa b 0x17636 |
| } while (1);
| label_163:
0x000176ac ldrd r1, r2, [r5, 0x10] | __asm ("ldrd r1, r2, [r5, 0x10]");
0x000176b0 ldrd r0, r3, [r4, 0x98] | __asm ("ldrd r0, r3, [r4, 0x98]");
0x000176b4 cmp r3, r2 |
0x000176b6 it eq |
| if (r3 != r2) {
0x000176b8 cmpeq r0, r1 | __asm ("cmpeq r0, r1");
| goto label_164;
| }
| if (r3 != r2) {
| label_164:
0x000176ba bne 0x17682 | goto label_21;
| }
0x000176bc ldrd r0, r3, [r4, 0xa0] | __asm ("ldrd r0, r3, [r4, 0xa0]");
0x000176c0 cmp r2, r3 |
0x000176c2 it eq |
| if (r2 == r3) {
0x000176c4 cmpeq r1, r0 | __asm ("cmpeq r1, r0");
| }
0x000176c6 ittt eq |
| if (r2 != r3) {
0x000176c8 moveq r3, 0 | r3 = 0;
| }
| if (r2 != r3) {
0x000176ca streq r3, [r4, 0x7c] | *((r4 + 0x7c)) = r3;
| }
| if (r2 != r3) {
0x000176cc ldreq ip, [r5, 0x20] | ip = *((r5 + 0x20));
| }
0x000176d0 b 0x17682 | goto label_21;
| label_162:
0x000176d2 ldr.w r1, [pc, 0x7b8] |
0x000176d6 mov r0, sl | r0 = sl;
0x000176d8 ldr r2, [r5, 0x28] | r2 = *((r5 + 0x28));
0x000176da add r1, pc | r1 = 0x2f56c;
0x000176dc blx 0x68e0 | touch ();
0x000176e0 ldr r0, [r5, 0x28] | r0 = *((r5 + 0x28));
0x000176e2 movs r1, 3 | r1 = 3;
0x000176e4 blx 0x63cc | fcn_000063cc ();
0x000176e6 cdp p6, 7, c4, c2, c2, 0 | __asm ("cdp p6, 7, c4, c2, c2, 0");
0x000176e8 mov r2, r0 | r2 = r0;
0x000176ea cmp r0, 0 |
| if (r0 == 0) {
0x000176ec beq 0x1766a | goto label_22;
| }
0x000176ee ldr.w r1, [pc, 0x7a0] |
0x000176f2 mov r0, sl | r0 = sl;
0x000176f4 add r1, pc | r1 = 0x2f58a;
0x000176f6 blx 0x68e0 | touch ();
0x000176fa b 0x1766a | goto label_22;
| label_105:
0x000176fc ldr r5, [r4, 0x28] | r5 = *((r4 + 0x28));
0x000176fe cmp r5, 0 |
| if (r5 != 0) {
0x00017700 bne.w 0x1692e | goto label_23;
| }
0x00017704 ldr r2, [r4, 0x40] | r2 = *((r4 + 0x40));
| if (r2 == 0) {
0x00017706 cbz r2, 0x17710 | goto label_118;
| }
0x00017708 ldrb r3, [r2] | r3 = *(r2);
0x0001770a cmp r3, 0 |
| if (r3 != 0) {
0x0001770c bne.w 0x16952 | goto label_24;
| }
| label_118:
0x00017710 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x00017712 cmp r3, 0 |
| if (r3 == 0) {
0x00017714 beq.w 0x18020 | goto label_165;
| }
| label_70:
0x00017718 ldr.w r1, [pc, 0x778] |
0x0001771c mov r2, r7 | r2 = r7;
0x0001771e str r6, [sp] | *(sp) = r6;
0x00017720 movs r0, 1 | r0 = 1;
0x00017722 add r1, pc | r1 = 0x2f5ba;
0x00017724 blx 0x68e0 | touch ();
0x00017726 invalid |
| if (r0 == 0) {
0x0001772a cbnz r0, 0x17736 |
| label_129:
0x0001772c movs r0, 0xa | r0 = 0xa;
0x0001772e blx 0x5d1c | get_process_comm ();
0x00017732 b.w 0x16cf0 | goto label_25;
| }
| label_156:
0x00017736 ldr.w r1, [pc, 0x760] |
0x0001773a add r1, pc | r1 = 0x2f5d8;
0x0001773c b 0x175e4 | goto label_26;
| label_130:
0x0001773e ldr.w r1, [pc, 0x75c] |
0x00017742 mov r0, sb | r0 = sb;
0x00017744 add r1, pc | r1 = 0x2f5e6;
0x00017746 blx 0x6670 | hashmap_contains ();
0x00017748 vmlal.s16 q1, d4, d0 | __asm ("vmlal.s16 q1, d4, d0");
| if (r0 != 0xa) {
0x0001774c bne.w 0x17960 | goto label_166;
| }
0x0001774e strh r0, [r1, 8] | *((r1 + 8)) = r0;
0x00017750 ldrd r3, r2, [r4, 0x70] | __asm ("ldrd r3, r2, [r4, 0x70]");
0x00017754 cmp.w r2, -1 |
0x00017758 it eq |
| if (r2 == -1) {
0x0001775a cmpeq r3, -1 | __asm ("cmpeq r3, -1");
| }
| if (r2 == -1) {
0x0001775e beq.w 0x17960 | goto label_166;
| }
0x00017762 adds r1, r3, r5 | r1 = r3 + r5;
0x00017764 adcs.w r1, r2, r6 | __asm ("adcs.w r1, r2, r6");
0x00017768 it hs |
| if (r1 < r3) {
0x0001776a movhs r0, 1 | r0 = 1;
| }
0x0001776c cmp r0, 0 |
| if (r0 != 0) {
0x0001776e bne.w 0x1804c | goto label_167;
| }
0x00017772 adds.w sb, r5, r3 | sb = r5 + r3;
0x00017776 adc.w sl, r6, r2 | __asm ("adc.w sl, r6, r2");
| label_72:
0x0001777a add r3, sp, 0x274 | r3 += arg_274h;
0x0001777c movs r2, 0x26 | r2 = 0x26;
0x0001777e movs r1, 0 | r1 = 0;
0x00017780 mov r0, r3 | r0 = r3;
0x00017782 blx 0x5d50 | fcn_00005d50 ();
0x00017786 ldr.w r2, [fp] | r2 = *(fp);
0x0001778a mov r3, sl | r3 = sl;
0x0001778c movs r1, 0x26 | r1 = 0x26;
0x0001778e add r5, sp, 0x2c4 | r5 += arg_2c4h;
0x00017790 str r2, [sp] | *(sp) = r2;
0x00017792 mov r2, sb | r2 = sb;
0x00017794 blx 0x5a10 | json_variant_dump ();
0x00017798 movs r1, 0 | r1 = 0;
0x0001779a mov r6, r0 | r6 = r0;
0x0001779c mov.w r2, 0x100 | r2 = 0x100;
0x000177a0 mov r0, r5 | r0 = r5;
0x000177a2 blx 0x5d50 | fcn_00005d50 ();
0x000177a6 mov r2, sb | r2 = sb;
0x000177a8 mov r3, sl | r3 = sl;
0x000177aa mov.w r1, 0x100 | r1 = 0x100;
0x000177ac strb r0, [r0, 6] | *((r0 + 6)) = r0;
0x000177ae mov r0, r5 | r0 = r5;
0x000177b0 blx 0x5ed0 | fcn_00005ed0 ();
0x000177b4 ldr.w r1, [pc, 0x6e8] |
0x000177b8 mov r3, r0 | r3 = r0;
0x000177ba mov r2, r6 | r2 = r6;
0x000177bc movs r0, 1 | r0 = 1;
0x000177be add r1, pc | r1 = 0x2f662;
0x000177c0 blx 0x68e0 | touch ();
0x000177c2 invalid |
0x000177c4 ldr.w r1, [pc, 0x6dc] |
0x000177c8 ldr r0, [r4] | r0 = *(r4);
0x000177ca add r1, pc | r1 = 0x2f672;
0x000177cc blx 0x5d68 | r0 = fcn_00005d68 ();
0x000177ce pkhbt r8, ip, r0, lsl 8 | __asm ("pkhbt r8, ip, r0, lsl 8");
| if (r0 != 1) {
0x000177d2 bne.w 0x16cf0 | goto label_25;
| }
0x000177d6 ldr.w sb, [r4, 8] | sb = *((r4 + 8));
0x000177da cmp.w sb, 0 |
| if (sb == 0) {
0x000177de beq.w 0x16cf0 | goto label_25;
| }
| label_36:
0x000177e2 ldr.w r3, [pc, 0x6c4] |
0x000177e6 add r6, sp, 0x264 | r6 += arg_264h;
0x000177e8 add r3, pc | r3 = 0x2f696;
0x000177ea adds r3, 0xbc | r3 += 0xbc;
0x000177ec ldm.w r3, {r0, r1, r2} | r0 = *(r3);
| r1 = *((r3 + 4));
| r2 = *((r3 + 8));
0x000177f0 stm.w r6, {r0, r1, r2} | *(r6) = r0;
| *((r6 + 4)) = r1;
| *((r6 + 8)) = r2;
0x000177f4 mov r1, sb | r1 = sb;
0x000177f6 mov r0, r6 | r0 = r6;
0x000177f8 blx 0x5914 | strv_find ();
0x000177fa invalid |
| if (r3 == 0xbc) {
0x000177fe beq.w 0x16cf0 | goto label_25;
| }
0x00017802 ldrd sb, fp, [r4, 0x58] | __asm ("ldrd sb, fp, [r4, 0x58]");
0x00017806 adds.w r2, sb, -1 | r2 = sb + -1;
0x0001780a adc r3, fp, -1 | __asm ("adc r3, fp, -1");
0x0001780e adds r2, 2 | r2 += 2;
0x00017810 sbcs r3, r3, -1 | __asm ("sbcs r3, r3, -1");
| if (r2 >= 2) {
0x00017814 bhs.w 0x16cf0 | goto label_25;
| }
0x00017818 ldrd r6, sl, [r4, 0x60] | __asm ("ldrd r6, sl, [r4, 0x60]");
0x0001781c subs r2, r6, 1 | r2 = r6 - 1;
0x0001781e adc r3, sl, -1 | __asm ("adc r3, sl, -1");
0x00017822 adds r2, 2 | r2 += 2;
0x00017824 sbcs r3, r3, -1 | __asm ("sbcs r3, r3, -1");
0x00017828 ite lo |
| if (r2 >= 2) {
0x0001782a movlo r3, 1 | r3 = 1;
| }
| if (r2 < 2) {
0x0001782c movhs r3, 0 | r3 = 0;
| }
0x0001782e cmp r6, sb |
0x00017830 and r3, r3, 1 | r3 &= 1;
0x00017834 sbcs.w r2, sl, fp | __asm ("sbcs.w r2, sl, fp");
0x00017838 it lo |
| if (r6 >= sb) {
0x0001783a movlo r3, 0 | r3 = 0;
| }
0x0001783c cmp r3, 0 |
| if (r3 == 0) {
0x0001783e beq.w 0x16cf0 | goto label_25;
| }
0x00017842 add r5, sp, 0x2c4 | r5 += arg_2c4h;
0x00017844 movs r2, 0x40 | r2 = 0x40;
0x00017846 movs r1, 0 | r1 = 0;
0x00017848 mov r0, r5 | r0 = r5;
0x0001784a blx 0x5d50 | fcn_00005d50 ();
0x0001784c eor.w fp, r2, r6, ror 26 |
0x00017850 lsls r1, r1, 8 | r1 <<= 8;
0x00017852 mov r0, r5 | r0 = r5;
0x00017854 sbc.w r3, sl, fp | __asm ("sbc.w r3, sl, fp");
0x00017858 mov.w sl, 0x3e8 | sl = 0x3e8;
0x0001785c mov.w fp, 0 |
0x00017860 movs r1, 0x40 | r1 = 0x40;
0x00017862 strd sl, fp, [sp] | __asm ("strd sl, fp, [sp]");
0x00017866 blx 0x6790 | strv_free ();
0x0001786a ldr.w r1, [pc, 0x640] |
0x0001786e mov r2, r0 | r2 = r0;
0x00017870 movs r0, 1 | r0 = 1;
0x00017872 add r1, pc | r1 = 0x2f724;
0x00017874 blx 0x68e0 | touch ();
0x00017878 b.w 0x16cf0 | goto label_25;
| label_141:
0x0001787c ldr.w r3, [r4, 0x80] | r3 = *((r4 + 0x80));
0x00017880 cmp r3, 0 |
| if (r3 <= 0) {
0x00017882 ble.w 0x17146 | goto label_27;
| }
0x00017886 movs r2, 0 | r2 = 0;
0x00017888 ldr.w r3, [pc, 0x624] |
0x0001788c str r2, [sp, 0xb0] | *(c) = r2;
0x0001788e add r5, sp, 0xb0 | r5 += c;
0x00017890 ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00017892 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00017894 ldr r3, [r3] | r3 = *(0x17eb0);
| label_39:
0x00017896 ldr.w r0, [pc, 0x61c] |
0x0001789a movs r2, 0xb | r2 = 0xb;
0x0001789c movs r1, 1 | r1 = 1;
0x0001789e add r0, pc | r0 = 0x2f758;
0x000178a0 blx 0x642c | fcn_0000642c ();
| label_40:
0x000178a4 ldr.w r1, [pc, 0x610] |
0x000178a8 movs r0, 1 | r0 = 1;
0x000178aa ldr.w r2, [r4, 0x80] | r2 = *((r4 + 0x80));
0x000178ae add r1, pc | r1 = 0x2f76a;
0x000178b0 blx 0x68e0 | touch ();
0x000178b4 ldr.w r3, [pc, 0x550] |
0x000178b8 ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x000178ba ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x000178bc ldr r3, [r3] | r3 = *(0x17e08);
0x000178be cmp r3, 0 |
| if (r3 == 0) {
0x000178c0 beq.w 0x17db0 | goto label_168;
| }
| label_57:
0x000178c4 ldr r0, [r5] | r0 = *(r5);
| label_56:
0x000178c6 blx 0x59e0 | unit_file_state_to_string ();
0x000178ca b 0x17140 | goto label_28;
| label_161:
0x000178cc ldr.w r8, [pc, 0x5ec] |
0x000178d0 add r8, pc | r8 = 0x2f790;
0x000178d2 b 0x17632 | goto label_29;
| label_158:
0x000178d4 blx 0x5ac4 | r0 = table_add_cell_full ();
0x000178d8 cmp r0, 0 |
| if (r0 != 0) {
0x000178da bne.w 0x17a82 | goto label_169;
| }
| label_159:
0x000178de ldr.w sl, [pc, 0x5e0] |
0x000178e2 add sl, pc | sl = 0x2f7a8;
0x000178e4 b 0x1761c | goto label_30;
| label_106:
0x000178e6 cmp r2, 0 |
| if (r2 == 0) {
0x000178e8 beq.w 0x16b2a | goto label_31;
| }
0x000178ec ldrb r3, [r2] | r3 = *(r2);
0x000178ee cmp r3, 0 |
| if (r3 == 0) {
0x000178f0 beq.w 0x16b2a | goto label_31;
| }
0x000178f4 b.w 0x16952 | goto label_24;
| label_98:
0x000178f8 ldr.w r2, [pc, 0x5c8] |
0x000178fc add r2, pc | r2 = 0x2f7c4;
0x000178fe b.w 0x16836 | goto label_32;
| label_109:
0x00017902 ldr.w r0, [pc, 0x5c4] |
0x00017906 add r0, pc | r0 = 0x2f7d4;
0x00017908 blx 0x5bf8 | fcn_00005bf8 ();
0x0001790c b.w 0x16976 | goto label_33;
| label_128:
0x00017910 adds r5, 0xbc | r5 += 0xbc;
0x00017912 ldm.w r5, {r0, r1, r2} | r0 = *(r5);
| r1 = *((r5 + 4));
| r2 = *((r5 + 8));
0x00017916 stm.w r6, {r0, r1, r2} | *(r6) = r0;
| *((r6 + 4)) = r1;
| *((r6 + 8)) = r2;
0x0001791a mov r1, sb | r1 = sb;
0x0001791c mov r0, r6 | r0 = r6;
0x0001791e blx 0x5914 | strv_find ();
0x00017920 invalid |
| if (r5 == 0xbc) {
0x00017924 beq.w 0x17a92 | goto label_170;
| }
0x00017928 ldrd r5, r6, [r4, 0x68] | __asm ("ldrd r5, r6, [r4, 0x68]");
0x0001792c b.w 0x16c82 | goto label_34;
| label_123:
0x00017930 mov r1, r6 | r1 = r6;
0x00017932 mov r0, r5 | r0 = r5;
0x00017934 blx 0x6670 | r0 = hashmap_contains ();
0x00017938 cmp r0, 0 |
| if (r0 == 0) {
0x0001793a beq.w 0x16c10 | goto label_35;
| }
| label_75:
0x0001793e ldr r3, [sp, 0x48] | r3 = *(arg_48h);
0x00017940 mov r2, r8 | r2 = r8;
0x00017942 ldr.w r1, [pc, 0x588] |
0x00017946 movs r0, 1 | r0 = 1;
0x00017948 strd r6, r3, [sp] | __asm ("strd r6, r3, [sp]");
0x0001794c mov r3, r5 | r3 = r5;
0x0001794e add r1, pc | r1 = 0x2f820;
0x00017950 blx 0x68e0 | touch ();
0x00017952 invalid |
| if (r6 != 0) {
0x00017956 cbnz r6, 0x17972 | goto label_171;
| }
| label_155:
0x00017958 ldr r0, [r4] | r0 = *(r4);
0x0001795a bl 0x1b304 | fcn_0001b304 (r0, r1, r2);
0x0001795c ldc2l p6, c14, [r3], {0x1a} | __asm ("ldc2l p6, c14, [r3], {0x1a}");
| label_166:
0x00017960 ldr.w r1, [pc, 0x56c] |
0x00017964 ldr r0, [r4] | r0 = *(r4);
0x00017966 add r1, pc | r1 = 0x2f83a;
0x00017968 blx 0x5d68 | r0 = fcn_00005d68 ();
0x0001796c cmp r0, 0 |
| if (r0 != 0) {
0x0001796e bne.w 0x16cf0 | goto label_25;
| }
| label_171:
0x00017972 b 0x177e2 | goto label_36;
| label_138:
0x00017974 ldr.w r1, [pc, 0x55c] |
0x00017978 movs r0, 1 | r0 = 1;
0x0001797a ldrd r2, r3, [r4, 0xf0] | __asm ("ldrd r2, r3, [r4, 0xf0]");
0x0001797e add r1, pc | r1 = 0x2f856;
0x00017980 blx 0x68e0 | touch ();
0x00017982 invalid |
0x00017986 movs r0, 0xf8 | r0 = 0xf8;
0x00017988 cmp r2, 0 |
| if (r2 != 0) {
0x0001798a bne.w 0x17fbc | goto label_172;
| }
| label_62:
0x0001798e movs r0, 0xa | r0 = 0xa;
0x00017990 blx 0x5d1c | get_process_comm ();
0x00017994 b.w 0x170c6 | goto label_37;
| label_90:
0x00017998 movs r0, 0xa | r0 = 0xa;
0x0001799a blx 0x5d1c | get_process_comm ();
0x0001799e movs r3, 1 | r3 = 1;
0x000179a0 strb.w r3, [sb] | *(sb) = r3;
0x000179a4 b.w 0x16518 | goto label_2;
| label_132:
0x000179a8 ldr.w r0, [pc, 0x52c] |
0x000179ac add r0, pc | r0 = 0x2f888;
0x000179ae blx 0x5bf8 | fcn_00005bf8 ();
0x000179b2 b.w 0x16e0a | goto label_38;
| label_119:
0x000179b6 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x000179b8 cmp r3, 0 |
| if (r3 == 0) {
0x000179ba beq.w 0x17fe8 | goto label_173;
| }
| label_67:
0x000179be ldr.w r1, [pc, 0x51c] |
0x000179c2 mov r2, r7 | r2 = r7;
0x000179c4 strd r6, r5, [sp] | __asm ("strd r6, r5, [sp]");
0x000179c8 movs r0, 1 | r0 = 1;
0x000179ca add r1, pc | r1 = 0x2f8ac;
0x000179cc blx 0x68e0 | touch ();
0x000179d0 b.w 0x1696c | goto label_16;
| label_144:
0x000179d4 movs r2, 0 | r2 = 0;
0x000179d6 ldr.w r3, [pc, 0x4d8] |
0x000179da str r2, [sp, 0xb0] | *(c) = r2;
0x000179dc add r5, sp, 0xb0 | r5 += c;
0x000179de ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x000179e0 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x000179e2 ldr r2, [r4, 0x7c] | r2 = *((r4 + 0x7c));
0x000179e4 ldr r3, [r3] | r3 = *(0x17eb2);
0x000179e6 cmp r2, 0 |
| if (r2 <= 0) {
0x000179e8 ble.w 0x17896 | goto label_39;
| }
0x000179ec ldr.w r0, [pc, 0x4f0] |
0x000179f0 movs r2, 0xf | r2 = 0xf;
0x000179f2 movs r1, 1 | r1 = 1;
0x000179f4 add r0, pc | r0 = 0x2f8d8;
0x000179f6 blx 0x642c | fcn_0000642c ();
0x000179fa b 0x178a4 | goto label_40;
| label_150:
0x000179fc ldr.w r5, [pc, 0x4e4] |
0x00017a00 add r5, pc | r5 = 0x2f8e8;
0x00017a02 b 0x1734e | goto label_41;
| label_154:
0x00017a04 ldr.w r3, [pc, 0x4a8] | r3 = *(0x17eb0);
0x00017a08 mov r7, r2 | r7 = r2;
0x00017a0a str r1, [sp, 0x2c] | *(arg_2ch) = r1;
0x00017a0c ldr.w fp, [r4, 0xb0] | fp = *((r4 + 0xb0));
0x00017a10 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00017a12 vldr d8, [r4, 0x50] | __asm ("vldr d8, [r4, 0x50]");
0x00017a16 ldr r5, [r3] | r5 = *(0x17eb0);
0x00017a18 ldr.w r3, [pc, 0x4cc] | r3 = *(0x17ee8);
0x00017a1a adds r4, 0xcc | r4 += 0xcc;
0x00017a1c ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00017a1e ldr.w sl, [r3] | sl = *(0x17ee8);
0x00017a20 adr r0, 0 | r0 = 0;
0x00017a22 ldr.w r3, [pc, 0x4c8] | r3 = *(0x17eee);
0x00017a26 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00017a28 ldr.w sb, [r3] | sb = *(0x17eee);
0x00017a2c blx 0x62dc | r0 = fcn_000062dc ();
0x00017a30 mov r8, r0 | r8 = r0;
0x00017a32 bl 0x125a0 | fcn_000125a0 ();
0x00017a36 ldr r3, [sp, 0x40] | r3 = *(arg_40h);
0x00017a38 orr ip, r0, 0x20 |
0x00017a3c mov r0, r5 | r0 = r5;
0x00017a3e ldr.w r5, [pc, 0x4b0] |
0x00017a42 ldr r1, [sp, 0x2c] | r1 = *(arg_2ch);
0x00017a44 mov r2, fp | r2 = fp;
0x00017a46 str r3, [sp, 0x24] | *(arg_24h) = r3;
0x00017a48 mov r3, sl | r3 = sl;
0x00017a4a ldr r5, [r7, r5] | r5 = *((r7 + r5));
0x00017a4c vstr d8, [sp, 8] | __asm ("vstr d8, [sp, 8]");
0x00017a50 strd r8, ip, [sp, 0x14] | __asm ("strd r8, ip, [sp, 0x14]");
0x00017a52 ldrh r5, [r0, 0x20] | r5 = *((r0 + 0x20));
0x00017a54 str.w sb, [sp, 0x10] | __asm ("str.w sb, [var_10h]");
0x00017a58 str r6, [sp] | *(sp) = r6;
0x00017a5a ldr r5, [r5] | r5 = *(0x17ef2);
0x00017a5c clz r5, r5 | r5 &= r5;
0x00017a60 lsrs r5, r5, 5 | r5 >>= 5;
0x00017a62 str r5, [sp, 0x20] | var_20h = r5;
0x00017a64 movs r5, 1 | r5 = 1;
0x00017a66 str r5, [sp, 0x1c] | var_1ch = r5;
0x00017a68 blx 0x68a4 | unit_name_from_dbus_path ();
0x00017a6c b 0x1758c | goto label_42;
| label_102:
0x00017a6e ldr.w r6, [pc, 0x484] |
0x00017a72 add r6, pc | r6 = 0x2f96c;
0x00017a74 b.w 0x168c2 | goto label_43;
| label_101:
0x00017a78 ldr.w r7, [pc, 0x47c] |
0x00017a7c add r7, pc | r7 = 0x2f978;
0x00017a7e b.w 0x168ac | goto label_44;
| label_169:
0x00017a82 ldr.w sl, [pc, 0x478] |
0x00017a86 add sl, pc | sl = 0x2f988;
0x00017a88 b 0x1761c | goto label_30;
| label_160:
0x00017a8a ldr.w sl, [pc, 0x474] |
0x00017a8e add sl, pc | sl = 0x2f994;
0x00017a90 b 0x1761c | goto label_30;
| label_170:
0x00017a92 ldr.w r3, [pc, 0x470] |
0x00017a96 mov r1, sb | r1 = sb;
0x00017a98 str r0, [r6, 4] | *((r6 + 4)) = r0;
0x00017a9a mov r0, r6 | r0 = r6;
0x00017a9c add r3, pc | r3 = 0x2f9a6;
0x00017a9e str r3, [r6] | *(r6) = r3;
0x00017aa0 blx 0x5914 | strv_find ();
0x00017aa2 vadd.i64 d2, d8, d0 | __asm ("vadd.i64 d2, d8, d0");
| if (r5 == 1) {
0x00017aa6 beq.w 0x17dd0 | goto label_127;
| }
0x00017aa8 strh r3, [r2, 0xc] | *((r2 + 0xc)) = r3;
0x00017aaa ldrd r5, r6, [r4, 0x48] | __asm ("ldrd r5, r6, [r4, 0x48]");
0x00017aae b.w 0x16c82 | goto label_34;
| label_46:
0x00017ab2 blx 0x5cd4 | r0 = gethostname_full ();
0x00017ab6 cmp r0, 3 |
| if (r0 <= 3) {
0x00017ab8 ble.w 0x17572 | goto label_45;
| }
0x00017aba add r5, sp, 0x16c | r5 = sp + 0x16c;
0x00017abc mov r1, r6 | r1 = r6;
0x00017abe mov r0, r5 | r0 = r5;
0x00017ac0 ldr.w r8, [r4] | r8 = *(r4);
0x00017ac4 blx 0x663c | fcn_0000663c ();
0x00017ac8 ldr.w r3, [pc, 0x43c] |
0x00017acc mov r1, r6 | r1 = r6;
0x00017ace ldr.w r2, [pc, 0x43c] |
0x00017ad2 strd r8, r0, [sp, 8] | __asm ("strd r8, r0, [sp, 8]");
0x00017ad6 movs r0, 4 | r0 = 4;
0x00017ad8 add r3, pc | r3 = 0x2f9e4;
0x00017ada str r3, [sp, 4] | var_4h = r3;
0x00017adc add r2, pc | r2 = 0x2f9ee;
0x00017ade ldr.w r3, [pc, 0x430] |
0x00017ae2 adds r2, 7 | r2 += 7;
0x00017ae4 add r3, pc | r3 = 0x2f9fa;
0x00017ae6 str r3, [sp] | *(sp) = r3;
0x00017ae8 movw r3, 0x2fe | r3 = 0x2fe;
0x00017aec blx 0x6008 | fcn_00006008 ();
0x00017af0 b 0x17572 | goto label_45;
| label_153:
0x00017af2 ldr r3, [pc, 0x314] |
0x00017af4 ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00017af6 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00017af8 ldr r3, [r3] | r3 = *(0x17e0a);
0x00017afa cmp r3, 0 |
| if (r3 != 0) {
0x00017afc bne 0x17ab2 | goto label_46;
| }
0x00017afe ldr r2, [r4, 0x7c] | r2 = *((r4 + 0x7c));
0x00017b00 ldr.w sb, [r4, 0x30] | sb = *((r4 + 0x30));
0x00017b04 cmp r2, 0 |
0x00017b06 it le |
| if (r2 > 0) {
0x00017b08 movle sl, r3 | sl = r3;
| }
0x00017b0a ldr.w r3, [r4, 0x80] | r3 = *((r4 + 0x80));
0x00017b0e ittte gt |
| if (r2 <= 0) {
0x00017b10 addgt r6, sp, 0x264 | r6 += arg_264h;
| }
| if (r2 <= 0) {
0x00017b12 movgt sl, 1 | sl = 1;
| }
| if (r2 > 0) {
0x00017b16 strle r2, [r6] | *(r6) = r2;
| }
| if (r2 <= 0) {
0x00017b18 add r6, sp, 0x264 | r6 += arg_264h;
| }
0x00017b1a cmp r3, 0 |
0x00017b1c itt gt |
| if (r3 <= 0) {
0x00017b1e strgt r3, [r6, sl, lsl 2] | offset_0 = sl << 2;
| *((r6 + offset_0)) = r3;
| }
| if (r3 > 0) {
0x00017b22 add.w sl, sl, 1 | sl++;
| }
0x00017b26 bl 0x125a0 | fcn_000125a0 ();
0x00017b2a ldr r2, [pc, 0x3e8] |
0x00017b2c mov r3, r8 | r3 = r8;
0x00017b2e strd sl, r0, [sp, 4] | __asm ("strd sl, r0, [sp, 4]");
0x00017b32 mov r1, sb | r1 = sb;
0x00017b34 ldr r0, [pc, 0x3e0] |
0x00017b36 add r2, pc | r2 = 0x2fa50;
0x00017b38 str r6, [sp] | *(sp) = r6;
0x00017b3a add r0, pc | r0 = 0x2fa56;
0x00017b3c blx 0x63b4 | fcn_000063b4 ();
0x00017b40 b 0x17572 | goto label_45;
| label_135:
0x00017b42 blx 0x5ac4 | r0 = table_add_cell_full ();
0x00017b46 cmp r0, 0 |
| if (r0 == 0) {
0x00017b48 beq.w 0x17ff4 | goto label_174;
| }
0x00017b4c ldr r6, [pc, 0x3cc] |
0x00017b4e add r6, pc | r6 = 0x2fa6e;
| label_69:
0x00017b50 blx 0x5ac4 | r0 = table_add_cell_full ();
0x00017b54 cmp r0, 0 |
| if (r0 == 0) {
0x00017b56 beq.w 0x17fee | goto label_175;
| }
0x00017b58 strh r2, [r1, 0x12] | *((r1 + 0x12)) = r2;
0x00017b5a ldr r5, [pc, 0x3c4] |
0x00017b5c add r5, pc | r5 = 0x2fa82;
| label_68:
0x00017b5e add r3, sp, 0x2c4 | r3 += arg_2c4h;
0x00017b60 movs r2, 0x26 | r2 = 0x26;
0x00017b62 movs r1, 0 | r1 = 0;
0x00017b64 mov r0, r3 | r0 = r3;
0x00017b66 blx 0x5d50 | fcn_00005d50 ();
0x00017b6a ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00017b6c movs r1, 0x26 | r1 = 0x26;
0x00017b6e ldr r3, [pc, 0x3b4] |
0x00017b70 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00017b72 ldr r3, [r3] | r3 = *(0x17f26);
0x00017b74 str r3, [sp] | *(sp) = r3;
0x00017b76 ldrd r2, r3, [r4, 0xc8] | __asm ("ldrd r2, r3, [r4, 0xc8]");
0x00017b7a blx 0x5a10 | json_variant_dump ();
0x00017b7e add r3, sp, 0x3c4 | r3 += arg_3c4h;
0x00017b80 mov sb, r0 | sb = r0;
0x00017b82 mov.w r2, 0x100 | r2 = 0x100;
0x00017b86 movs r1, 0 | r1 = 0;
0x00017b88 mov r0, r3 | r0 = r3;
0x00017b8a blx 0x5d50 | fcn_00005d50 ();
0x00017b8e ldrd r2, r3, [r4, 0xc8] | __asm ("ldrd r2, r3, [r4, 0xc8]");
0x00017b92 mov.w r1, 0x100 | r1 = 0x100;
0x00017b96 blx 0x5ed0 | fcn_00005ed0 ();
0x00017b9a ldr r1, [pc, 0x38c] |
0x00017b9c mov r3, r5 | r3 = r5;
0x00017b9e strd sb, r0, [sp] | __asm ("strd sb, r0, [sp]");
0x00017ba0 str r0, [sp] | *(sp) = r0;
0x00017ba2 mov r2, r6 | r2 = r6;
0x00017ba4 movs r0, 1 | r0 = 1;
0x00017ba6 add r1, pc | r1 = 0x2fad4;
0x00017ba8 blx 0x68e0 | touch ();
0x00017bac ldrb.w r3, [r4, 0xd1] | r3 = *((r4 + 0xd1));
0x00017bb0 cmp r3, 0 |
| if (r3 != 0) {
0x00017bb2 bne.w 0x18034 | goto label_176;
| }
0x00017bb4 strh r7, [r7, 0x10] | *((r7 + 0x10)) = r7;
0x00017bb6 ldr.w r2, [r4, 0xd4] | r2 = *((r4 + 0xd4));
0x00017bba cmp r2, 0 |
| if (r2 == 0) {
0x00017bbc beq.w 0x16ea2 | goto label_47;
| }
0x00017bc0 ldrb.w r3, [r4, 0xd2] | r3 = *((r4 + 0xd2));
0x00017bc4 cmp r3, 0 |
| if (r3 == 0) {
0x00017bc6 beq.w 0x18040 | goto label_177;
| }
0x00017bca ldr r3, [pc, 0x360] |
0x00017bcc add r3, pc | r3 = 0x2fafe;
| label_71:
0x00017bce ldr.w r1, [r4, 0xd8] | r1 = *((r4 + 0xd8));
0x00017bd2 movs r0, 1 | r0 = 1;
0x00017bd4 str r1, [sp] | *(sp) = r1;
0x00017bd6 ldr r1, [pc, 0x358] |
0x00017bd8 add r1, pc | r1 = 0x2fb0e;
0x00017bda blx 0x68e0 | touch ();
0x00017bde b.w 0x16ea2 | goto label_47;
| label_125:
0x00017be2 blx 0x5ac4 | r0 = table_add_cell_full ();
0x00017be6 cmp r0, 0 |
| if (r0 == 0) {
0x00017be8 beq.w 0x1802e | goto label_178;
| }
0x00017bec cmp r0, 2 |
| if (r0 == 2) {
0x00017bee beq.w 0x17fd0 | goto label_179;
| }
0x00017bf2 ldr r6, [pc, 0x340] |
0x00017bf4 add r6, pc | r6 = 0x2fb2e;
| label_63:
0x00017bf6 blx 0x5ac4 | r0 = table_add_cell_full ();
0x00017bfa cmp r0, 0 |
| if (r0 == 0) {
0x00017bfc beq.w 0x17fe2 | goto label_180;
| }
0x00017c00 ldr r3, [pc, 0x334] |
0x00017c02 add r3, pc | r3 = 0x2fb3e;
| label_66:
0x00017c04 ldr r1, [pc, 0x334] |
0x00017c06 mov r2, r6 | r2 = r6;
0x00017c08 str r3, [sp] | *(sp) = r3;
0x00017c0a movs r0, 1 | r0 = 1;
0x00017c0c mov r3, r5 | r3 = r5;
0x00017c0e add r1, pc | r1 = 0x2fb4e;
0x00017c10 blx 0x68e0 | touch ();
0x00017c14 b.w 0x16c3e | goto label_48;
| label_126:
0x00017c18 ldr r1, [pc, 0x324] |
0x00017c1a mov r2, r5 | r2 = r5;
0x00017c1c movs r0, 1 | r0 = 1;
0x00017c1e add r1, pc | r1 = 0x2fb62;
0x00017c20 blx 0x68e0 | touch ();
0x00017c24 b.w 0x16c56 | goto label_49;
| label_142:
0x00017c28 ldr.w r0, [r4, 0xa8] | r0 = *((r4 + 0xa8));
0x00017c2c cmp r0, 0 |
| if (r0 <= 0) {
0x00017c2e ble.w 0x17136 | goto label_50;
| }
0x00017c32 blx 0x66d0 | memchr (r0, r1, r2);
0x00017c36 ldr r1, [pc, 0x30c] |
0x00017c38 mov r2, r0 | r2 = r0;
0x00017c3a movs r0, 1 | r0 = 1;
0x00017c3c add r1, pc | r1 = 0x2fb86;
0x00017c3e blx 0x68e0 | touch ();
0x00017c42 ldr.w r5, [r4, 0xa8] | r5 = *((r4 + 0xa8));
0x00017c46 cmp r5, 1 |
| if (r5 == 1) {
0x00017c48 beq.w 0x1805e | goto label_181;
| }
0x00017c4c ldr.w r0, [r4, 0xac] | r0 = *((r4 + 0xac));
0x00017c50 blx 0x6240 | fcn_00006240 ();
0x00017c54 ldr r1, [pc, 0x2f0] |
0x00017c56 mov r2, r0 | r2 = r0;
0x00017c58 movs r0, 1 | r0 = 1;
0x00017c5a add r1, pc | r1 = 0x2fba6;
0x00017c5c blx 0x68e0 | touch ();
| label_74:
0x00017c60 movs r0, 0x29 | r0 = 0x29;
0x00017c62 blx 0x5d1c | get_process_comm ();
0x00017c66 b.w 0x17136 | goto label_50;
| label_147:
0x00017c6a movs r0, 0xa | r0 = 0xa;
0x00017c6c blx 0x5d1c | get_process_comm ();
0x00017c70 b.w 0x1726c | goto label_51;
| label_108:
0x00017c74 ldr r3, [pc, 0x2d4] |
0x00017c76 add r3, pc | r3 = 0x2fbc6;
0x00017c78 b.w 0x1695a | goto label_52;
| label_134:
0x00017c7c blx 0x5ac4 | r0 = table_add_cell_full ();
0x00017c80 cmp r0, 0 |
| if (r0 == 0) {
0x00017c82 beq.w 0x18028 | goto label_182;
| }
0x00017c86 cmp r0, 2 |
| if (r0 == 2) {
0x00017c88 beq.w 0x17fdc | goto label_183;
| }
0x00017c8c ldr r5, [pc, 0x2c0] |
0x00017c8e add r5, pc | r5 = 0x2fbe2;
| label_65:
0x00017c90 blx 0x5ac4 | r0 = table_add_cell_full ();
0x00017c94 cmp r0, 0 |
| if (r0 == 0) {
0x00017c96 beq.w 0x17fd6 | goto label_184;
| }
0x00017c9a ldr r6, [pc, 0x2b8] |
0x00017c9c add r6, pc | r6 = 0x2fbf6;
| label_64:
0x00017c9e add r3, sp, 0x2c4 | r3 += arg_2c4h;
0x00017ca0 movs r2, 0x26 | r2 = 0x26;
0x00017ca2 movs r1, 0 | r1 = 0;
0x00017ca4 mov r0, r3 | r0 = r3;
0x00017ca6 blx 0x5d50 | fcn_00005d50 ();
0x00017caa ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00017cac movs r1, 0x26 | r1 = 0x26;
0x00017cae ldr r3, [pc, 0x274] |
0x00017cb0 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00017cb2 ldr r3, [r3] | r3 = *(0x17f26);
0x00017cb4 str r3, [sp] | *(sp) = r3;
0x00017cb6 ldrd r2, r3, [r4, 0xb8] | __asm ("ldrd r2, r3, [r4, 0xb8]");
0x00017cba blx 0x5a10 | json_variant_dump ();
0x00017cbe add r3, sp, 0x3c4 | r3 += arg_3c4h;
0x00017cc0 mov sb, r0 | sb = r0;
0x00017cc2 mov.w r2, 0x100 | r2 = 0x100;
0x00017cc6 movs r1, 0 | r1 = 0;
0x00017cc8 mov r0, r3 | r0 = r3;
0x00017cca blx 0x5d50 | fcn_00005d50 ();
0x00017cce ldrd r2, r3, [r4, 0xb8] | __asm ("ldrd r2, r3, [r4, 0xb8]");
0x00017cd2 mov.w r1, 0x100 | r1 = 0x100;
0x00017cd6 blx 0x5ed0 | fcn_00005ed0 ();
0x00017cda ldr r1, [pc, 0x27c] |
0x00017cdc mov r2, r5 | r2 = r5;
0x00017cde strd sb, r0, [sp] | __asm ("strd sb, r0, [sp]");
0x00017ce2 mov r3, r6 | r3 = r6;
0x00017ce4 movs r0, 1 | r0 = 1;
0x00017ce6 add r1, pc | r1 = 0x2fc44;
0x00017ce8 blx 0x68e0 | touch ();
0x00017cec ldr.w r5, [r4, 0xc4] | r5 = *((r4 + 0xc4));
0x00017cf0 cmp r5, 0 |
| if (r5 == 0) {
0x00017cf2 beq.w 0x16e92 | goto label_53;
| }
0x00017cf6 mov r3, r5 | r3 = r5;
0x00017cf8 movs r6, 0 | r6 = 0;
| do {
0x00017cfa mov r2, r3 | r2 = r3;
0x00017cfc ldr r3, [r3, 0x10] | r3 = *((r3 + 0x10));
0x00017cfe ldr r2, [r2, 0xc] | r2 = *((r2 + 0xc));
0x00017d00 cmp r2, 0 |
0x00017d02 it lt |
| if (r2 >= 0) {
0x00017d04 addlt r6, 1 | r6++;
| }
0x00017d06 cmp r3, 0 |
0x00017d08 bne 0x17cfa |
| } while (r3 != 0);
0x00017d0a ldr r7, [pc, 0x250] |
0x00017d0c ldr.w sb, [pc, 0x250] |
0x00017d10 ldr.w sl, [pc, 0x250] |
0x00017d14 add r7, pc | r7 = 0x2fc76;
0x00017d16 add sb, pc | sb = 0x2fc7a;
0x00017d18 add sl, pc | sl = 0x2fc80;
| do {
| label_54:
0x00017d1a mov r8, r5 | r8 = r5;
0x00017d1c ldr r5, [r5, 0x10] | r5 = *((r5 + 0x10));
0x00017d1e ldr.w r3, [r8, 0xc] | r3 = *((r8 + 0xc));
0x00017d22 cmp r3, 0 |
| if (r3 < 0) {
0x00017d24 blt 0x17d2e | goto label_185;
| }
0x00017d26 cmp r5, 0 |
0x00017d28 bne 0x17d1a |
| } while (r5 != 0);
0x00017d2a b.w 0x16e92 | goto label_53;
| label_185:
0x00017d2e subs r6, 1 | r6--;
0x00017d30 ite ne |
| if (r6 == 1) {
0x00017d32 movne r0, 1 | r0 = 1;
| }
| if (r6 != 1) {
0x00017d34 moveq r0, 2 | r0 = 2;
| }
0x00017d36 blx 0x6198 | fcn_00006198 ();
0x00017d3a ldrb.w r1, [r8, 8] | r1 = *((r8 + 8));
0x00017d3e mov r2, r0 | r2 = r0;
0x00017d40 ldr.w r3, [r8] | r3 = *(r8);
| if (r1 == 0) {
0x00017d44 cbz r1, 0x17d72 | goto label_186;
| }
0x00017d46 ldr r0, [pc, 0x220] |
0x00017d48 add r0, pc | r0 = 0x2fcb6;
| label_55:
0x00017d4a ldrb.w r1, [r8, 9] | r1 = *((r8 + 9));
0x00017d4e cmp r1, 0 |
0x00017d50 ldr.w r1, [r8, 4] | r1 = *((r8 + 4));
0x00017d54 str r0, [sp] | *(sp) = r0;
0x00017d56 mov.w r0, 1 | r0 = 1;
0x00017d5a str r1, [sp, 8] | var_8h = r1;
0x00017d5c ite eq |
| if (r1 != 0) {
0x00017d5e moveq r1, sb | r1 = sb;
| }
| if (r1 == 0) {
0x00017d60 movne r1, sl | r1 = sl;
| }
0x00017d62 str r1, [sp, 4] | var_4h = r1;
0x00017d64 mov r1, r7 | r1 = r7;
0x00017d66 blx 0x68e0 | touch ();
0x00017d6a cmp r5, 0 |
| if (r5 != 0) {
0x00017d6c bne 0x17d1a | goto label_54;
| }
0x00017d6e b.w 0x16e92 | goto label_53;
| label_186:
0x00017d72 ldr r0, [pc, 0x1f8] |
0x00017d74 add r0, pc | r0 = 0x2fce6;
0x00017d76 b 0x17d4a | goto label_55;
| label_114:
0x00017d78 blx 0x5cd4 | r0 = gethostname_full ();
0x00017d7c cmp r0, 5 |
0x00017d7e it le |
| if (r0 <= 5) {
0x00017d80 movle r6, r5 | r6 = r5;
| goto label_187;
| }
| if (r0 <= 5) {
| label_187:
0x00017d82 ble.w 0x16648 | goto label_11;
| }
0x00017d86 ldr r3, [r4] | r3 = *(r4);
0x00017d88 mov r1, r5 | r1 = r5;
0x00017d8a ldr r2, [pc, 0x1e4] |
0x00017d8c movs r0, 6 | r0 = 6;
0x00017d8e movs r6, 0 | r6 = 0;
0x00017d90 str r3, [sp, 8] | var_8h = r3;
0x00017d92 ldr r3, [pc, 0x1e0] |
0x00017d94 add r2, pc | r2 = 0x2fd0a;
0x00017d96 adds r2, 7 | r2 += 7;
0x00017d98 add r3, pc | r3 = 0x2fd12;
0x00017d9a str r3, [sp, 4] | var_4h = r3;
0x00017d9c ldr r3, [pc, 0x1d8] |
0x00017d9e add r3, pc | r3 = 0x2fd1a;
0x00017da0 str r3, [sp] | *(sp) = r3;
0x00017da2 movw r3, 0x319 | r3 = 0x319;
0x00017da6 blx 0x6008 | fcn_00006008 ();
0x00017daa ldr r5, [r4, 0x24] | r5 = *((r4 + 0x24));
0x00017dac b.w 0x16648 | goto label_11;
| label_168:
0x00017db0 ldr.w r0, [r4, 0x80] | r0 = *((r4 + 0x80));
0x00017db4 mov r1, r5 | r1 = r5;
0x00017db6 blx 0x5d34 | memset (r0, r1, r2);
0x00017dba ldr r0, [r5] | r0 = *(r5);
0x00017dbc cmp r0, 0 |
| if (r0 == 0) {
0x00017dbe beq.w 0x178c6 | goto label_56;
| }
0x00017dc2 ldr r1, [pc, 0x1b8] |
0x00017dc4 mov r2, r0 | r2 = r0;
0x00017dc6 movs r0, 1 | r0 = 1;
0x00017dc8 add r1, pc | r1 = 0x2fd4a;
0x00017dca blx 0x68e0 | touch ();
0x00017dce b 0x178c4 | goto label_57;
| label_127:
0x00017dd0 ldrd r5, r6, [r4, 0x60] | __asm ("ldrd r5, r6, [r4, 0x60]");
0x00017dd4 b.w 0x16c82 | goto label_34;
| label_120:
0x00017dd8 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x00017dda ldr.w fp, [fp] | fp = *(fp);
0x00017dde ldr.w lr, [sb] |
0x00017de2 cmp r3, 0 |
0x00017de4 beq.w 0x18046 |
| while (1) {
| label_122:
0x00017de8 ldr r2, [sp, 0x44] | r2 = *(arg_44h);
0x00017dea ldr r1, [r2] | r1 = *(r2);
0x00017dec ldr r2, [pc, 0x190] |
0x00017dee add r2, pc | r2 = 0x2fd72;
0x00017df0 mov ip, r2 |
0x00017df2 b.w 0x16b7a | goto label_58;
| label_112:
0x00017f84 ldr r1, [pc, 0x114] |
0x00017f86 mov.w r2, 0x18e | r2 = 0x18e;
0x00017f8a ldr r3, [pc, 0x114] |
0x00017f8c movs r0, 3 | r0 = 3;
0x00017f8e ldr r4, [sp, 0x58] | r4 = *(arg_58h);
0x00017f90 add r1, pc | r1 = 0x30030;
0x00017f92 adds r1, 7 | r1 += 7;
0x00017f94 add r3, pc | r3 = 0x3003a;
0x00017f96 blx 0x6920 | fcn_00006920 ();
0x00017f9a ldr r0, [r5] | r0 = *(r5);
0x00017f9c blx 0x59e0 | unit_file_state_to_string ();
0x00017fa0 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00017fa2 ldr r0, [r3] | r0 = *(0x3003a);
0x00017fa4 blx 0x59e0 | unit_file_state_to_string ();
0x00017fa8 b.w 0x1759e | goto label_59;
| label_152:
0x00017fac ldr r3, [pc, 0xf4] |
0x00017fae add r3, pc | r3 = 0x30056;
0x00017fb0 b.w 0x1737e | goto label_60;
| label_151:
0x00017fb4 ldr r3, [pc, 0xf0] |
0x00017fb6 add r3, pc | r3 = 0x30062;
0x00017fb8 b.w 0x17336 | goto label_61;
| label_172:
0x00017fbc ldr r1, [pc, 0xec] |
0x00017fbe movs r0, 1 | r0 = 1;
0x00017fc0 add r1, pc | r1 = 0x30070;
0x00017fc2 blx 0x68e0 | touch ();
0x00017fc6 b 0x1798e | goto label_62;
| label_117:
0x00017fc8 ldr r5, [r4, 0x24] | r5 = *((r4 + 0x24));
0x00017fca movs r6, 4 | r6 = 4;
0x00017fcc b.w 0x16648 | goto label_11;
| label_179:
0x00017fd0 ldr r6, [pc, 0xdc] |
0x00017fd2 add r6, pc | r6 = 0x30086;
0x00017fd4 b 0x17bf6 | goto label_63;
| label_184:
0x00017fd6 ldr r6, [pc, 0xdc] |
0x00017fd8 add r6, pc | r6 = 0x30092;
0x00017fda b 0x17c9e | goto label_64;
| label_183:
0x00017fdc ldr r5, [pc, 0xd8] |
0x00017fde add r5, pc | r5 = 0x3009a;
0x00017fe0 b 0x17c90 | goto label_65;
| label_180:
0x00017fe2 ldr r3, [pc, 0xd8] |
0x00017fe4 add r3, pc | r3 = 0x300a6;
0x00017fe6 b 0x17c04 | goto label_66;
| label_173:
0x00017fe8 ldr r3, [pc, 0xd4] |
0x00017fea add r3, pc | r3 = 0x300ae;
0x00017fec b 0x179be | goto label_67;
| label_175:
0x00017fee ldr r5, [pc, 0xd4] |
0x00017ff0 add r5, pc | r5 = 0x300ba;
0x00017ff2 b 0x17b5e | goto label_68;
| label_174:
0x00017ff4 ldr r6, [pc, 0xd0] |
0x00017ff6 add r6, pc | r6 = 0x300c2;
0x00017ff8 b 0x17b50 | goto label_69;
| label_143:
0x00017ffa add r5, sp, 0xb0 | r5 += c;
0x00017ffc ldr r0, [r4, 0x7c] | r0 = *((r4 + 0x7c));
0x00017ffe mov r1, r5 | r1 = r5;
0x00018000 str r3, [sp, 0xb0] | *(c) = r3;
0x00018002 blx 0x5d34 | memset (r0, r1, r2);
0x00018006 ldr r2, [sp, 0xb0] | r2 = *(c);
| if (r2 != 0) {
0x00018008 cbz r2, 0x18016 |
0x0001800a ldr r1, [pc, 0xc0] |
0x0001800c movs r0, 1 | r0 = 1;
0x0001800e add r1, pc | r1 = 0x300e0;
0x00018010 blx 0x68e0 | touch ();
0x00018014 ldr r2, [sp, 0xb0] | r2 = *(c);
| }
0x00018016 mov r0, r2 | r0 = r2;
0x00018018 blx 0x59e0 | unit_file_state_to_string ();
0x0001801c b.w 0x17136 | goto label_50;
| label_165:
0x00018020 ldr r3, [pc, 0xac] |
0x00018022 add r3, pc | r3 = 0x300f6;
0x00018024 b.w 0x17718 | goto label_70;
| label_182:
0x00018028 ldr r5, [pc, 0xa8] |
0x0001802a add r5, pc | r5 = 0x30102;
0x0001802c b 0x17c90 | goto label_65;
| label_178:
0x0001802e ldr r6, [pc, 0xa8] |
0x00018030 add r6, pc | r6 = 0x3010e;
0x00018032 b 0x17bf6 | goto label_63;
| label_176:
0x00018034 ldr r0, [pc, 0xa4] |
0x00018036 add r0, pc | r0 = 0x30116;
0x00018038 blx 0x5bf8 | fcn_00005bf8 ();
0x0001803c b.w 0x16ea2 | goto label_47;
| label_177:
0x00018040 ldr r3, [pc, 0x9c] |
0x00018042 add r3, pc | r3 = 0x30126;
0x00018044 b 0x17bce | goto label_71;
0x00018046 ldr r3, [pc, 0x9c] |
0x00018048 add r3, pc | r3 = 0x30132;
0x0001804a b 0x17de8 |
| }
| label_167:
0x0001804c mov.w sb, -1 | sb = -1;
0x00018050 mov sl, sb | sl = sb;
0x00018052 b.w 0x1777a | goto label_72;
| label_121:
0x00018056 ldr r3, [pc, 0x90] |
0x00018058 add r3, pc | r3 = 0x30146;
0x0001805a b.w 0x16b5e | goto label_73;
| label_181:
0x0001805e ldr r1, [pc, 0x8c] |
0x00018060 mov r0, r5 | r0 = r5;
0x00018062 ldr.w r2, [r4, 0xac] | r2 = *((r4 + 0xac));
0x00018064 movs r0, 0xac | r0 = 0xac;
0x00018066 add r1, pc | r1 = 0x30158;
0x00018068 blx 0x68e0 | touch ();
0x0001806c ldr.w r0, [r4, 0xac] | r0 = *((r4 + 0xac));
0x0001806e lsls r4, r5, 2 | r4 = r5 << 2;
0x00018070 movs r1, 3 | r1 = 3;
0x00018072 blx 0x63cc | r0 = fcn_000063cc ();
0x00018076 mov r2, r0 | r2 = r0;
0x00018078 cmp r0, 0 |
| if (r0 == 0) {
0x0001807a beq.w 0x17c60 | goto label_74;
| }
0x0001807e ldr r1, [pc, 0x70] |
0x00018080 mov r0, r5 | r0 = r5;
0x00018082 add r1, pc | r1 = 0x30178;
0x00018084 blx 0x68e0 | touch ();
0x00018088 b 0x17c60 | goto label_74;
| label_124:
0x0001808a cmp r5, 0 |
| if (r5 != 0) {
0x0001808c bne.w 0x1793e | goto label_75;
| }
0x00018090 ldr r5, [pc, 0x60] |
0x00018092 add r5, pc | r5 = 0x3018a;
0x00018094 b 0x1793e | goto label_75;
| label_97:
0x00018096 blx 0x60c0 | fcn_000060c0 ();
0x0001809a nop |
0x0001809c add sp, 0xf0 |
0x0001809e movs r0, r0 |
0x000180a0 stm r4!, {r3, r6} | *(r4!) = r3;
| *((r4! + 4)) = r6;
0x000180a2 movs r0, r0 |
0x000180a4 invalid |
| }
[*] Function fprintf used 2 times systemctl