[*] Binary protection state of systemd-timedated
Full RELRO Canary found NX enabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function system tear down of systemd-timedated
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/systemd/systemd-timedated @ 0x29f0 */
| #include <stdint.h>
|
; (fcn) fcn.000029f0 () | void fcn_000029f0 (int16_t arg1, int16_t arg2, uint32_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_14h;
| int16_t var_18h;
| int16_t var_1ch;
| int16_t var_20h;
| int16_t var_24h_2;
| int16_t var_28h;
| int16_t var_2ch_2;
| int16_t var_30h;
| int16_t var_34h;
| int16_t var_38h;
| int16_t var_40h;
| int16_t var_6ch;
| int16_t var_0h_2;
| int16_t var_4h_2;
| int16_t var_8h_2;
| int16_t var_ch_2;
| int32_t var_ch_3;
| int16_t var_14h_2;
| int16_t var_18h_2;
| int16_t var_24h;
| int16_t var_28h_2;
| int16_t var_2ch;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| r3 = arg4;
0x000029f0 push {r4, r5, r6, r7, lr} |
0x000029f2 mov r5, r0 | r5 = r0;
0x000029f4 mov r0, r1 | r0 = r1;
0x000029f6 ldr r1, [pc, 0x21c] |
0x000029f8 mov r6, r3 | r6 = r3;
0x000029fa sub sp, 0x34 |
0x000029fc ldr r3, [pc, 0x218] | r3 = *(0x2c18);
0x000029fe movs r7, 0 | r7 = 0;
0x00002a00 add r1, pc | r1 = 0x561a;
0x00002a02 ldr r4, [pc, 0x218] |
0x00002a04 ldr r3, [r1, r3] |
0x00002a06 add r4, pc | r4 = 0x5628;
0x00002a08 ldr r3, [r3] | r3 = *(0x561a);
0x00002a0a str r3, [sp, 0x2c] | var_2ch = r3;
0x00002a0c mov.w r3, 0 | r3 = 0;
0x00002a10 str r7, [sp, 0x24] | var_24h = r7;
0x00002a12 cmp r5, 0 |
| if (r5 == 0) {
0x00002a14 beq.w 0x2b92 | goto label_9;
| }
0x00002a16 strh r5, [r7, 4] | *((r7 + 4)) = r5;
0x00002a18 cmp r0, 0 |
| if (r0 == 0) {
0x00002a1a beq.w 0x2ba8 | goto label_10;
| }
0x00002a1e cmp r2, 0 |
| if (r2 == 0) {
0x00002a20 beq.w 0x2bbe | goto label_11;
| }
0x00002a24 ldr r3, [pc, 0x1f8] | r3 = *(0x2c20);
0x00002a26 ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x00002a28 ldr r1, [r3] | r1 = *(0x2c20);
0x00002a2a cmp r6, 0 |
| if (r6 != 0) {
0x00002a2c bne 0x2aca | goto label_12;
| }
0x00002a2e mov r3, r2 | r3 = r2;
0x00002a30 ldr r2, [r5] | r2 = *(r5);
0x00002a32 str r2, [sp, 8] | var_8h_2 = r2;
0x00002a34 ldr r2, [pc, 0x1ec] |
0x00002a36 add r2, pc | r2 = 0x565e;
0x00002a38 str r2, [sp, 0xc] | var_ch_2 = r2;
0x00002a3a ldr r2, [pc, 0x1ec] |
0x00002a3c add r2, pc | r2 = 0x566a;
0x00002a3e str r2, [sp, 4] | var_4h_2 = r2;
0x00002a40 add r2, sp, 0x24 | r2 += var_24h;
0x00002a42 str r2, [sp] | *(sp) = r2;
0x00002a44 ldr r2, [pc, 0x1e4] |
0x00002a46 add r2, pc | r2 = 0x5676;
0x00002a48 blx 0x1b24 | r0 = fcn_00001b24 ();
0x00002a4c subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x00002a4e blt 0x2b3a | goto label_13;
| }
0x00002a50 ldr r3, [pc, 0x1dc] |
0x00002a52 mov r1, r4 | r1 = r4;
0x00002a54 ldr r0, [pc, 0x1dc] |
0x00002a56 ldr r2, [pc, 0x1e0] |
0x00002a58 add r3, pc | r3 = "unit_enable_or_disable";
0x00002a5a strd r6, r6, [sp, 0xc] | __asm ("strd r6, r6, [var_ch_2]");
0x00002a5e add r0, pc | r0 = 0x5696;
0x00002a60 ldr r4, [r5] | r4 = *(r5);
0x00002a62 str r3, [sp, 0x18] | var_18h_2 = r3;
0x00002a64 add r2, pc | r2 = 0x56a2;
0x00002a66 ldr r3, [pc, 0x1d4] |
0x00002a68 adds r2, 7 | r2 += 7;
0x00002a6a str r0, [sp, 0x14] | var_14h_2 = r0;
0x00002a6c ldr r0, [pc, 0x1d0] |
0x00002a6e add r3, pc | r3 = 0x56b0;
0x00002a70 str r4, [sp, 8] | var_8h_2 = r4;
0x00002a72 str r3, [sp, 4] | var_4h_2 = r3;
0x00002a74 mov.w r3, 0x1f2 | r3 = 0x1f2;
0x00002a78 add r0, pc | r0 = 0x56bc;
0x00002a7a str r0, [sp] | *(sp) = r0;
0x00002a7c movs r0, 7 | r0 = 7;
0x00002a7e blx 0x1b54 | fcn_00001b54 ();
| do {
0x00002a82 ldr r1, [pc, 0x1c0] |
0x00002a84 add r2, sp, 0x28 | r2 += var_28h_2;
0x00002a86 ldr r0, [sp, 0x24] | r0 = var_24h;
0x00002a88 add r1, pc | r1 = 0x56d2;
0x00002a8a blx 0x1a7c | r0 = fcn_00001a7c ();
0x00002a8e subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x00002a90 blt 0x2b20 | goto label_14;
| }
0x00002a92 ldr r1, [sp, 0x28] | r1 = var_28h_2;
0x00002a94 add.w r0, r5, 0x10 | r0 = r5 + 0x10;
0x00002a98 blx 0x19d0 | r0 = fcn_000019d0 ();
0x00002a9c cmp r0, 0 |
0x00002a9e it ge |
| if (r0 < 0) {
0x00002aa0 movge r4, 0 | r4 = 0;
| }
| if (r0 < 0) {
0x00002aa2 blt.w 0x2bf6 | goto label_15;
| }
| label_0:
0x00002aa6 ldr r0, [sp, 0x24] | r0 = var_24h;
| if (r0 != 0) {
0x00002aa8 cbz r0, 0x2aae |
0x00002aaa blx 0x1948 | sd_bus_message_unref ();
| }
0x00002aae ldr r2, [pc, 0x198] |
0x00002ab0 ldr r3, [pc, 0x164] | r3 = *(0x2c18);
0x00002ab2 add r2, pc | r2 = "method_list_timezones";
0x00002ab4 ldr r3, [r2, r3] | r3 = "method_list_timezones";
0x00002ab6 ldr r2, [r3] | r2 = "method_list_timezones";
0x00002ab8 ldr r3, [sp, 0x2c] | r3 = var_2ch;
0x00002aba eors r2, r3 | r2 ^= r3;
0x00002abc mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00002ac0 bne.w 0x2c0e | goto label_16;
| }
0x00002ac4 mov r0, r4 | r0 = r4;
0x00002ac6 add sp, 0x34 |
0x00002ac8 pop {r4, r5, r6, r7, pc} |
| label_12:
0x00002aca mov r3, r2 | r3 = r2;
0x00002acc ldr r2, [r5] | r2 = *(r5);
0x00002ace str r2, [sp, 8] | var_8h_2 = r2;
0x00002ad0 ldr r2, [pc, 0x178] |
0x00002ad2 add r2, pc | r2 = 0x5722;
0x00002ad4 str r2, [sp, 0xc] | var_ch_2 = r2;
0x00002ad6 ldr r2, [pc, 0x178] |
0x00002ad8 add r2, pc | r2 = 0x572e;
0x00002ada str r2, [sp, 4] | var_4h_2 = r2;
0x00002adc add r2, sp, 0x24 | r2 += var_24h;
0x00002ade str r2, [sp] | *(sp) = r2;
0x00002ae0 ldr r2, [pc, 0x170] |
0x00002ae2 add r2, pc | r2 = 0x573a;
0x00002ae4 blx 0x1b24 | r0 = fcn_00001b24 ();
0x00002ae8 subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x00002aea blt 0x2b6e | goto label_17;
| }
0x00002aec ldr r3, [pc, 0x168] |
0x00002aee mov r1, r4 | r1 = r4;
0x00002af0 ldr r0, [pc, 0x168] |
0x00002af2 strd r7, r7, [sp, 0xc] | __asm ("strd r7, r7, [var_ch_2]");
0x00002af6 add r3, pc | r3 = 0x5752;
0x00002af8 ldr r4, [r5] | r4 = *(r5);
0x00002afa add r0, pc | r0 = 0x575a;
0x00002afc str r3, [sp, 0x18] | var_18h_2 = r3;
0x00002afe str r0, [sp, 0x14] | var_14h_2 = r0;
0x00002b00 ldr r2, [pc, 0x15c] |
0x00002b02 ldr r3, [pc, 0x160] |
0x00002b04 ldr r0, [pc, 0x160] |
0x00002b06 add r2, pc | r2 = 0x576a;
0x00002b08 str r4, [sp, 8] | var_8h_2 = r4;
0x00002b0a add r3, pc | r3 = 0x5774;
0x00002b0c adds r2, 7 | r2 += 7;
0x00002b0e add r0, pc | r0 = 0x577a;
0x00002b10 str r3, [sp, 4] | var_4h_2 = r3;
0x00002b12 str r0, [sp] | *(sp) = r0;
0x00002b14 mov.w r3, 0x1f2 | r3 = 0x1f2;
0x00002b16 strb r1, [r7, 0xf] | *((r7 + 0xf)) = r1;
0x00002b18 movs r0, 7 | r0 = 7;
0x00002b1a blx 0x1b54 | fcn_00001b54 ();
0x00002b1e b 0x2a82 |
| } while (1);
| label_14:
0x00002b20 blx 0x19a0 | r0 = fcn_000019a0 ();
0x00002b24 cmp r0, 2 |
0x00002b26 ittt le |
| if (r0 <= 2) {
0x00002b28 rsble r4, r4, 0 | __asm ("rsble r4, r4, 0");
| }
| if (r0 <= 2) {
0x00002b2a uxtble r4, r4 | __asm ("uxtble r4, r4");
| }
| if (r0 <= 2) {
0x00002b2c rsble r4, r4, 0 | __asm ("rsble r4, r4, 0");
| }
| if (r0 > 2) {
0x00002b2e bgt 0x2bd4 | goto label_18;
| }
| label_1:
0x00002b30 cmp r4, 0 |
0x00002b32 it ge |
| if (r4 < 0) {
0x00002b34 mvnge r4, 0x55 | r4 = ~0x55;
| }
0x00002b38 b 0x2aa6 | goto label_0;
| label_13:
0x00002b3a ldr r1, [pc, 0x130] |
0x00002b3c ldr r2, [pc, 0x130] |
0x00002b3e ldr r5, [r5] | r5 = *(r5);
0x00002b40 add r1, pc | r1 = 0x57b2;
0x00002b42 ldr r0, [pc, 0x130] |
0x00002b44 str r1, [sp, 0x18] | var_18h_2 = r1;
0x00002b46 add r2, pc | r2 = 0x57ba;
0x00002b48 ldr r1, [pc, 0x12c] |
0x00002b4a adds r2, 7 | r2 += 7;
0x00002b4c ldr r3, [pc, 0x12c] |
0x00002b4e add r0, pc | r0 = 0x57c8;
0x00002b50 strd r6, r6, [sp, 0xc] | __asm ("strd r6, r6, [var_ch_2]");
0x00002b54 add r1, pc | r1 = 0x57d0;
0x00002b56 add r3, pc | r3 = 0x57d6;
0x00002b58 strd r3, r5, [sp, 4] | __asm ("strd r3, r5, [var_8h_2]");
| do {
0x00002b5c str r0, [sp, 0x14] | var_14h_2 = r0;
0x00002b5e mov.w r3, 0x1f2 | r3 = 0x1f2;
0x00002b62 str r1, [sp] | *(sp) = r1;
0x00002b64 movs r0, 4 | r0 = 4;
0x00002b66 mov r1, r4 | r1 = r4;
0x00002b68 blx 0x1b54 | fcn_00001b54 ();
0x00002b6c b 0x2aa6 | goto label_0;
| label_17:
0x00002b6e ldr r1, [pc, 0x110] |
0x00002b70 ldr r2, [pc, 0x110] |
0x00002b72 ldr r3, [pc, 0x114] |
0x00002b74 add r1, pc | r1 = 0x57fa;
0x00002b76 ldr r5, [r5] | r5 = *(r5);
0x00002b78 ldr r0, [pc, 0x110] |
0x00002b7a add r2, pc | r2 = 0x5802;
0x00002b7c str r1, [sp, 0x18] | var_18h_2 = r1;
0x00002b7e add r3, pc | r3 = "method_set_ntp";
0x00002b80 ldr r1, [pc, 0x10c] |
0x00002b82 adds r2, 7 | r2 += 7;
0x00002b84 add r0, pc | r0 = 0x5814;
0x00002b86 strd r7, r7, [sp, 0xc] | __asm ("strd r7, r7, [var_ch_2]");
0x00002b8a strd r3, r5, [sp, 4] | __asm ("strd r3, r5, [var_8h_2]");
0x00002b8e add r1, pc | r1 = 0x5822;
0x00002b90 b 0x2b5c |
| } while (1);
| label_9:
0x00002b92 ldr r1, [pc, 0x100] |
0x00002b94 movw r2, 0x1e5 | r2 = 0x1e5;
0x00002b98 ldr r3, [pc, 0xfc] |
0x00002b9a ldr r0, [pc, 0x100] |
0x00002b9c add r1, pc | r1 = 0x5836;
0x00002b9e add r3, pc | r3 = 0x583a;
0x00002ba0 adds r1, 7 | r1 += 7;
0x00002ba2 add r0, pc | r0 = 0x5844;
0x00002ba4 blx 0x1bac | path_extend_internal ();
| label_10:
0x00002ba8 ldr r1, [pc, 0xf4] |
0x00002baa mov.w r2, 0x1e6 | r2 = 0x1e6;
0x00002bae ldr r3, [pc, 0xf4] |
0x00002bb0 ldr r0, [pc, 0xf4] |
0x00002bb2 add r1, pc | r1 = 0x5856;
0x00002bb4 add r3, pc | r3 = 0x585e;
0x00002bb6 adds r1, 7 | r1 += 7;
0x00002bb8 add r0, pc | r0 = 0x5864;
0x00002bba blx 0x1bac | path_extend_internal ();
| label_11:
0x00002bbe ldr r1, [pc, 0xec] |
0x00002bc0 movw r2, 0x1e7 | r2 = 0x1e7;
0x00002bc4 ldr r3, [pc, 0xe8] |
0x00002bc6 ldr r0, [pc, 0xec] |
0x00002bc8 add r1, pc | r1 = 0x587a;
0x00002bca add r3, pc | r3 = 0x587e;
0x00002bcc adds r1, 7 | r1 += 7;
0x00002bce add r0, pc | r0 = 0x5888;
0x00002bd0 blx 0x1bac | path_extend_internal ();
| label_18:
0x00002bd4 ldr r2, [pc, 0xe0] |
0x00002bd6 mov r1, r4 | r1 = r4;
0x00002bd8 ldr r5, [pc, 0xe0] |
0x00002bda movw r3, 0x1f9 | r3 = 0x1f9;
0x00002bde ldr r0, [pc, 0xe0] |
0x00002be0 add r2, pc | r2 = 0x589c;
0x00002be2 add r5, pc | r5 = 0x58a2;
0x00002be4 adds r2, 7 | r2 += 7;
0x00002be6 add r0, pc | r0 = 0x58ac;
0x00002be8 strd r0, r5, [sp] | __asm ("strd r0, r5, [sp]");
0x00002bec movs r0, 3 | r0 = 3;
0x00002bee blx 0x1c84 | r0 = extract_first_word ();
0x00002bf2 mov r4, r0 | r4 = r0;
0x00002bf4 b 0x2b30 | goto label_1;
| label_15:
0x00002bf6 ldr r1, [pc, 0xcc] |
0x00002bf8 movw r2, 0x1fd | r2 = 0x1fd;
0x00002bfc ldr r3, [pc, 0xc8] |
0x00002bfe movs r0, 3 | r0 = 3;
0x00002c00 add r1, pc | r1 = 0x58ca;
0x00002c02 add r3, pc | r3 = 0x58ce;
0x00002c04 adds r1, 7 | r1 += 7;
0x00002c06 blx 0x1d98 | r0 = bus_verify_polkit_async ();
0x00002c0a mov r4, r0 | r4 = r0;
0x00002c0c b 0x2aa6 | goto label_0;
| label_16:
0x00002c0e blx 0x1c60 | bus_add_implementation ();
0x00002c12 nop |
0x00002c14 adds r4, 0x14 | r4 += 0x14;
0x00002c16 movs r1, r0 | r1 = r0;
0x00002c18 lsls r0, r1, 7 | r0 = r1 << 7;
0x00002c1a movs r0, r0 |
0x00002c1c adds r4, 0xe | r4 += 0xe;
0x00002c1e movs r1, r0 | r1 = r0;
0x00002c20 lsls r0, r6, 6 | r0 = r6 << 6;
0x00002c22 movs r0, r0 |
0x00002c24 subs r6, r2, 2 | r6 = r2 - 2;
0x00002c26 movs r0, r0 |
0x00002c28 subs r0, r3, 2 | r0 = r3 - 2;
0x00002c2a movs r0, r0 |
0x00002c2c subs r2, r7, 1 | r2 = r7 - 1;
0x00002c2e movs r0, r0 |
0x00002c30 subs r4, r3, 1 | r4 = r3 - 1;
0x00002c32 movs r0, r0 |
0x00002c34 subs r2, r1, 1 | r2 = r1 - 1;
0x00002c36 movs r0, r0 |
0x00002c38 adds r0, r6, 5 | r0 = r6 + 5;
0x00002c3a movs r0, r0 |
0x00002c3c adds r2, r5, 6 | r2 = r5 + 6;
0x00002c3e movs r0, r0 |
0x00002c40 cmp r5, 0x1c |
0x00002c42 movs r0, r0 |
0x00002c44 subs r4, r6, 4 | r4 = r6 - 4;
0x00002c46 movs r0, r0 |
0x00002c48 adds r3, 0x62 | r3 += 0x62;
0x00002c4a movs r1, r0 | r1 = r0;
0x00002c4c adds r2, r7, 7 | r2 = r7 + 7;
0x00002c4e movs r0, r0 |
0x00002c50 adds r4, r7, 7 | r4 = r7 + 7;
0x00002c52 movs r0, r0 |
0x00002c54 adds r6, r6, 7 | r6 += 7;
0x00002c56 movs r0, r0 |
0x00002c58 adds r6, r4, 6 | r6 = r4 + 6;
0x00002c5a movs r0, r0 |
0x00002c5c adds r6, r5, 6 | r6 = r5 + 6;
0x00002c5e movs r0, r0 |
0x00002c60 adds r6, r1, 3 | r6 = r1 + 3;
0x00002c62 movs r0, r0 |
0x00002c64 adds r6, r1, 4 | r6 = r1 + 4;
0x00002c66 movs r0, r0 |
0x00002c68 cmp r4, 0x86 |
0x00002c6a movs r0, r0 |
0x00002c6c adds r4, r6, 5 | r4 = r6 + 5;
0x00002c6e movs r0, r0 |
0x00002c70 adds r6, r1, 2 | r6 = r1 + 2;
0x00002c72 movs r0, r0 |
0x00002c74 adds r2, r3, 5 | r2 = r3 + 5;
0x00002c76 movs r0, r0 |
0x00002c78 cmp r4, 0x40 |
0x00002c7a movs r0, r0 |
0x00002c7c adds r2, r0, 3 | r2 = r0 + 3;
0x00002c7e movs r0, r0 |
0x00002c80 adds r0, r5, 4 | r0 = r5 + 4;
0x00002c82 movs r0, r0 |
0x00002c84 adds r2, r3, 1 | r2 = r3 + 1;
0x00002c86 movs r0, r0 |
0x00002c88 adds r2, r3, 2 | r2 = r3 + 2;
0x00002c8a movs r0, r0 |
0x00002c8c adds r4, r4, 4 | r4 += 4;
0x00002c8e movs r0, r0 |
0x00002c90 cmp r4, 6 |
0x00002c92 movs r0, r0 |
0x00002c94 adds r0, r7, 0 | r0 = r7 + 0;
0x00002c96 movs r0, r0 |
0x00002c98 cmp r2, 0xd6 |
0x00002c9a movs r0, r0 |
0x00002c9c movs r2, 0x2a | r2 = 0x2a;
0x00002c9e movs r0, r0 |
0x00002ca0 adds r2, r4, 0 | r2 = r4 + 0;
0x00002ca2 movs r0, r0 |
0x00002ca4 cmp r2, 0xc0 |
0x00002ca6 movs r0, r0 |
0x00002ca8 adds r4, r7, 0 | r4 = r7 + 0;
0x00002caa movs r0, r0 |
0x00002cac adds r4, r1, 0 | r4 = r1 + 0;
0x00002cae movs r0, r0 |
0x00002cb0 cmp r2, 0xaa |
0x00002cb2 movs r0, r0 |
0x00002cb4 adds r2, r5, 0 | r2 = r5 + 0;
0x00002cb6 movs r0, r0 |
0x00002cb8 subs r4, r6, r7 | r4 = r6 - r7;
0x00002cba movs r0, r0 |
0x00002cbc adds r2, r3, 2 | r2 = r3 + 2;
0x00002cbe movs r0, r0 |
0x00002cc0 cmp r3, 0xae |
0x00002cc2 movs r0, r0 |
0x00002cc4 subs r4, r2, r7 | r4 = r2 - r7;
0x00002cc6 movs r0, r0 |
0x00002cc8 cmp r3, 0x92 |
0x00002cca movs r0, r0 |
0x00002ccc push.w {r4, r5, r6, r7, r8, sb, lr} |
0x00002cd0 mov r6, r2 | r6 = r2;
0x00002cd2 ldr r2, [pc, 0x2f4] |
0x00002cd4 sub sp, 0x74 |
0x00002cd6 ldr r3, [pc, 0x2f4] | r3 = *(0x2fce);
0x00002cd8 add r2, pc | r2 = 0x5ca6;
0x00002cda ldr r7, [pc, 0x2f4] |
0x00002cdc ldr r3, [r2, r3] |
0x00002cde add r7, pc | r7 = 0x5cb4;
0x00002ce0 ldr r3, [r3] | r3 = *(0x5ca6);
0x00002ce2 str r3, [sp, 0x6c] | var_6ch = r3;
0x00002ce4 mov.w r3, 0 | r3 = 0;
0x00002ce8 cmp r0, 0 |
| if (r0 == 0) {
0x00002cea beq.w 0x2df8 | goto label_19;
| }
0x00002cee mov r4, r1 | r4 = r1;
0x00002cf0 cmp r1, 0 |
| if (r1 == 0) {
0x00002cf2 beq.w 0x2e0e | goto label_20;
| }
0x00002cf6 ldr r1, [pc, 0x2dc] |
0x00002cf8 add r3, sp, 0x30 | r3 += var_30h;
0x00002cfa add r2, sp, 0x34 | r2 += var_34h;
0x00002cfc mov r5, r0 | r5 = r0;
0x00002cfe add r1, pc | r1 = 0x5cd8;
0x00002d00 blx 0x1a7c | r0 = fcn_00001a7c ();
0x00002d04 cmp r0, 0 |
| if (r0 < 0) {
0x00002d06 blt 0x2dca | goto label_2;
| }
0x00002d08 ldr r0, [sp, 0x34] | r0 = var_34h;
0x00002d0a movs r1, 7 | r1 = 7;
0x00002d0c blx 0x1cb4 | r0 = timespec_load ();
0x00002d10 cmp r0, 0 |
| if (r0 < 0) {
0x00002d12 blt.w 0x2e24 | goto label_21;
| }
0x00002d16 ldr r0, [sp, 0x34] | r0 = var_34h;
0x00002d18 ldr r1, [r4] | r1 = *(r4);
0x00002d1a cmp r0, 0 |
0x00002d1c it ne |
| if (r0 != 0) {
0x00002d1e cmpne r1, 0 | __asm ("cmpne r1, 0");
| }
| if (r0 != 0) {
0x00002d20 bne 0x2de6 | goto label_22;
| }
0x00002d22 cmp r0, r1 |
| if (r0 <= r1) {
0x00002d24 blo 0x2d28 | goto label_23;
| }
| if (r0 == r1) {
0x00002d26 beq 0x2dee | goto label_24;
| }
| do {
| label_23:
0x00002d28 add.w r3, r4, 8 | r3 = r4 + 8;
0x00002d2c ldr r2, [pc, 0x2a8] |
0x00002d2e strd r3, r6, [sp, 8] | __asm ("strd r3, r6, [var_ch]");
0x00002d32 mov.w r8, -1 | r8 = -1;
0x00002d36 ldr r3, [sp, 0x30] | r3 = var_30h;
0x00002d38 movs r1, 0x19 | r1 = 0x19;
0x00002d3a add r2, pc | r2 = 0x5d16;
0x00002d3c mov r0, r5 | r0 = r5;
0x00002d3e str.w r8, [sp, 4] | __asm ("str.w r8, [var_4h]");
0x00002d42 subs r3, 0 |
0x00002d44 it ne |
| if (r3 == 0) {
0x00002d46 movne r3, 1 | r3 = 1;
| }
0x00002d48 str r3, [sp] | *(sp) = r3;
0x00002d4a movs r3, 0 | r3 = 0;
0x00002d4c blx 0x1da4 | r0 = unit_name_is_valid ();
0x00002d50 cmp r0, 0 |
| if (r0 >= 0) {
0x00002d52 blt 0x2dca |
0x00002d54 it eq |
| if (r0 != 0) {
0x00002d56 moveq r0, 1 | r0 = 1;
| }
| if (r0 == 0) {
0x00002d58 beq 0x2dca | goto label_2;
| }
0x00002d5a ldr r1, [sp, 0x34] | r1 = var_34h;
0x00002d5c mov r0, r4 | r0 = r4;
0x00002d5e blx 0x19d0 | r0 = fcn_000019d0 ();
0x00002d62 cmp r0, 0 |
| if (r0 < 0) {
0x00002d64 blt 0x2dca | goto label_2;
| }
0x00002d66 ldr.w sb, [r4] | sb = *(r4);
0x00002d6a cmp.w sb, 0 |
| if (sb != 0) {
0x00002d6e beq 0x2d86 |
0x00002d70 ldrb.w r3, [sb] | r3 = *(sb);
| if (r3 == 0) {
0x00002d74 cbz r3, 0x2d86 | goto label_25;
| }
0x00002d76 ldr r1, [pc, 0x264] |
0x00002d78 mov r0, sb | r0 = sb;
0x00002d7a add r1, pc | r1 = 0x5d5c;
0x00002d7c blx 0x1d80 | r0 = errno_location ();
0x00002d80 cmp r0, 0 |
| if (r0 != 0) {
0x00002d82 bne.w 0x2f12 | goto label_26;
| }
| }
| label_25:
0x00002d86 ldr r0, [pc, 0x258] |
0x00002d88 movs r1, 0 | r1 = 0;
0x00002d8a add r0, pc | r0 = 0x5d70;
0x00002d8c blx 0x1ad0 | r0 = fcn_00001ad0 ();
0x00002d90 cmp r0, 0 |
| if (r0 < 0) {
0x00002d92 blt.w 0x2f28 | goto label_27;
| }
0x00002d96 ldr r0, [pc, 0x24c] |
0x00002d98 mov.w sb, 0 | sb = 0;
0x00002d9c add r0, pc | r0 = 0x5d86;
| label_4:
0x00002d9e ldr r1, [pc, 0x248] |
0x00002da0 add r1, pc | r1 = 0x5d8e;
0x00002da2 blx 0x1a88 | r0 = fcn_00001a88 ();
0x00002da6 mov r8, r0 | r8 = r0;
| label_6:
0x00002da8 mov r0, sb | r0 = sb;
0x00002daa blx 0x1aa0 | fcn_00001aa0 ();
0x00002dae cmp.w r8, 0 |
| if (r8 >= 0) {
0x00002db2 bge 0x2e36 | goto label_5;
| }
| label_8:
0x00002db4 blx 0x19a0 | r0 = fcn_000019a0 ();
0x00002db8 cmp r0, 2 |
| if (r0 > 2) {
0x00002dba bgt.w 0x2f4a | goto label_28;
| }
0x00002dbe ldr r2, [pc, 0x22c] |
0x00002dc0 mov r1, r8 | r1 = r8;
0x00002dc2 mov r0, r6 | r0 = r6;
0x00002dc4 add r2, pc | r2 = 0x5db6;
0x00002dc6 blx 0x197c | fcn_0000197c ();
| }
| label_2:
0x00002dca ldr r2, [pc, 0x224] |
0x00002dcc ldr r3, [pc, 0x1fc] | r3 = *(0x2fcc);
0x00002dce add r2, pc | r2 = 0x5dc4;
0x00002dd0 ldr r3, [r2, r3] | r3 = *(0x5dc4);
0x00002dd2 ldr r2, [r3] | r2 = *(0x5dc4);
0x00002dd4 ldr r3, [sp, 0x6c] | r3 = var_6ch;
0x00002dd6 eors r2, r3 | r2 ^= r3;
0x00002dd8 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00002ddc bne.w 0x2fbe | goto label_29;
| }
0x00002de0 add sp, 0x74 |
0x00002de2 pop.w {r4, r5, r6, r7, r8, sb, pc} |
| label_22:
0x00002de6 blx 0x1d80 | r0 = errno_location ();
0x00002dea cmp r0, 0 |
0x00002dec bne 0x2d28 |
| } while (r0 != 0);
| label_24:
0x00002dee movs r1, 0 | r1 = 0;
0x00002df0 mov r0, r5 | r0 = r5;
0x00002df2 blx 0x1924 | sd_bus_reply_method_return ();
0x00002df6 b 0x2dca | goto label_2;
| label_19:
0x00002df8 ldr r1, [pc, 0x1f8] |
0x00002dfa mov.w r2, 0x298 | r2 = 0x298;
0x00002dfe ldr r3, [pc, 0x1f8] |
0x00002e00 ldr r0, [pc, 0x1f8] |
0x00002e02 add r1, pc | r1 = 0x5dfa;
0x00002e04 add r3, pc | r3 = 0x5e02;
0x00002e06 adds r1, 7 | r1 += 7;
0x00002e08 add r0, pc | r0 = 0x5e08;
0x00002e0a blx 0x1bac | path_extend_internal ();
| label_20:
0x00002e0e ldr r1, [pc, 0x1f0] |
0x00002e10 movw r2, 0x299 | r2 = 0x299;
0x00002e14 ldr r3, [pc, 0x1ec] |
0x00002e16 ldr r0, [pc, 0x1f0] |
0x00002e18 add r1, pc | r1 = 0x5e1e;
0x00002e1a add r3, pc | r3 = 0x5e22;
0x00002e1c adds r1, 7 | r1 += 7;
0x00002e1e add r0, pc | r0 = 0x5e2c;
0x00002e20 blx 0x1bac | path_extend_internal ();
| label_21:
0x00002e24 ldr r2, [pc, 0x1e4] |
0x00002e26 mov r0, r6 | r0 = r6;
0x00002e28 ldr r1, [pc, 0x1e4] |
0x00002e2a ldr r3, [sp, 0x34] | r3 = var_34h;
0x00002e2c add r2, pc | r2 = 0x5e3c;
0x00002e2e add r1, pc | r1 = 0x5e42;
0x00002e30 blx 0x1bc4 | sd_bus_send ();
0x00002e34 b 0x2dca | goto label_2;
| label_5:
0x00002e36 blx 0x1988 | fcn_00001988 ();
0x00002e3a movs r0, 0 | r0 = 0;
0x00002e3c blx 0x1bf4 | r0 = sd_bus_error_free ();
0x00002e40 subs r6, r0, 0 | r6 = r0 - 0;
0x00002e42 blt 0x2eea |
| while (r0 <= 6) {
| label_3:
0x00002e44 ldrb r3, [r4, 4] | r3 = *((r4 + 4));
| if (r3 != 0) {
0x00002e46 cbz r3, 0x2e74 |
0x00002e48 add r6, sp, 0x38 | r6 += var_38h;
0x00002e4a movs r0, 0 | r0 = 0;
0x00002e4c mov r1, r6 | r1 = r6;
0x00002e4e blx 0x1954 | r0 = clock_gettime ();
0x00002e52 cmp r0, 0 |
| if (r0 != 0) {
0x00002e54 bne.w 0x2f92 | goto label_30;
| }
0x00002e58 add.w r8, sp, 0x40 | r8 += var_40h;
0x00002e5c mov r0, r6 | r0 = r6;
0x00002e5e mov r1, r8 | r1 = r8;
0x00002e60 blx 0x190c | r0 = localtime_r ();
0x00002e64 cmp r0, 0 |
| if (r0 == 0) {
0x00002e66 beq.w 0x2fa8 | goto label_31;
| }
0x00002e6a mov r0, r8 | r0 = r8;
0x00002e6c blx 0x1a30 | fcn_00001a30 ();
0x00002e70 subs r6, r0, 0 | r6 -= var_40h;
| if (r6 < var_40h) {
0x00002e72 blt 0x2f6a | goto label_32;
| }
| }
| label_7:
0x00002e74 ldr r2, [pc, 0x19c] | r2 = *(0x3014);
0x00002e76 ldr r3, [pc, 0x1a0] | r3 = *(0x301a);
0x00002e78 ldr r1, [r4] | r1 = *(r4);
0x00002e7a ldr r0, [r7, r2] | r0 = *((r7 + r2));
0x00002e7c ldr r4, [r7, r3] | r4 = *((r7 + r3));
0x00002e7e ldr r3, [pc, 0x19c] |
0x00002e80 str r1, [sp, 0x24] | var_24h_2 = r1;
0x00002e82 str r1, [sp, 0xc] | var_ch = r1;
0x00002e84 ldr r0, [r0] | r0 = *(r0);
0x00002e86 add r3, pc | r3 = 0x5ea8;
0x00002e88 str r3, [sp, 8] | var_8h = r3;
0x00002e8a ldr r3, [pc, 0x194] |
0x00002e8c ldr.w r1, [r4, r0, lsl 2] | offset_0 = r0 << 2;
| r1 = *((r4 + offset_0));
0x00002e90 movs r4, 0 | r4 = 0;
0x00002e92 str r0, [sp, 0x1c] | var_1ch = r0;
0x00002e94 add r3, pc | r3 = 0x5eba;
0x00002e96 ldr r2, [pc, 0x18c] |
0x00002e98 str r1, [sp, 0x28] | var_28h = r1;
0x00002e9a str r1, [sp, 0x14] | var_14h = r1;
0x00002e9c ldr r1, [pc, 0x188] |
0x00002e9e add r2, pc | r2 = 0x5ec8;
0x00002ea0 str r3, [sp, 4] | var_4h = r3;
0x00002ea2 adds r2, 7 | r2 += 7;
0x00002ea4 ldr r0, [pc, 0x184] |
0x00002ea6 add r1, pc | r1 = 0x5ed2;
0x00002ea8 ldr r3, [pc, 0x184] |
0x00002eaa str r1, [sp, 0x10] | var_10h = r1;
0x00002eac ldr r1, [pc, 0x184] |
0x00002eae add r0, pc | r0 = 0x5ede;
0x00002eb0 add r3, pc | r3 = 0x5ee4;
0x00002eb2 str r0, [sp, 0x18] | var_18h = r0;
0x00002eb4 str r3, [sp] | *(sp) = r3;
0x00002eb6 movs r0, 6 | r0 = 6;
0x00002eb8 add r1, pc | r1 = 0x5ef0;
0x00002eba movw r3, 0x2d3 | r3 = 0x2d3;
0x00002ebe str r1, [sp, 0x20] | var_20h = r1;
0x00002ec0 mov r1, r4 | r1 = r4;
0x00002ec2 str r4, [sp, 0x2c] | var_2ch_2 = r4;
0x00002ec4 blx 0x1c24 | sd_bus_default_system ()
0x00002ec8 mov r0, r5 | r0 = r5;
0x00002eca blx 0x1a64 | fcn_00001a64 ();
0x00002ece ldr r3, [pc, 0x168] |
0x00002ed0 ldr r2, [pc, 0x168] |
0x00002ed2 ldr r1, [pc, 0x16c] |
0x00002ed4 add r3, pc | r3 = 0x5f12;
0x00002ed6 str r4, [sp] | *(sp) = r4;
0x00002ed8 add r2, pc | r2 = 0x5f18;
0x00002eda add r1, pc | r1 = 0x5f20;
0x00002edc blx 0x1c0c | strv_find ();
0x00002ede cdp p6, 9, c4, c6, c1, 1 | __asm ("cdp p6, 9, c4, c6, c1, 1");
0x00002ee2 mov r0, r5 | r0 = r5;
0x00002ee4 blx 0x1924 | sd_bus_reply_method_return ();
0x00002ee8 b 0x2dca | goto label_2;
0x00002eea blx 0x19a0 | r0 = fcn_000019a0 ();
0x00002eee cmp r0, 6 |
0x00002ef0 ble 0x2e44 |
| }
0x00002ef2 ldr r3, [pc, 0x150] |
0x00002ef4 mov r1, r6 | r1 = r6;
0x00002ef6 ldr r2, [pc, 0x150] |
0x00002ef8 movs r0, 7 | r0 = 7;
0x00002efa add r3, pc | r3 = 0x5f44;
0x00002efc str r3, [sp, 4] | var_4h = r3;
0x00002efe add r2, pc | r2 = 0x5f4c;
0x00002f00 ldr r3, [pc, 0x148] |
0x00002f02 adds r2, 7 | r2 += 7;
0x00002f04 add r3, pc | r3 = 0x5f54;
0x00002f06 str r3, [sp] | *(sp) = r3;
0x00002f08 mov.w r3, 0x2c4 | r3 = 0x2c4;
0x00002f0c blx 0x1c84 | extract_first_word ();
0x00002f10 b 0x2e44 | goto label_3;
| label_26:
0x00002f12 ldr r1, [pc, 0x13c] |
0x00002f14 mov r3, r8 | r3 = r8;
0x00002f16 mov r2, sb | r2 = sb;
0x00002f18 movs r0, 0 | r0 = 0;
0x00002f1a add r1, pc | r1 = 0x5f70;
0x00002f1c blx 0x1bb8 | r0 = sd_bus_error_setf ();
0x00002f20 cmp r0, 0 |
| if (r0 == 0) {
0x00002f22 beq 0x2fc2 | goto label_33;
| }
0x00002f24 mov sb, r0 | sb = r0;
0x00002f26 b 0x2d9e | goto label_4;
| label_27:
0x00002f28 ldr r0, [pc, 0x128] |
0x00002f2a add r0, pc | r0 = 0x5f82;
0x00002f2c blx 0x1b48 | r0 = fcn_00001b48 ();
0x00002f30 cmp r0, 0 |
| if (r0 >= 0) {
0x00002f32 bge 0x2e36 | goto label_5;
| }
0x00002f34 blx 0x1d8c | r0 = log_oom_internal ();
0x00002f38 ldr r3, [r0] | r3 = *(r0);
0x00002f3a cmp r3, 2 |
| if (r3 == 2) {
0x00002f3c beq.w 0x2e36 | goto label_5;
| }
0x00002f40 rsb.w r8, r3, 0 | r8 = r3 - ;
0x00002f44 mov.w sb, 0 | sb = 0;
0x00002f48 b 0x2da8 | goto label_6;
| label_28:
0x00002f4a ldr r2, [pc, 0x10c] |
0x00002f4c movs r0, 3 | r0 = 3;
0x00002f4e ldr r1, [pc, 0x10c] |
0x00002f50 ldr r3, [pc, 0x10c] |
0x00002f52 add r2, pc | r2 = 0x5fb0;
0x00002f54 add r1, pc | r1 = 0x5fb6;
0x00002f56 adds r2, 7 | r2 += 7;
0x00002f58 add r3, pc | r3 = 0x5fbc;
0x00002f5a strd r3, r1, [sp] | __asm ("strd r3, r1, [sp]");
0x00002f5e movw r3, 0x2ba | r3 = 0x2ba;
0x00002f62 mov r1, r8 | r1 = r8;
0x00002f64 blx 0x1c84 | extract_first_word ();
0x00002f66 cdp p7, 8, c14, c14, c9, 1 | __asm ("cdp p7, 8, c14, c14, c9, 1");
| label_32:
0x00002f6a blx 0x19a0 | r0 = fcn_000019a0 ();
0x00002f6e cmp r0, 6 |
| if (r0 <= 6) {
0x00002f70 ble 0x2e74 | goto label_7;
| }
0x00002f72 ldr r3, [pc, 0xf0] |
0x00002f74 mov r1, r6 | r1 = r6;
0x00002f76 movs r0, 7 | r0 = 7;
0x00002f78 add r3, pc | r3 = 0x5fe2;
0x00002f7a adds r2, r3, 7 | r2 = r3 + 7;
0x00002f7c ldr r3, [pc, 0xe8] |
0x00002f7e add r3, pc | r3 = 0x5fea;
0x00002f80 str r3, [sp, 4] | var_4h = r3;
0x00002f82 ldr r3, [pc, 0xe8] |
0x00002f84 add r3, pc | r3 = 0x5ff6;
0x00002f86 str r3, [sp] | *(sp) = r3;
0x00002f88 mov.w r3, 0x2d0 | r3 = 0x2d0;
0x00002f8c blx 0x1c84 | extract_first_word ();
0x00002f90 b 0x2e74 | goto label_7;
| label_30:
0x00002f92 ldr r1, [pc, 0xdc] |
0x00002f94 movw r2, 0x2cb | r2 = 0x2cb;
0x00002f98 ldr r3, [pc, 0xd8] |
0x00002f9a ldr r0, [pc, 0xdc] |
0x00002f9c add r1, pc | r1 = 0x6012;
0x00002f9e add r3, pc | r3 = 0x6016;
0x00002fa0 adds r1, 7 | r1 += 7;
0x00002fa2 add r0, pc | r0 = 0x6020;
0x00002fa4 blx 0x1bac | path_extend_internal ();
| label_31:
0x00002fa8 ldr r1, [pc, 0xd0] |
0x00002faa mov.w r2, 0x2cc | r2 = 0x2cc;
0x00002fae ldr r3, [pc, 0xd0] |
0x00002fb0 ldr r0, [pc, 0xd0] |
0x00002fb2 add r1, pc | r1 = 0x6032;
0x00002fb4 add r3, pc | r3 = 0x603a;
0x00002fb6 adds r1, 7 | r1 += 7;
0x00002fb8 add r0, pc | r0 = 0x6040;
0x00002fba blx 0x1bac | path_extend_internal ();
| label_29:
0x00002fbe blx 0x1c60 | bus_add_implementation ();
| label_33:
0x00002fc2 mvn r8, 0xb | r8 = ~0xb;
0x00002fc6 b 0x2db4 | goto label_8;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/systemd/systemd-timedated @ 0x32f0 */
| #include <stdint.h>
|
; (fcn) fcn.000032f0 () | void fcn_000032f0 (uint32_t arg1, uint32_t arg2, int16_t arg3) {
| int16_t var_0h_2;
| int16_t var_4h_2;
| int16_t var_8h_3;
| int32_t var_8h_4;
| int16_t var_10h_2;
| int16_t var_1ch;
| int16_t var_24h;
| int16_t var_28h;
| int16_t var_2ch_2;
| int16_t var_30h;
| int16_t var_38h;
| int16_t var_64h;
| int16_t var_4h_3;
| int16_t var_10h_3;
| int16_t var_84h;
| int16_t var_90h;
| int16_t var_8h_2;
| int16_t var_10h;
| int16_t var_4h_4;
| int16_t var_18h_2;
| int16_t var_10h_4;
| int16_t var_14h_2;
| int16_t var_18h_3;
| int16_t var_1ch_2;
| int16_t var_20h;
| int16_t var_28h_2;
| int16_t var_2ch_3;
| int16_t var_30h_2;
| int16_t var_34h;
| int16_t var_38h_2;
| int16_t var_3ch;
| int16_t var_40h;
| int16_t var_48h;
| int16_t var_74h;
| int16_t var_9ch;
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int32_t var_ch;
| int32_t var_ch_2;
| int16_t var_14h;
| int16_t var_18h;
| int16_t var_20h_2;
| int16_t var_2ch;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| label_7:
0x00001a48 bx pc | return void (*pc)() ();
| label_0:
0x00001b6c bx pc | return void (*pc)() ();
0x000032f0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x000032f4 mov r5, r2 | r5 = r2;
0x000032f6 ldr r2, [pc, 0x13c] |
0x000032f8 sub sp, 0x34 |
0x000032fa ldr r3, [pc, 0x13c] | r3 = *(0x343a);
0x000032fc add r2, pc | r2 = 0x6736;
0x000032fe ldr r3, [r2, r3] |
0x00003300 ldr r3, [r3] | r3 = *(0x6736);
0x00003302 str r3, [sp, 0x2c] | var_2ch = r3;
0x00003304 mov.w r3, 0 | r3 = 0;
0x00003308 cmp r0, 0 |
| if (r0 == 0) {
0x0000330a beq 0x33ca | goto label_22;
| }
0x0000330c mov r7, r1 | r7 = r1;
0x0000330e cmp r1, 0 |
| if (r1 == 0) {
0x00003310 beq.w 0x341a | goto label_23;
| }
0x00003314 mov r4, r0 | r4 = r0;
| if (r5 != 0) {
0x00003316 cbz r5, 0x332a |
0x00003318 ldr r0, [r0, 0xc] | r0 = *((r0 + 0xc));
0x0000331a cmp r0, r5 |
| if (r0 == r5) {
0x0000331c beq 0x33ac | goto label_24;
| }
0x0000331e blx 0x1948 | sd_bus_message_unref ();
0x00003322 mov r0, r5 | r0 = r5;
0x00003324 blx 0x1d74 | strcmp (r0, r1);
0x00003328 str r0, [r4, 0xc] | *((r4 + 0xc)) = r0;
| }
0x0000332a ldr r4, [r4, 0x14] | r4 = *((r4 + 0x14));
0x0000332c cmp r4, 0 |
| if (r4 == 0) {
0x0000332e beq 0x33ac | goto label_24;
| }
0x00003330 ldr.w sl, [pc, 0x108] | sl = *(0x0000343c);
0x00003334 add.w r8, sp, 0x20 | r8 += var_20h_2;
0x00003338 ldr.w sb, [pc, 0x104] | sb = *(0x00003440);
0x0000333c movs r5, 0 | r5 = 0;
0x0000333e add sl, pc | sl += pc;
0x00003340 add sb, pc | sb += pc;
0x00003342 b 0x3370 |
| while (r0 != 0) {
0x00003344 movs r0, 1 | r0 = 1;
0x00003346 mov r3, sl | r3 = sl;
0x00003348 strd r0, r8, [sp] | __asm ("strd r0, r8, [sp]");
0x0000334c mov r2, r6 | r2 = r6;
0x0000334e mov r1, sb | r1 = sb;
0x00003350 mov r0, r7 | r0 = r7;
0x00003352 strd r5, r4, [sp, 8] | __asm ("strd r5, r4, [sp, 8]");
0x00003356 blx 0x1ab8 | r0 = fcn_00001ab8 ();
0x0000335a subs.w fp, r0, 0 |
| if (fp < r0) {
0x0000335e blt 0x33e0 | goto label_25;
| }
0x00003360 mov r0, r6 | r0 = r6;
0x00003362 blx 0x1aa0 | fcn_00001aa0 ();
0x00003366 mov r0, r8 | r0 = r8;
0x00003368 blx 0x1c00 | sd_bus_emit_properties_changed ();
0x0000336c ldr r4, [r4, 0x14] | r4 = *((r4 + 0x14));
| if (r4 == 0) {
0x0000336e cbz r4, 0x33ac | goto label_24;
| }
0x00003370 strd r5, r5, [sp, 0x24] | __asm ("strd r5, r5, [sp, 0x24]");
0x00003374 ldr r0, [r4, 4] | r0 = *((r4 + 4));
0x00003376 str r5, [sp, 0x20] | var_20h_2 = r5;
0x00003378 blx 0x1aa0 | fcn_00001aa0 ();
0x0000337c ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x0000337e str r5, [r4, 4] | *((r4 + 4)) = r5;
0x00003380 blx 0x1aa0 | fcn_00001aa0 ();
0x00003384 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00003386 str r5, [r4, 8] | *((r4 + 8)) = r5;
0x00003388 blx 0x1aa0 | fcn_00001aa0 ();
0x0000338c ldr r0, [r4] | r0 = *(r4);
0x0000338e str r5, [r4, 0xc] | *((r4 + 0xc)) = r5;
0x00003390 blx 0x1900 | r0 = unit_dbus_path_from_name ();
0x00003394 mov r6, r0 | r6 = r0;
0x00003396 cmp r0, 0 |
0x00003398 bne 0x3344 |
| }
0x0000339a mvn r4, 0xb | r4 = ~0xb;
| do {
0x0000339e mov r0, r6 | r0 = r6;
0x000033a0 blx 0x1aa0 | fcn_00001aa0 ();
0x000033a4 mov r0, r8 | r0 = r8;
0x000033a6 blx 0x1c00 | sd_bus_emit_properties_changed ();
0x000033aa b 0x33ae | goto label_26;
| label_24:
0x000033ac movs r4, 0 | r4 = 0;
| label_26:
0x000033ae ldr r2, [pc, 0x94] |
0x000033b0 ldr r3, [pc, 0x84] | r3 = *(0x3438);
0x000033b2 add r2, pc | r2 = 0x67fc;
0x000033b4 ldr r3, [r2, r3] | r3 = *(0x67fc);
0x000033b6 ldr r2, [r3] | r2 = *(0x67fc);
0x000033b8 ldr r3, [sp, 0x2c] | r3 = var_2ch;
0x000033ba eors r2, r3 | r2 ^= r3;
0x000033bc mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000033c0 bne 0x3430 | goto label_27;
| }
0x000033c2 mov r0, r4 | r0 = r4;
0x000033c4 add sp, 0x34 |
0x000033c6 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_22:
0x000033ca ldr r1, [pc, 0x7c] |
0x000033cc movw r2, 0x199 | r2 = 0x199;
0x000033d0 ldr r3, [pc, 0x78] |
0x000033d2 ldr r0, [pc, 0x7c] |
0x000033d4 add r1, pc | r1 = 0x6822;
0x000033d6 add r3, pc | r3 = 0x6826;
0x000033d8 adds r1, 7 | r1 += 7;
0x000033da add r0, pc | r0 = 0x6830;
0x000033dc blx 0x1bac | path_extend_internal ();
| label_25:
0x000033e0 mov r1, fp | r1 = fp;
0x000033e2 mov r0, r8 | r0 = r8;
0x000033e4 ldr r4, [r4] | r4 = *(r4);
0x000033e6 blx 0x18f4 | bus_error_message ();
0x000033ea ldr r2, [pc, 0x68] |
0x000033ec mov r1, fp | r1 = fp;
0x000033ee str r0, [sp, 0x18] | var_18h = r0;
0x000033f0 ldr r3, [pc, 0x64] |
0x000033f2 add r2, pc | r2 = 0x684c;
0x000033f4 ldr r0, [pc, 0x64] |
0x000033f6 str r2, [sp] | *(sp) = r2;
0x000033f8 ldr r2, [pc, 0x64] |
0x000033fa add r3, pc | r3 = 0x6856;
0x000033fc add r0, pc | r0 = 0x685c;
0x000033fe str r4, [sp, 8] | var_8h = r4;
0x00003400 str r3, [sp, 4] | var_4h = r3;
0x00003402 movw r3, 0x1b9 | r3 = 0x1b9;
0x00003406 add r2, pc | r2 = 0x686a;
0x00003408 str r0, [sp, 0x14] | var_14h = r0;
0x0000340a adds r2, 7 | r2 += 7;
0x0000340c movs r0, 3 | r0 = 3;
0x0000340e strd r5, r5, [sp, 0xc] | __asm ("strd r5, r5, [var_ch]");
0x00003412 blx 0x1b54 | r0 = fcn_00001b54 ();
0x00003416 mov r4, r0 | r4 = r0;
0x00003418 b 0x339e |
| } while (1);
| label_23:
0x0000341a ldr r1, [pc, 0x48] |
0x0000341c mov.w r2, 0x19a | r2 = 0x19a;
0x00003420 ldr r3, [pc, 0x44] |
0x00003422 ldr r0, [pc, 0x48] |
0x00003424 add r1, pc | r1 = 0x688e;
0x00003426 add r3, pc | r3 = 0x6892;
0x00003428 adds r1, 7 | r1 += 7;
0x0000342a add r0, pc | r0 = 0x689c;
0x0000342c blx 0x1bac | path_extend_internal ();
| label_27:
0x00003430 blx 0x1c60 | bus_add_implementation ();
0x00003434 cmp r3, 0x18 |
0x00003436 movs r1, r0 | r1 = r0;
0x00003438 lsls r0, r1, 7 | r0 = r1 << 7;
0x0000343a movs r0, r0 |
0x0000343c movs r7, 0xc2 | r7 = 0xc2;
0x0000343e movs r1, r0 | r1 = r0;
0x00003440 adds r0, r1, r3 | r0 = r1 + r3;
0x00003442 movs r0, r0 |
0x00003444 cmp r2, 0x62 |
0x00003446 movs r1, r0 | r1 = r0;
0x00003448 asrs r0, r0, 0x10 | r0 >>= 0x10;
0x0000344a movs r0, r0 |
0x0000344c movs r2, 0xe6 | r2 = 0xe6;
0x0000344e movs r0, r0 |
0x00003450 asrs r6, r4, 0x14 | r6 = r4 >> 0x14;
0x00003452 movs r0, r0 |
0x00003454 movs r3, 0xe6 | r3 = 0xe6;
0x00003456 movs r0, r0 |
0x00003458 asrs r6, r3, 0x10 | r6 = r3 >> 0x10;
0x0000345a movs r0, r0 |
0x0000345c adds r0, r5, r0 | r0 = r5 + r0;
0x0000345e movs r0, r0 |
0x00003460 asrs r6, r1, 0xf | r6 = r1 >> 0xf;
0x00003462 movs r0, r0 |
0x00003464 asrs r0, r6, 0xe | r0 = r6 >> 0xe;
0x00003466 movs r0, r0 |
0x00003468 movs r2, 0x96 | r2 = 0x96;
0x0000346a movs r0, r0 |
0x0000346c asrs r2, r1, 0xf | r2 = r1 >> 0xf;
0x0000346e movs r0, r0 |
0x00003470 push.w {r4, r5, r6, r7, r8, sb, sl, lr} |
0x00003474 mov r5, r2 | r5 = r2;
0x00003476 ldr r2, [pc, 0x314] |
0x00003478 mov r6, r0 | r6 = r0;
0x0000347a sub sp, 0xa0 |
0x0000347c mov r4, r1 | r4 = r1;
0x0000347e ldr r3, [pc, 0x310] | r3 = *(0x3792);
0x00003480 add r2, pc | r2 = 0x6c12;
0x00003482 ldr r3, [r2, r3] |
0x00003484 ldr r3, [r3] | r3 = *(0x6c12);
0x00003486 str r3, [sp, 0x9c] | var_9ch = r3;
0x00003488 mov.w r3, 0 | r3 = 0;
0x0000348c blx 0x1a64 | fcn_00001a64 ();
0x00003490 cmp r6, 0 |
| if (r6 == 0) {
0x00003492 beq 0x3592 | goto label_28;
| }
0x00003494 cmp r4, 0 |
| if (r4 == 0) {
0x00003496 beq.w 0x35ce | goto label_29;
| }
0x0000349a ldr r7, [r4, 0x10] | r7 = *((r4 + 0x10));
| if (r7 != 0) {
0x0000349c cbz r7, 0x34c8 |
0x0000349e ldr r2, [pc, 0x2f4] |
0x000034a0 ldr r3, [pc, 0x2ec] | r3 = *(0x3790);
0x000034a2 add r2, pc | r2 = 0x6c3c;
0x000034a4 ldr r3, [r2, r3] | r3 = *(0x6c3c);
0x000034a6 ldr r2, [r3] | r2 = *(0x6c3c);
0x000034a8 ldr r3, [sp, 0x9c] | r3 = var_9ch;
0x000034aa eors r2, r3 | r2 ^= r3;
0x000034ac mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000034b0 bne.w 0x3788 | goto label_30;
| }
0x000034b4 ldr r2, [pc, 0x2e0] |
0x000034b6 mov r0, r5 | r0 = r5;
0x000034b8 ldr r1, [pc, 0x2e0] |
0x000034ba add r2, pc | r2 = 0x6c56;
0x000034bc add r1, pc | r1 = 0x6c5c;
0x000034be add sp, 0xa0 |
0x000034c0 pop.w {r4, r5, r6, r7, r8, sb, sl, lr} |
0x000034c4 b.w 0x1b6c | goto label_0;
| }
0x000034c8 mov r1, r0 | r1 = r0;
0x000034ca mov r2, r6 | r2 = r6;
0x000034cc mov r0, r4 | r0 = r4;
0x000034ce bl 0x32f0 | r0 = fcn_000032f0 (r0, r1, r2);
0x000034d2 subs r1, r0, 0 | r1 = r0 - 0;
| if (r1 < r0) {
0x000034d4 blt 0x35a8 | goto label_31;
| }
0x000034d6 mov r0, r4 | r0 = r4;
0x000034d8 bl 0x3088 | r0 = fcn_00003088 (r0);
0x000034dc cmp r0, 0 |
| if (r0 > 0) {
0x000034de bgt 0x3568 | goto label_32;
| }
0x000034e0 movs r0, 1 | r0 = 1;
0x000034e2 blx 0x1c78 | log_internal ();
0x000034e6 strd r0, r1, [sp, 0x38] | __asm ("strd r0, r1, [sp, 0x38]");
0x000034ea add r3, sp, 0x2c | r3 += var_2ch_3;
0x000034ec ldr r1, [pc, 0x2b0] |
0x000034ee add r2, sp, 0x30 | r2 += var_30h_2;
0x000034f0 str r3, [sp] | *(sp) = r3;
0x000034f2 mov r0, r6 | r0 = r6;
0x000034f4 add r3, sp, 0x28 | r3 += var_28h_2;
0x000034f6 add r1, pc | r1 = 0x6c9a;
0x000034f8 blx 0x1a7c | r0 = fcn_00001a7c ();
0x000034fc cmp r0, 0 |
| if (r0 < 0) {
0x000034fe blt 0x354c | goto label_1;
| }
0x00003500 ldr r1, [sp, 0x28] | r1 = var_28h_2;
0x00003502 ldr r2, [sp, 0x30] | r2 = var_30h_2;
0x00003504 ldr r3, [sp, 0x34] | r3 = var_34h;
0x00003506 cmp r1, 0 |
| if (r1 != 0) {
0x00003508 bne 0x35e4 | goto label_33;
| }
0x0000350a cmp r2, 1 |
0x0000350c sbcs r1, r3, 0 | __asm ("sbcs r1, r3, 0");
| if (r2 < 1) {
0x00003510 blt.w 0x36f8 | goto label_34;
| }
| do {
| label_2:
0x00003514 add r7, sp, 0x40 | r7 += var_40h;
0x00003516 mov r0, r7 | r0 = r7;
0x00003518 blx 0x1a18 | fcn_00001a18 ();
0x0000351c add.w r3, r4, 8 | r3 = r4 + 8;
0x00003520 ldr r2, [pc, 0x280] |
0x00003522 strd r3, r5, [sp, 8] | __asm ("strd r3, r5, [sp, 8]");
0x00003526 mov.w r3, -1 | r3 = -1;
0x0000352a str r3, [sp, 4] | var_4h_4 = r3;
0x0000352c movs r1, 0x19 | r1 = 0x19;
0x0000352e ldr r3, [sp, 0x2c] | r3 = var_2ch_3;
0x00003530 add r2, pc | r2 = 0x6cd8;
0x00003532 mov r0, r6 | r0 = r6;
0x00003534 subs r3, 0 |
0x00003536 it ne |
| if (r3 == 0) {
0x00003538 movne r3, 1 | r3 = 1;
| }
0x0000353a str r3, [sp] | *(sp) = r3;
0x0000353c movs r3, 0 | r3 = 0;
0x0000353e blx 0x1da4 | r0 = unit_name_is_valid ();
0x00003542 cmp r0, 0 |
| if (r0 >= 0) {
0x00003544 blt 0x354c |
0x00003546 it eq |
| if (r0 != 0) {
0x00003548 moveq r0, 1 | r0 = 1;
| }
| if (r0 != 0) {
0x0000354a bne 0x362a | goto label_35;
| }
| }
| label_1:
0x0000354c ldr r2, [pc, 0x258] |
0x0000354e ldr r3, [pc, 0x240] | r3 = *(0x3792);
0x00003550 add r2, pc | r2 = 0x6cfc;
0x00003552 ldr r3, [r2, r3] | r3 = *(0x6cfc);
0x00003554 ldr r2, [r3] | r2 = *(0x6cfc);
0x00003556 ldr r3, [sp, 0x9c] | r3 = var_9ch;
0x00003558 eors r2, r3 | r2 ^= r3;
0x0000355a mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000355e bne.w 0x3788 | goto label_30;
| }
0x00003562 add sp, 0xa0 |
0x00003564 pop.w {r4, r5, r6, r7, r8, sb, sl, pc} |
| label_32:
0x00003568 ldr r2, [pc, 0x240] |
0x0000356a ldr r3, [pc, 0x224] | r3 = *(0x3792);
0x0000356c add r2, pc | r2 = 0x6d1c;
0x0000356e ldr r3, [r2, r3] | r3 = *(0x6d1c);
0x00003570 ldr r2, [r3] | r2 = *(0x6d1c);
0x00003572 ldr r3, [sp, 0x9c] | r3 = var_9ch;
0x00003574 eors r2, r3 | r2 ^= r3;
0x00003576 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000357a bne.w 0x3788 | goto label_30;
| }
0x0000357e ldr r2, [pc, 0x230] |
0x00003580 mov r0, r5 | r0 = r5;
0x00003582 ldr r1, [pc, 0x230] |
0x00003584 add r2, pc | r2 = 0x6d3a;
0x00003586 add r1, pc | r1 = 0x6d40;
0x00003588 add sp, 0xa0 |
0x0000358a pop.w {r4, r5, r6, r7, r8, sb, sl, lr} |
0x0000358e b.w 0x1b6c | goto label_0;
| label_28:
0x00003592 ldr r1, [pc, 0x224] |
0x00003594 movw r2, 0x342 | r2 = 0x342;
0x00003598 ldr r3, [pc, 0x220] |
0x0000359a ldr r0, [pc, 0x224] |
0x0000359c add r1, pc | r1 = 0x6d5a;
0x0000359e add r3, pc | r3 = 0x6d5e;
0x000035a0 adds r1, 7 | r1 += 7;
0x000035a2 add r0, pc | r0 = 0x6d68;
0x000035a4 blx 0x1bac | path_extend_internal ();
| label_31:
0x000035a8 ldr r2, [pc, 0x218] |
0x000035aa ldr r3, [pc, 0x1e4] | r3 = *(0x3792);
0x000035ac add r2, pc | r2 = 0x6d74;
0x000035ae ldr r3, [r2, r3] | r3 = *(0x6d74);
0x000035b0 ldr r2, [r3] | r2 = *(0x6d74);
0x000035b2 ldr r3, [sp, 0x9c] | r3 = var_9ch;
0x000035b4 eors r2, r3 | r2 ^= r3;
0x000035b6 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000035ba bne.w 0x3788 | goto label_30;
| }
0x000035be ldr r2, [pc, 0x208] |
0x000035c0 mov r0, r5 | r0 = r5;
0x000035c2 add r2, pc | r2 = 0x6d90;
0x000035c4 add sp, 0xa0 |
0x000035c6 pop.w {r4, r5, r6, r7, r8, sb, sl, lr} |
0x000035ca b.w 0x1978 | void (*0x1978)() ();
| label_29:
0x000035ce ldr r1, [pc, 0x1fc] |
0x000035d0 movw r2, 0x343 | r2 = 0x343;
0x000035d4 ldr r3, [pc, 0x1f8] |
0x000035d6 ldr r0, [pc, 0x1fc] |
0x000035d8 add r1, pc | r1 = 0x6daa;
0x000035da add r3, pc | r3 = 0x6dae;
0x000035dc adds r1, 7 | r1 += 7;
0x000035de add r0, pc | r0 = 0x6db8;
0x000035e0 blx 0x1bac | path_extend_internal ();
| label_33:
0x000035e4 orrs r2, r3 | r2 |= r3;
| if (r2 == r3) {
0x000035e6 beq.w 0x36ee | goto label_36;
| }
0x000035ea mov r0, r7 | r0 = r7;
0x000035ec mov.w r8, 0 | r8 = 0;
0x000035f0 blx 0x1c78 | log_internal ();
0x000035f4 ldrd ip, r7, [sp, 0x30] | __asm ("ldrd ip, r7, [var_30h_2]");
0x000035f8 mov lr, r8 | lr = r8;
0x000035fa adds.w r2, ip, r0 | r2 = ip + r0;
0x000035fe adcs.w r3, r7, r1 | __asm ("adcs.w r3, r7, r1");
0x00003602 it hs |
| if (r2 < ip) {
0x00003604 movhs r8, 1 | r8 = 1;
| }
0x00003608 cmp.w ip, 1 |
0x0000360c sbcs ip, r7, 0 | __asm ("sbcs ip, r7, 0");
| if (ip < 1) {
0x00003610 blt 0x3708 | goto label_37;
| }
0x00003612 orrs.w lr, lr, r8 | lr |= r8;
0x00003616 beq.w 0x3514 |
| } while (lr == lr);
| label_3:
0x0000361a ldr r2, [pc, 0x1bc] |
0x0000361c mov r0, r5 | r0 = r5;
0x0000361e ldr r1, [pc, 0x1bc] |
0x00003620 add r2, pc | r2 = 0x6dfe;
0x00003622 add r1, pc | r1 = 0x6e04;
0x00003624 blx 0x1b70 | sd_notifyf ();
0x00003628 b 0x354c | goto label_1;
| label_35:
0x0000362a add r1, sp, 0x38 | r1 += var_38h_2;
0x0000362c mov r0, r6 | r0 = r6;
0x0000362e blx 0x1cfc | r0 = timegm ();
0x00003632 adds.w sb, r0, 0x3d | sb = r0 + 0x3d;
0x00003636 it ne |
| if (sb == r0) {
0x00003638 movne sb, 1 | sb = 1;
| }
0x0000363c ands.w sb, sb, r0, lsr 31 | sb &= (r0 >> 31);
| if (sb != sb) {
0x00003640 bne 0x354c | goto label_1;
| }
0x00003642 mov r0, r7 | r0 = r7;
0x00003644 blx 0x1cc0 | r0 = sd_bus_message_append_strv ();
0x00003648 mov r8, r0 | r8 = r0;
0x0000364a movs r0, 1 | r0 = 1;
0x0000364c mov sl, r1 | sl = r1;
0x0000364e blx 0x1c78 | log_internal ();
0x00003652 ldr r3, [sp, 0x38] | r3 = var_38h_2;
0x00003654 adds.w r8, r8, r0 | r8 += r0;
0x00003658 adc.w sl, sl, r1 | __asm ("adc.w sl, sl, r1");
0x0000365c mov r0, r7 | r0 = r7;
0x0000365e subs.w r2, r8, r3 | r2 = r8 - r3;
0x00003662 ldr r3, [sp, 0x3c] | r3 = var_3ch;
0x00003664 sbc.w r3, sl, r3 | __asm ("sbc.w r3, sl, r3");
0x00003668 blx 0x1a18 | fcn_00001a18 ();
0x0000366c mov r1, r7 | r1 = r7;
0x0000366e mov r0, sb | r0 = sb;
0x00003670 blx 0x1c9c | r0 = get_timezone ();
0x00003674 cmp r0, 0 |
| if (r0 < 0) {
0x00003676 blt 0x371e | goto label_38;
| }
0x00003678 ldrb r2, [r4, 4] | r2 = *((r4 + 4));
0x0000367a add r4, sp, 0x48 | r4 += var_48h;
0x0000367c mov r1, r4 | r1 = r4;
0x0000367e mov r0, r7 | r0 = r7;
0x00003680 eor r2, r2, 1 | r2 ^= 1;
0x00003684 blx 0x1d14 | sd_event_unref ();
0x00003688 mov r0, r4 | r0 = r4;
0x0000368a blx 0x1a30 | r0 = fcn_00001a30 ();
0x0000368e subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x00003690 blt 0x373a | goto label_39;
| }
| label_4:
0x00003692 mov r0, r7 | r0 = r7;
0x00003694 blx 0x1cc0 | sd_bus_message_append_strv ();
0x00003698 movs r3, 0 | r3 = 0;
0x0000369a mov r5, r0 | r5 = r0;
0x0000369c mov r4, r1 | r4 = r1;
0x0000369e mov r2, r0 | r2 = r0;
0x000036a0 str r3, [sp] | *(sp) = r3;
0x000036a2 add r0, sp, 0x74 | r0 += var_74h;
0x000036a4 mov r3, r1 | r3 = r1;
0x000036a6 movs r1, 0x26 | r1 = 0x26;
0x000036a8 blx 0x1d50 | r0 = sd_bus_slot_unref ();
0x000036ac cmp r0, 0 |
| if (r0 == 0) {
0x000036ae beq 0x3762 | goto label_40;
| }
| label_5:
0x000036b0 ldr r3, [pc, 0x12c] |
0x000036b2 str r0, [sp, 0x1c] | var_1ch_2 = r0;
0x000036b4 ldr r2, [pc, 0x12c] |
0x000036b6 add r3, pc | r3 = 0x6e9a;
0x000036b8 ldr r1, [pc, 0x12c] |
0x000036ba str r3, [sp, 8] | var_18h_2 = r3;
0x000036bc ldr r0, [pc, 0x12c] |
0x000036be add r2, pc | r2 = 0x6ea6;
0x000036c0 ldr r3, [pc, 0x12c] |
0x000036c2 add r1, pc | r1 = 0x6eae;
0x000036c4 str r5, [sp, 0x10] | var_10h_4 = r5;
0x000036c6 movs r5, 0 | r5 = 0;
0x000036c8 add r0, pc | r0 = 0x6eb8;
0x000036ca adds r2, 7 | r2 += 7;
0x000036cc add r3, pc | r3 = 0x6ec0;
0x000036ce str r0, [sp, 0x18] | var_18h_3 = r0;
0x000036d0 strd r3, r1, [sp] | __asm ("strd r3, r1, [sp]");
0x000036d4 movs r0, 6 | r0 = 6;
0x000036d6 mov r1, r5 | r1 = r5;
0x000036d8 movw r3, 0x38d | r3 = 0x38d;
0x000036dc str r4, [sp, 0x14] | var_14h_2 = r4;
0x000036de str r5, [sp, 0x20] | var_20h = r5;
0x000036e0 blx 0x1c24 | sd_bus_default_system ()
0x000036e4 mov r1, r5 | r1 = r5;
0x000036e6 mov r0, r6 | r0 = r6;
0x000036e8 blx 0x1924 | sd_bus_reply_method_return ();
0x000036ec b 0x354c | goto label_1;
| label_36:
0x000036ee mov r1, r7 | r1 = r7;
0x000036f0 mov r0, r6 | r0 = r6;
0x000036f2 blx 0x1924 | sd_bus_reply_method_return ();
0x000036f6 b 0x354c | goto label_1;
| label_34:
0x000036f8 ldr r2, [pc, 0xf8] |
0x000036fa mov r0, r5 | r0 = r5;
0x000036fc ldr r1, [pc, 0xf8] |
0x000036fe add r2, pc | r2 = 0x6ef6;
0x00003700 add r1, pc | r1 = 0x6efc;
0x00003702 blx 0x1b70 | sd_notifyf ();
0x00003706 b 0x354c | goto label_1;
| label_37:
0x00003708 lsrs r7, r7, 0x1f | r7 >>= 0x1f;
0x0000370a cmp r0, r2 |
0x0000370c sbcs r1, r3 | __asm ("sbcs r1, r3");
0x0000370e and r7, r7, 1 | r7 &= 1;
0x00003712 it hs |
| if (r0 < r2) {
0x00003714 movhs r7, 0 | r7 = 0;
| }
0x00003716 cmp r7, 0 |
| if (r7 == 0) {
0x00003718 beq.w 0x3514 | goto label_2;
| }
0x0000371c b 0x361a | goto label_3;
| label_38:
0x0000371e blx 0x1d8c | r0 = log_oom_internal ();
0x00003722 mov r4, r0 | r4 = r0;
0x00003724 blx 0x19a0 | r0 = fcn_000019a0 ();
0x00003728 cmp r0, 2 |
0x0000372a ldr r1, [r4] | r1 = *(r4);
| if (r0 > 2) {
0x0000372c bgt 0x3768 | goto label_41;
| }
| label_6:
0x0000372e ldr r2, [pc, 0xcc] |
0x00003730 mov r0, r5 | r0 = r5;
0x00003732 add r2, pc | r2 = 0x6f34;
0x00003734 blx 0x197c | fcn_0000197c ();
0x00003738 b 0x354c | goto label_1;
| label_39:
0x0000373a blx 0x19a0 | r0 = fcn_000019a0 ();
0x0000373e cmp r0, 6 |
| if (r0 <= 6) {
0x00003740 ble 0x3692 | goto label_4;
| }
0x00003742 ldr r3, [pc, 0xbc] |
0x00003744 mov r1, r4 | r1 = r4;
0x00003746 ldr r2, [pc, 0xbc] |
0x00003748 movs r0, 7 | r0 = 7;
0x0000374a add r3, pc | r3 = 0x6f50;
0x0000374c str r3, [sp, 4] | var_4h_4 = r3;
0x0000374e add r2, pc | r2 = 0x6f58;
0x00003750 ldr r3, [pc, 0xb4] |
0x00003752 adds r2, 7 | r2 += 7;
0x00003754 add r3, pc | r3 = 0x6f60;
0x00003756 str r3, [sp] | *(sp) = r3;
0x00003758 movw r3, 0x38b | r3 = 0x38b;
0x0000375c blx 0x1c84 | extract_first_word ();
0x00003760 b 0x3692 | goto label_4;
| label_40:
0x00003762 ldr r0, [pc, 0xa8] |
0x00003764 add r0, pc | r0 = 0x6f76;
0x00003766 b 0x36b0 | goto label_5;
| label_41:
0x00003768 ldr r3, [pc, 0xa4] |
0x0000376a movs r0, 3 | r0 = 3;
0x0000376c ldr r2, [pc, 0xa4] |
0x0000376e add r3, pc | r3 = 0x6f82;
0x00003770 str r3, [sp, 4] | var_4h_4 = r3;
0x00003772 add r2, pc | r2 = 0x6f8a;
0x00003774 ldr r3, [pc, 0xa0] |
0x00003776 adds r2, 7 | r2 += 7;
0x00003778 add r3, pc | r3 = 0x6f94;
0x0000377a str r3, [sp] | *(sp) = r3;
0x0000377c movw r3, 0x382 | r3 = 0x382;
0x00003780 blx 0x1c84 | extract_first_word ();
0x00003784 ldr r1, [r4] | r1 = *(r4);
0x00003786 b 0x372e | goto label_6;
| label_30:
0x00003788 blx 0x1c60 | bus_add_implementation ();
0x0000378c cmp r1, 0x94 |
0x0000378e movs r1, r0 | r1 = r0;
0x00003790 lsls r0, r1, 7 | r0 = r1 << 7;
0x00003792 movs r0, r0 |
0x00003794 cmp r1, 0x72 |
0x00003796 movs r1, r0 | r1 = r0;
0x00003798 asrs r2, r2, 0x1e | r2 >>= 0x1e;
0x0000379a movs r0, r0 |
0x0000379c asrs r4, r7, 0x1e | r4 = r7 >> 0x1e;
0x0000379e movs r0, r0 |
0x000037a0 adds r2, r0, r0 | r2 = r0 + r0;
0x000037a2 movs r0, r0 |
0x000037a4 asrs r0, r7, 0x1f | r0 = r7 >> 0x1f;
0x000037a6 movs r0, r0 |
0x000037a8 cmp r0, 0xc4 |
0x000037aa movs r1, r0 | r1 = r0;
0x000037ac cmp r0, 0xa8 |
0x000037ae movs r1, r0 | r1 = r0;
0x000037b0 asrs r0, r1, 0x1d | r0 = r1 >> 0x1d;
0x000037b2 movs r0, r0 |
0x000037b4 asrs r2, r6, 0x1b | r2 = r6 >> 0x1b;
0x000037b6 movs r0, r0 |
0x000037b8 asrs r0, r7, 8 | r0 = r7 >> 8;
0x000037ba movs r0, r0 |
0x000037bc movs r0, 0x9a | r0 = 0x9a;
0x000037be movs r0, r0 |
0x000037c0 asrs r6, r6, 0x1f | r6 >>= 0x1f;
0x000037c2 movs r0, r0 |
0x000037c4 cmp r0, 0x68 |
0x000037c6 movs r1, r0 | r1 = r0;
0x000037c8 asrs r2, r5, 0x1b | r2 = r5 >> 0x1b;
0x000037ca movs r0, r0 |
0x000037cc asrs r4, r7, 7 | r4 = r7 >> 7;
0x000037ce movs r0, r0 |
0x000037d0 movs r0, 0x5e | r0 = 0x5e;
0x000037d2 movs r0, r0 |
0x000037d4 asrs r2, r4, 0xc | r2 = r4 >> 0xc;
0x000037d6 movs r0, r0 |
0x000037d8 asrs r4, r6, 0x1b | r4 = r6 >> 0x1b;
0x000037da movs r0, r0 |
0x000037dc asrs r6, r1, 0xc | r6 = r1 >> 0xc;
0x000037de movs r0, r0 |
0x000037e0 asrs r2, r1, 0x1c | r2 = r1 >> 0x1c;
0x000037e2 movs r0, r0 |
0x000037e4 asrs r6, r2, 4 | r6 = r2 >> 4;
0x000037e6 movs r0, r0 |
0x000037e8 asrs r6, r1, 0x1c | r6 = r1 >> 0x1c;
0x000037ea movs r0, r0 |
0x000037ec asrs r4, r2, 0x1b | r4 = r2 >> 0x1b;
0x000037ee movs r0, r0 |
0x000037f0 movs r0, 0x64 | r0 = 0x64;
0x000037f2 movs r0, r0 |
0x000037f4 asrs r6, r7, 0x17 | r6 = r7 >> 0x17;
0x000037f6 movs r0, r0 |
0x000037f8 asrs r0, r6, 8 | r0 = r6 >> 8;
0x000037fa movs r0, r0 |
0x000037fc asrs r2, r3, 0x18 | r2 = r3 >> 0x18;
0x000037fe movs r0, r0 |
0x00003800 asrs r2, r4, 0x18 | r2 = r4 >> 0x18;
0x00003802 movs r0, r0 |
0x00003804 asrs r6, r0, 2 | r6 = r0 >> 2;
0x00003806 movs r0, r0 |
0x00003808 subs r4, r3, 7 | r4 = r3 - 7;
0x0000380a movs r0, r0 |
0x0000380c asrs r0, r4, 0x13 | r0 = r4 >> 0x13;
0x0000380e movs r0, r0 |
0x00003810 asrs r6, r3, 0x17 | r6 = r3 >> 0x17;
0x00003812 movs r0, r0 |
0x00003814 asrs r2, r4, 1 | r2 = r4 >> 1;
0x00003816 movs r0, r0 |
0x00003818 subs r0, r7, 6 | r0 = r7 - 6;
0x0000381a movs r0, r0 |
0x0000381c push {r3, r4, r5, lr} |
0x0000381e ldrd r5, r4, [sp, 0x10] | __asm ("ldrd r5, r4, [var_10h]");
0x00003822 ldr r2, [sp, 0x18] | r2 = var_18h_2;
| if (r4 != 0) {
0x00003824 cbz r4, 0x3876 |
| if (r0 == 0) {
0x00003826 cbz r0, 0x388c | goto label_42;
| }
0x00003828 cmp r3, 0 |
| if (r3 == 0) {
0x0000382a beq 0x38a2 | goto label_43;
| }
0x0000382c cmp r5, 0 |
| if (r5 == 0) {
0x0000382e beq 0x38b8 | goto label_44;
| }
0x00003830 cmp r2, 0 |
| if (r2 == 0) {
0x00003832 beq 0x38ce | goto label_45;
| }
0x00003834 ldr r3, [r4, 0x10] | r3 = *((r4 + 0x10));
| if (r3 != 0) {
0x00003836 cbz r3, 0x3848 |
0x00003838 ldr r1, [pc, 0xa8] |
0x0000383a mov r0, r5 | r0 = r5;
0x0000383c movs r2, 1 | r2 = 1;
0x0000383e pop.w {r3, r4, r5, lr} |
0x00003842 add r1, pc | r1 = 0x712a;
0x00003844 b.w 0x1a48 | goto label_7;
| }
0x00003848 mov r1, r0 | r1 = r0;
0x0000384a mov r2, r5 | r2 = r5;
0x0000384c mov r0, r4 | r0 = r4;
0x0000384e bl 0x32f0 | r0 = fcn_000032f0 (r0, r1, r2);
0x00003852 cmp r0, 0 |
| if (r0 >= 0) {
0x00003854 blt 0x3874 |
0x00003856 mov r0, r4 | r0 = r4;
0x00003858 bl 0x3088 | fcn_00003088 (r0);
0x0000385c ldr r1, [pc, 0x88] |
0x0000385e cmp r0, 0 |
0x00003860 it le |
| if (r0 > 0) {
0x00003862 movle r2, 0 | r2 = 0;
| }
0x00003864 mov r0, r5 | r0 = r5;
0x00003866 it gt |
| if (r0 <= 0) {
0x00003868 movgt r2, 1 | r2 = 1;
| }
0x0000386a pop.w {r3, r4, r5, lr} |
0x0000386e add r1, pc | r1 = 0x715a;
0x00003870 b.w 0x1a48 | goto label_7;
| }
0x00003874 pop {r3, r4, r5, pc} |
| }
0x00003876 ldr r1, [pc, 0x74] |
0x00003878 movw r2, 0x282 | r2 = 0x282;
0x0000387c ldr r3, [pc, 0x70] |
0x0000387e ldr r0, [pc, 0x74] |
0x00003880 add r1, pc | r1 = 0x7172;
0x00003882 add r3, pc | r3 = 0x7176;
0x00003884 adds r1, 7 | r1 += 7;
0x00003886 add r0, pc | r0 = 0x7180;
0x00003888 blx 0x1bac | path_extend_internal ();
| label_42:
0x0000388c ldr r1, [pc, 0x68] |
0x0000388e movw r2, 0x283 | r2 = 0x283;
0x00003892 ldr r3, [pc, 0x68] |
0x00003894 ldr r0, [pc, 0x68] |
0x00003896 add r1, pc | r1 = 0x7192;
0x00003898 add r3, pc | r3 = 0x719a;
0x0000389a adds r1, 7 | r1 += 7;
0x0000389c add r0, pc | r0 = 0x71a0;
0x0000389e blx 0x1bac | path_extend_internal ();
| label_43:
0x000038a2 ldr r1, [pc, 0x60] |
0x000038a4 mov.w r2, 0x284 | r2 = 0x284;
0x000038a8 ldr r3, [pc, 0x5c] |
0x000038aa ldr r0, [pc, 0x60] |
0x000038ac add r1, pc | r1 = 0x71b6;
0x000038ae add r3, pc | r3 = 0x71ba;
0x000038b0 adds r1, 7 | r1 += 7;
0x000038b2 add r0, pc | r0 = 0x71c4;
0x000038b4 blx 0x1bac | path_extend_internal ();
| label_44:
0x000038b8 ldr r1, [pc, 0x54] |
0x000038ba movw r2, 0x285 | r2 = 0x285;
0x000038be ldr r3, [pc, 0x54] |
0x000038c0 ldr r0, [pc, 0x54] |
0x000038c2 add r1, pc | r1 = 0x71d6;
0x000038c4 add r3, pc | r3 = 0x71de;
0x000038c6 adds r1, 7 | r1 += 7;
0x000038c8 add r0, pc | r0 = 0x71e4;
0x000038ca blx 0x1bac | path_extend_internal ();
| label_45:
0x000038ce ldr r1, [pc, 0x4c] |
0x000038d0 movw r2, 0x286 | r2 = 0x286;
0x000038d4 ldr r3, [pc, 0x48] |
0x000038d6 ldr r0, [pc, 0x4c] |
0x000038d8 add r1, pc | r1 = 0x71fa;
0x000038da add r3, pc | r3 = 0x71fe;
0x000038dc adds r1, 7 | r1 += 7;
0x000038de add r0, pc | r0 = 0x7208;
0x000038e0 blx 0x1bac | path_extend_internal ();
0x000038e4 asrs r6, r1, 0x17 | r6 = r1 >> 0x17;
0x000038e6 movs r0, r0 |
0x000038e8 asrs r2, r4, 0x16 | r2 = r4 >> 0x16;
0x000038ea movs r0, r0 |
0x000038ec lsrs r4, r2, 0x1d | r4 = r2 >> 0x1d;
0x000038ee movs r0, r0 |
0x000038f0 adds r6, r2, 5 | r6 = r2 + 5;
0x000038f2 movs r0, r0 |
0x000038f4 asrs r2, r7, 1 | r2 = r7 >> 1;
0x000038f6 movs r0, r0 |
0x000038f8 lsrs r6, r7, 0x1c | r6 = r7 >> 0x1c;
0x000038fa movs r0, r0 |
0x000038fc adds r0, r0, 5 | r0 += 5;
0x000038fe movs r0, r0 |
0x00003900 lsrs r0, r3, 0x1d | r0 = r3 >> 0x1d;
0x00003902 movs r0, r0 |
0x00003904 lsrs r0, r5, 0x1c | r0 = r5 >> 0x1c;
0x00003906 movs r0, r0 |
0x00003908 adds r2, r5, 4 | r2 = r5 + 4;
0x0000390a movs r0, r0 |
0x0000390c asrs r2, r1, 0x15 | r2 = r1 >> 0x15;
0x0000390e movs r0, r0 |
0x00003910 lsrs r2, r2, 0x1c | r2 >>= 0x1c;
0x00003912 movs r0, r0 |
0x00003914 adds r4, r2, 4 | r4 = r2 + 4;
0x00003916 movs r0, r0 |
0x00003918 asrs r0, r0, 0x15 | r0 >>= 0x15;
0x0000391a movs r0, r0 |
0x0000391c lsrs r4, r7, 0x1b | r4 = r7 >> 0x1b;
0x0000391e movs r0, r0 |
0x00003920 adds r6, r7, 3 | r6 = r7 + 3;
0x00003922 movs r0, r0 |
0x00003924 lsrs r2, r3, 0x1c | r2 = r3 >> 0x1c;
0x00003926 movs r0, r0 |
0x00003928 push {r4, lr} |
0x0000392a ldr r4, [sp, 8] | r4 = var_8h_2;
| if (r0 != 0) {
0x0000392c cbz r0, 0x3948 |
| if (r4 == 0) {
0x0000392e cbz r4, 0x395e | goto label_46;
| }
0x00003930 movs r0, 0 | r0 = 0;
0x00003932 blx 0x1c78 | log_internal ();
0x00003936 mov r3, r1 | r3 = r1;
0x00003938 ldr r1, [pc, 0x38] |
0x0000393a mov r2, r0 | r2 = r0;
0x0000393c mov r0, r4 | r0 = r4;
0x0000393e pop.w {r4, lr} |
0x00003942 add r1, pc | r1 = 0x72ba;
0x00003944 b.w 0x1a48 | goto label_7;
| }
0x00003948 ldr r1, [pc, 0x2c] |
0x0000394a mov.w r2, 0x23c | r2 = 0x23c;
0x0000394e ldr r3, [pc, 0x2c] |
0x00003950 ldr r0, [pc, 0x2c] |
0x00003952 add r1, pc | r1 = 0x72ce;
0x00003954 add r3, pc | r3 = 0x72d6;
0x00003956 adds r1, 7 | r1 += 7;
0x00003958 add r0, pc | r0 = 0x72dc;
0x0000395a blx 0x1bac | path_extend_internal ();
| label_46:
0x0000395e ldr r1, [pc, 0x24] |
0x00003960 mov.w r2, 0x23c | r2 = 0x23c;
0x00003964 ldr r3, [pc, 0x20] |
0x00003966 ldr r0, [pc, 0x24] |
0x00003968 add r1, pc | r1 = 0x72f2;
0x0000396a add r3, pc | r3 = 0x72f6;
0x0000396c adds r1, 7 | r1 += 7;
0x0000396e add r0, pc | r0 = 0x7300;
0x00003970 blx 0x1bac | path_extend_internal ();
0x00003974 lsrs r6, r3, 0x1e | r6 = r3 >> 0x1e;
0x00003976 movs r0, r0 |
0x00003978 lsrs r2, r0, 0x1a | r2 = r0 >> 0x1a;
0x0000397a movs r0, r0 |
0x0000397c adds r0, r6, 2 | r0 = r6 + 2;
0x0000397e movs r0, r0 |
0x00003980 lsrs r4, r3, 0x1a | r4 = r3 >> 0x1a;
0x00003982 movs r0, r0 |
0x00003984 lsrs r4, r5, 0x19 | r4 = r5 >> 0x19;
0x00003986 movs r0, r0 |
0x00003988 adds r2, r3, 2 | r2 = r3 + 2;
0x0000398a movs r0, r0 |
0x0000398c asrs r2, r3, 0x12 | r2 = r3 >> 0x12;
0x0000398e movs r0, r0 |
0x00003990 ldr r2, [pc, 0x98] |
0x00003992 ldr r3, [pc, 0x9c] | r3 = *(0x3a32);
0x00003994 push {r4, lr} |
0x00003996 sub sp, 0x88 |
0x00003998 add r2, pc | r2 = 0x73c8;
0x0000399a ldr r4, [sp, 0x90] | r4 = var_90h;
0x0000399c ldr r3, [r2, r3] |
0x0000399e ldr r3, [r3] | r3 = *(0x73c8);
0x000039a0 str r3, [sp, 0x84] | var_84h = r3;
0x000039a2 mov.w r3, 0 | r3 = 0;
| if (r0 != 0) {
0x000039a6 cbz r0, 0x39fa |
0x000039a8 cmp r4, 0 |
| if (r4 == 0) {
0x000039aa beq 0x3a10 | goto label_47;
| }
0x000039ac add r3, sp, 4 | r3 += var_4h_3;
0x000039ae movs r2, 0x80 | r2 = 0x80;
0x000039b0 movs r1, 0 | r1 = 0;
0x000039b2 mov r0, r3 | r0 = r3;
0x000039b4 blx 0x1a24 | fcn_00001a24 ();
0x000039b8 blx 0x1b3c | r0 = fcn_00001b3c ();
0x000039bc cmp r0, 0 |
0x000039be it lt |
| if (r0 >= 0) {
0x000039c0 movlt r2, 0 | r2 = 0;
| }
| if (r0 >= 0) {
0x000039c2 blt 0x39d6 |
0x000039c4 ldr r2, [sp, 0x10] | r2 = var_10h_3;
0x000039c6 mov.w r3, 0x2400 |
0x000039ca movt r3, 0xf4 | r3 = 0xf42400;
0x000039ce cmp r2, r3 |
0x000039d0 ite ge |
| if (r2 < r3) {
0x000039d2 movge r2, 0 | r2 = 0;
| }
| if (r2 < r3) {
0x000039d4 movlt r2, 1 | r2 = 1;
| goto label_48;
| }
| }
| label_48:
0x000039d6 ldr r1, [pc, 0x5c] |
0x000039d8 ldr r3, [pc, 0x54] | r3 = *(0x3a30);
0x000039da add r1, pc | r1 = 0x7414;
0x000039dc ldr r3, [r1, r3] | r3 = *(0x7414);
0x000039de ldr r1, [r3] | r1 = *(0x7414);
0x000039e0 ldr r3, [sp, 0x84] | r3 = var_84h;
0x000039e2 eors r1, r3 | r1 ^= r3;
0x000039e4 mov.w r3, 0 | r3 = 0;
| if (r1 != r3) {
0x000039e8 bne 0x3a26 | goto label_49;
| }
0x000039ea ldr r1, [pc, 0x4c] |
0x000039ec mov r0, r4 | r0 = r4;
0x000039ee add r1, pc | r1 = 0x742c;
0x000039f0 add sp, 0x88 |
0x000039f2 pop.w {r4, lr} |
0x000039f6 b.w 0x1a48 | goto label_7;
| }
0x000039fa ldr r1, [pc, 0x40] |
0x000039fc movw r2, 0x23d | r2 = 0x23d;
0x00003a00 ldr r3, [pc, 0x3c] |
0x00003a02 ldr r0, [pc, 0x40] |
0x00003a04 add r1, pc | r1 = 0x7446;
0x00003a06 add r3, pc | r3 = 0x744a;
0x00003a08 adds r1, 7 | r1 += 7;
0x00003a0a add r0, pc | r0 = 0x7454;
0x00003a0c blx 0x1bac | path_extend_internal ();
| label_47:
0x00003a10 ldr r1, [pc, 0x34] |
0x00003a12 movw r2, 0x23d | r2 = 0x23d;
0x00003a16 ldr r3, [pc, 0x34] |
0x00003a18 ldr r0, [pc, 0x34] |
0x00003a1a add r1, pc | r1 = 0x7466;
0x00003a1c add r3, pc | r3 = 0x746e;
0x00003a1e adds r1, 7 | r1 += 7;
0x00003a20 add r0, pc | r0 = 0x7474;
0x00003a22 blx 0x1bac | path_extend_internal ();
| label_49:
0x00003a26 blx 0x1c60 | bus_add_implementation ();
0x00003a2a nop |
0x00003a2c movs r4, 0x7c | r4 = 0x7c;
0x00003a2e movs r1, r0 | r1 = r0;
0x00003a30 lsls r0, r1, 7 | r0 = r1 << 7;
0x00003a32 movs r0, r0 |
0x00003a34 movs r4, 0x3a | r4 = 0x3a;
0x00003a36 movs r1, r0 | r1 = r0;
0x00003a38 asrs r2, r4, 0x10 | r2 = r4 >> 0x10;
0x00003a3a movs r0, r0 |
0x00003a3c lsrs r0, r2, 0x17 | r0 = r2 >> 0x17;
0x00003a3e movs r0, r0 |
0x00003a40 subs r6, r4, r7 | r6 = r4 - r7;
0x00003a42 movs r0, r0 |
0x00003a44 lsrs r2, r5, 0x17 | r2 = r5 >> 0x17;
0x00003a46 movs r0, r0 |
0x00003a48 lsrs r2, r7, 0x16 | r2 = r7 >> 0x16;
0x00003a4a movs r0, r0 |
0x00003a4c subs r0, r2, r7 | r0 = r2 - r7;
0x00003a4e movs r0, r0 |
0x00003a50 asrs r0, r5, 0xf | r0 = r5 >> 0xf;
0x00003a52 movs r0, r0 |
0x00003a54 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00003a58 mov r6, r2 | r6 = r2;
0x00003a5a ldr.w r2, [pc, 0x4d4] | r2 = *(0x00003f30);
0x00003a5e sub sp, 0x6c |
0x00003a60 ldr.w r3, [pc, 0x4d0] |
0x00003a64 add r2, pc | r2 += pc;
0x00003a66 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00003a68 ldr r3, [r3] | r3 = *(0x3f34);
0x00003a6a str r3, [sp, 0x64] | var_64h = r3;
0x00003a6c mov.w r3, 0 | r3 = 0;
0x00003a70 cmp r0, 0 |
| if (r0 == 0) {
0x00003a72 beq.w 0x3d34 | goto label_50;
| }
0x00003a76 mov r4, r1 | r4 = r1;
0x00003a78 cmp r1, 0 |
| if (r1 == 0) {
0x00003a7a beq.w 0x3d86 | goto label_51;
| }
0x00003a7e ldr.w r1, [pc, 0x4b8] |
0x00003a82 add r3, sp, 0x2c | r3 += var_2ch_2;
0x00003a84 str r3, [sp] | *(sp) = r3;
0x00003a86 add r2, sp, 0x24 | r2 += var_24h;
0x00003a88 add r3, sp, 0x28 | r3 += var_28h;
0x00003a8a mov r5, r0 | r5 = r0;
0x00003a8c add r1, pc | r1 = 0x79ca;
0x00003a8e blx 0x1a7c | r0 = fcn_00001a7c ();
0x00003a92 cmp r0, 0 |
| if (r0 < 0) {
0x00003a94 blt.w 0x3c3c | goto label_9;
| }
0x00003a98 ldrb r2, [r4, 4] | r2 = *((r4 + 4));
0x00003a9a ldr r3, [sp, 0x24] | r3 = var_24h;
0x00003a9c cmp r2, r3 |
| if (r2 == r3) {
0x00003a9e bne 0x3aa8 |
0x00003aa0 ldr r1, [sp, 0x28] | r1 = var_28h;
0x00003aa2 cmp r1, 0 |
| if (r1 == 0) {
0x00003aa4 beq.w 0x3d00 | goto label_52;
| }
| }
0x00003aa8 ldr r3, [sp, 0x2c] | r3 = var_2ch_2;
0x00003aaa add.w r2, r4, 8 | r2 = r4 + 8;
0x00003aae strd r2, r6, [sp, 8] | __asm ("strd r2, r6, [var_8h_3]");
0x00003ab2 mov.w r7, -1 | r7 = -1;
0x00003ab6 ldr.w r2, [pc, 0x484] |
0x00003aba movs r1, 0x19 | r1 = 0x19;
0x00003abc subs r3, 0 |
0x00003abe mov r0, r5 | r0 = r5;
0x00003ac0 it ne |
| if (r3 == 0) {
0x00003ac2 movne r3, 1 | r3 = 1;
| }
0x00003ac4 strd r3, r7, [sp] | __asm ("strd r3, r7, [sp]");
0x00003ac8 add r2, pc | r2 = 0x7a0a;
0x00003aca movs r3, 0 | r3 = 0;
0x00003acc blx 0x1da4 | r0 = unit_name_is_valid ();
0x00003ad0 cmp r0, 0 |
| if (r0 < 0) {
0x00003ad2 blt.w 0x3c3c | goto label_9;
| }
| if (r0 == 0) {
0x00003ad6 beq.w 0x3d30 | goto label_53;
| }
0x00003ada ldr r3, [sp, 0x24] | r3 = var_24h;
0x00003adc ldrb r2, [r4, 4] | r2 = *((r4 + 4));
0x00003ade cmp r2, r3 |
| if (r2 == r3) {
0x00003ae0 beq.w 0x3c64 | goto label_19;
| }
0x00003ae4 subs r3, 0 |
0x00003ae6 ldr.w r1, [pc, 0x458] |
0x00003aea it ne |
| if (r3 == 0) {
0x00003aec movne r3, 1 | r3 = 1;
| }
0x00003aee str r7, [sp] | *(sp) = r7;
0x00003af0 strb r3, [r4, 4] | *((r4 + 4)) = r3;
0x00003af2 movs r7, 0 | r7 = 0;
0x00003af4 add r3, sp, 0x38 | r3 += var_38h;
0x00003af6 add r1, pc | r1 = 0x7a3c;
0x00003af8 strd r7, r3, [sp, 8] | __asm ("strd r7, r3, [var_8h_3]");
0x00003afc mov.w r2, -1 | r2 = -1;
0x00003b00 mov.w r3, -1 | r3 = -1;
0x00003b04 mvn r0, 0x63 | r0 = ~0x63;
0x00003b08 str r7, [sp, 0x10] | var_10h_2 = r7;
0x00003b0a str r7, [sp, 4] | var_4h_2 = r7;
0x00003b0c str r7, [sp, 0x38] | var_38h = r7;
0x00003b0e blx 0x1a94 | r0 = fcn_00001a94 ();
0x00003b12 subs.w r8, r0, 0 | r8 = r0 - 0;
| if (r8 < r0) {
0x00003b16 blt.w 0x3d9c | goto label_54;
| }
0x00003b1a ldr.w fp, [sp, 0x38] | fp = var_38h;
0x00003b1e movs r1, 0xa | r1 = 0xa;
0x00003b20 mov r0, fp | r0 = fp;
0x00003b22 blx 0x1af4 | r0 = fcn_00001af4 ();
0x00003b26 ldrb r3, [r0] | r3 = *(r0);
0x00003b28 mov sl, r0 | sl = r0;
0x00003b2a cmp r3, 0 |
| if (r3 == 0) {
0x00003b2c beq.w 0x3dcc | goto label_55;
| }
0x00003b30 ldrb r3, [sl, 1]! | r3 = *((sl += 1));
0x00003b34 cmp r3, 0 |
| if (r3 == 0) {
0x00003b36 beq.w 0x3ed2 | goto label_56;
| }
0x00003b3a mov r0, sl | r0 = sl;
0x00003b3c movs r1, 0xa | r1 = 0xa;
0x00003b3e blx 0x19f4 | r0 = fcn_000019f4 ();
0x00003b42 cmp r0, 0 |
| if (r0 == 0) {
0x00003b44 beq.w 0x3ef2 | goto label_57;
| }
0x00003b48 add.w sl, r0, 1 | sl = r0 + 1;
0x00003b4c movs r1, 0xa | r1 = 0xa;
0x00003b4e mov r0, sl | r0 = sl;
0x00003b50 blx 0x19f4 | r0 = fcn_000019f4 ();
0x00003b54 mov sb, r0 | sb = r0;
0x00003b56 cmp r0, 0 |
| if (r0 == 0) {
0x00003b58 beq.w 0x3f0c | goto label_58;
| }
0x00003b5c blx 0x1b30 | fcn_00001b30 ();
0x00003b60 ldr r3, [pc, 0x3e0] |
0x00003b62 mov r8, r0 | r8 = r0;
0x00003b64 add r3, pc | r3 = 0x7aac;
0x00003b66 str r3, [sp, 0x1c] | var_1ch = r3;
| label_15:
0x00003b68 ldrb r3, [r4, 4] | r3 = *((r4 + 4));
0x00003b6a sub.w sl, sl, fp | sl -= fp;
0x00003b6e cmp r3, 0 |
| if (r3 == 0) {
0x00003b70 beq.w 0x3e24 | goto label_59;
| }
0x00003b74 add.w r0, r7, r8 | r0 = r7 + r8;
0x00003b78 adds r0, 6 | r0 += 6;
0x00003b7a add r0, sl | r0 += sl;
0x00003b7c cmp r0, 1 |
0x00003b7e it lo |
| if (r0 >= 1) {
0x00003b80 movlo r0, 1 | r0 = 1;
| }
0x00003b82 blx 0x1c54 | r0 = stack_chk_fail ();
0x00003b86 mov r7, r0 | r7 = r0;
0x00003b88 cmp r0, 0 |
| if (r0 == 0) {
0x00003b8a beq.w 0x3f24 | goto label_60;
| }
0x00003b8e mov r1, fp | r1 = fp;
0x00003b90 mov r2, sl | r2 = sl;
0x00003b92 blx 0x1b60 | fcn_00001b60 ();
0x00003b96 ldr r1, [sp, 0x1c] | r1 = var_1ch;
0x00003b98 add r0, sl | r0 += sl;
0x00003b9a blx 0x1a0c | fcn_00001a0c ();
0x00003b9e ldr r1, [pc, 0x3a8] |
0x00003ba0 add r1, pc | r1 = 0x7aee;
| label_16:
0x00003ba2 blx 0x1a0c | fcn_00001a0c ();
0x00003ba6 mov r1, sb | r1 = sb;
0x00003ba8 mov r2, r8 | r2 = r8;
0x00003baa blx 0x1b60 | fcn_00001b60 ();
0x00003bae ldr r1, [pc, 0x39c] |
0x00003bb0 movs r3, 0 | r3 = 0;
0x00003bb2 strb.w r3, [r0, r8] | *((r0 + r8)) = r3;
0x00003bb6 mov r0, r7 | r0 = r7;
0x00003bb8 add r1, pc | r1 = 0x7b0a;
0x00003bba blx 0x1d80 | r0 = errno_location ();
0x00003bbe cmp r0, 0 |
| if (r0 == 0) {
0x00003bc0 beq.w 0x3ea0 | goto label_61;
| }
| label_12:
0x00003bc4 blx 0x1930 | r0 = mac_selinux_init ();
0x00003bc8 subs.w r8, r0, 0 | r8 = r0 - 0;
| if (r8 < r0) {
0x00003bcc blt.w 0x3de0 | goto label_62;
| }
0x00003bd0 ldr r0, [pc, 0x37c] |
0x00003bd2 movs r2, 0 | r2 = 0;
0x00003bd4 mov r1, r7 | r1 = r7;
0x00003bd6 add r0, pc | r0 = 0x7b2a;
0x00003bd8 blx 0x1a3c | r0 = fcn_00001a3c ();
0x00003bdc mov r8, r0 | r8 = r0;
| label_18:
0x00003bde mov r0, r7 | r0 = r7;
0x00003be0 blx 0x1aa0 | fcn_00001aa0 ();
0x00003be4 ldr r0, [sp, 0x38] | r0 = var_38h;
0x00003be6 blx 0x1aa0 | fcn_00001aa0 ();
0x00003bea cmp.w r8, 0 |
| if (r8 >= 0) {
0x00003bee bge 0x3c64 | goto label_19;
| }
| label_13:
0x00003bf0 blx 0x19a0 | r0 = fcn_000019a0 ();
0x00003bf4 cmp r0, 2 |
| if (r0 > 2) {
0x00003bf6 ble 0x3c24 |
0x00003bf8 ldr r3, [sp, 0x24] | r3 = var_24h;
0x00003bfa cmp r3, 0 |
| if (r3 != 0) {
0x00003bfc bne.w 0x3eec | goto label_63;
| }
0x00003c00 ldr r1, [pc, 0x350] |
0x00003c02 add r1, pc | r1 = 0x7b5a;
| label_21:
0x00003c04 ldr r2, [pc, 0x350] |
0x00003c06 movs r0, 3 | r0 = 3;
0x00003c08 ldr r3, [pc, 0x350] |
0x00003c0a str r1, [sp, 8] | var_8h_3 = r1;
0x00003c0c ldr r1, [pc, 0x350] |
0x00003c0e add r2, pc | r2 = 0x7b6a;
0x00003c10 add r3, pc | r3 = 0x7b70;
0x00003c12 adds r2, 7 | r2 += 7;
0x00003c14 str r3, [sp, 4] | var_4h_2 = r3;
0x00003c16 movw r3, 0x305 | r3 = 0x305;
0x00003c1a add r1, pc | r1 = 0x7b7e;
0x00003c1c str r1, [sp] | *(sp) = r1;
0x00003c1e mov r1, r8 | r1 = r8;
0x00003c20 blx 0x1c84 | extract_first_word ();
| }
0x00003c24 ldr r3, [sp, 0x24] | r3 = var_24h;
0x00003c26 cmp r3, 0 |
| if (r3 != 0) {
0x00003c28 bne.w 0x3ee6 | goto label_64;
| }
0x00003c2c ldr r3, [pc, 0x334] |
0x00003c2e add r3, pc | r3 = 0x7b96;
| label_20:
0x00003c30 ldr r2, [pc, 0x334] |
0x00003c32 mov r1, r8 | r1 = r8;
0x00003c34 mov r0, r6 | r0 = r6;
0x00003c36 add r2, pc | r2 = 0x7ba2;
0x00003c38 blx 0x197c | fcn_0000197c ();
| do {
| label_9:
0x00003c3c ldr r2, [pc, 0x32c] |
0x00003c3e ldr r3, [pc, 0x2f4] | r3 = *(0x3f36);
0x00003c40 add r2, pc | r2 = 0x7bb0;
0x00003c42 ldr r3, [r2, r3] | r3 = *(0x7bb0);
0x00003c44 ldr r2, [r3] | r2 = *(0x7bb0);
0x00003c46 ldr r3, [sp, 0x64] | r3 = var_64h;
0x00003c48 eors r2, r3 | r2 ^= r3;
0x00003c4a mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00003c4e bne.w 0x3f20 | goto label_65;
| }
0x00003c52 add sp, 0x6c |
0x00003c54 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_17:
0x00003c58 mov r0, r7 | r0 = r7;
0x00003c5a blx 0x1aa0 | fcn_00001aa0 ();
| label_11:
0x00003c5e ldr r0, [sp, 0x38] | r0 = var_38h;
0x00003c60 blx 0x1aa0 | fcn_00001aa0 ();
| label_19:
0x00003c64 movs r0, 0 | r0 = 0;
0x00003c66 blx 0x1bf4 | r0 = sd_bus_error_free ();
0x00003c6a subs r6, r0, 0 | r6 = r0 - 0;
| if (r6 < r0) {
0x00003c6c blt 0x3d08 | goto label_66;
| }
| label_8:
0x00003c6e add r7, sp, 0x30 | r7 += var_30h;
0x00003c70 movs r0, 0 | r0 = 0;
0x00003c72 mov r1, r7 | r1 = r7;
0x00003c74 blx 0x1954 | r0 = clock_gettime ();
0x00003c78 mov r6, r0 | r6 = r0;
0x00003c7a cmp r0, 0 |
| if (r0 != 0) {
0x00003c7c bne.w 0x3dee | goto label_67;
| }
0x00003c80 ldr r3, [sp, 0x28] | r3 = var_28h;
0x00003c82 ldrb r2, [r4, 4] | r2 = *((r4 + 4));
0x00003c84 eor r2, r2, 1 | r2 ^= 1;
0x00003c88 cmp r3, 0 |
| if (r3 == 0) {
0x00003c8a beq 0x3d4a | goto label_68;
| }
0x00003c8c add.w sb, sp, 0x38 | sb += var_38h;
0x00003c90 mov r0, r7 | r0 = r7;
0x00003c92 mov r1, sb | r1 = sb;
0x00003c94 blx 0x1d14 | sd_event_unref ();
0x00003c98 mov r0, sb | r0 = sb;
0x00003c9a blx 0x1b94 | clock_is_localtime ();
0x00003c9e subs.w r8, r0, 0 | r8 -= var_38h;
| if (r8 >= var_38h) {
0x00003ca2 bge.w 0x3e52 | goto label_69;
| }
0x00003ca6 blx 0x19a0 | r0 = fcn_000019a0 ();
0x00003caa cmp r0, 6 |
| if (r0 > 6) {
0x00003cac bgt.w 0x3e04 | goto label_70;
| }
| label_10:
0x00003cb0 blx 0x19a0 | r0 = fcn_000019a0 ();
0x00003cb4 cmp r0, 5 |
| if (r0 > 5) {
0x00003cb6 ble 0x3ce4 |
0x00003cb8 ldrb r3, [r4, 4] | r3 = *((r4 + 4));
0x00003cba cmp r3, 0 |
| if (r3 != 0) {
0x00003cbc bne.w 0x3dc6 | goto label_71;
| }
0x00003cc0 ldr r1, [pc, 0x2ac] |
0x00003cc2 add r1, pc | r1 = 0x7c36;
| label_14:
0x00003cc4 ldr r2, [pc, 0x2ac] |
0x00003cc6 ldr r3, [pc, 0x2b0] |
0x00003cc8 ldr r0, [pc, 0x2b0] |
0x00003cca add r2, pc | r2 = 0x7c42;
0x00003ccc str r1, [sp, 8] | var_8h_3 = r1;
0x00003cce add r3, pc | r3 = 0x7c4c;
0x00003cd0 adds r2, 7 | r2 += 7;
0x00003cd2 add r0, pc | r0 = 0x7c52;
0x00003cd4 str r3, [sp, 4] | var_4h_2 = r3;
0x00003cd6 str r0, [sp] | *(sp) = r0;
0x00003cd8 movw r3, 0x32f | r3 = 0x32f;
0x00003cdc movs r1, 0 | r1 = 0;
0x00003cde movs r0, 6 | r0 = 6;
0x00003ce0 blx 0x1c84 | extract_first_word ();
| }
0x00003ce4 mov r0, r5 | r0 = r5;
0x00003ce6 movs r4, 0 | r4 = 0;
0x00003ce8 blx 0x1a64 | fcn_00001a64 ();
0x00003cec ldr r3, [pc, 0x290] |
0x00003cee ldr r2, [pc, 0x294] |
0x00003cf0 ldr r1, [pc, 0x294] |
0x00003cf2 add r3, pc | r3 = 0x7c76;
0x00003cf4 str r4, [sp] | *(sp) = r4;
0x00003cf6 add r2, pc | r2 = 0x7c80;
0x00003cf8 add r1, pc | r1 = 0x7c84;
0x00003cfa blx 0x1c0c | strv_find ();
0x00003cfe mov r1, r4 | r1 = r4;
| label_52:
0x00003d00 mov r0, r5 | r0 = r5;
0x00003d02 blx 0x1924 | sd_bus_reply_method_return ();
0x00003d06 b 0x3c3c |
| } while (1);
| label_66:
0x00003d08 blx 0x19a0 | r0 = fcn_000019a0 ();
0x00003d0c cmp r0, 6 |
| if (r0 <= 6) {
0x00003d0e ble 0x3c6e | goto label_8;
| }
0x00003d10 ldr r3, [pc, 0x278] |
0x00003d12 mov r1, r6 | r1 = r6;
0x00003d14 ldr r2, [pc, 0x278] |
0x00003d16 movs r0, 7 | r0 = 7;
0x00003d18 add r3, pc | r3 = 0x7ca8;
0x00003d1a str r3, [sp, 4] | var_4h_2 = r3;
0x00003d1c add r2, pc | r2 = 0x7cb0;
0x00003d1e ldr r3, [pc, 0x274] |
0x00003d20 adds r2, 7 | r2 += 7;
0x00003d22 add r3, pc | r3 = 0x7cbc;
0x00003d24 str r3, [sp] | *(sp) = r3;
0x00003d26 movw r3, 0x30d | r3 = 0x30d;
0x00003d2a blx 0x1c84 | extract_first_word ();
0x00003d2e b 0x3c6e | goto label_8;
| label_53:
0x00003d30 movs r0, 1 | r0 = 1;
0x00003d32 b 0x3c3c | goto label_9;
| label_50:
0x00003d34 ldr r1, [pc, 0x260] |
0x00003d36 movw r2, 0x2e7 | r2 = 0x2e7;
0x00003d3a ldr r3, [pc, 0x260] |
0x00003d3c ldr r0, [pc, 0x260] |
0x00003d3e add r1, pc | r1 = 0x7cda;
0x00003d40 add r3, pc | r3 = 0x7ce2;
0x00003d42 adds r1, 7 | r1 += 7;
0x00003d44 add r0, pc | r0 = 0x7ce8;
0x00003d46 blx 0x1bac | path_extend_internal ();
| label_68:
0x00003d4a add r6, sp, 0x38 | r6 += var_38h;
0x00003d4c mov r0, r7 | r0 = r7;
0x00003d4e mov r1, r6 | r1 = r6;
0x00003d50 blx 0x1d14 | sd_event_unref ();
0x00003d54 mov r0, r6 | r0 = r6;
0x00003d56 blx 0x1a30 | fcn_00001a30 ();
0x00003d5a subs r6, r0, 0 | r6 -= var_38h;
| if (r6 >= var_38h) {
0x00003d5c bge 0x3cb0 | goto label_10;
| }
0x00003d5e blx 0x19a0 | r0 = fcn_000019a0 ();
0x00003d62 cmp r0, 6 |
| if (r0 <= 6) {
0x00003d64 ble 0x3cb0 | goto label_10;
| }
0x00003d66 ldr r3, [pc, 0x23c] |
0x00003d68 mov r1, r6 | r1 = r6;
0x00003d6a ldr r2, [pc, 0x23c] |
0x00003d6c movs r0, 7 | r0 = 7;
0x00003d6e add r3, pc | r3 = 0x7d18;
0x00003d70 str r3, [sp, 4] | var_4h_2 = r3;
0x00003d72 add r2, pc | r2 = 0x7d20;
0x00003d74 ldr r3, [pc, 0x234] |
0x00003d76 adds r2, 7 | r2 += 7;
0x00003d78 add r3, pc | r3 = 0x7d28;
0x00003d7a str r3, [sp] | *(sp) = r3;
0x00003d7c mov.w r3, 0x32c | r3 = 0x32c;
0x00003d80 blx 0x1c84 | extract_first_word ();
0x00003d84 b 0x3cb0 | goto label_10;
| label_51:
0x00003d86 ldr r1, [pc, 0x228] |
0x00003d88 mov.w r2, 0x2e8 | r2 = 0x2e8;
0x00003d8c ldr r3, [pc, 0x224] |
0x00003d8e ldr r0, [pc, 0x228] |
0x00003d90 add r1, pc | r1 = 0x7d46;
0x00003d92 add r3, pc | r3 = 0x7d4a;
0x00003d94 adds r1, 7 | r1 += 7;
0x00003d96 add r0, pc | r0 = 0x7d54;
0x00003d98 blx 0x1bac | path_extend_internal ();
| label_54:
0x00003d9c cmn.w r8, 2 |
| if (r8 != 2) {
0x00003da0 bne 0x3de0 | goto label_62;
| }
0x00003da2 ldrb r3, [r4, 4] | r3 = *((r4 + 4));
0x00003da4 cmp r3, 0 |
| if (r3 == 0) {
0x00003da6 beq.w 0x3c5e | goto label_11;
| }
0x00003daa ldr r0, [pc, 0x210] |
0x00003dac add r0, pc | r0 = 0x7d6e;
0x00003dae blx 0x1c48 | r0 = malloc (r0);
0x00003db2 mov r7, r0 | r7 = r0;
0x00003db4 cmp r0, 0 |
| if (r0 != 0) {
0x00003db6 bne.w 0x3bc4 | goto label_12;
| }
0x00003dba ldr r0, [sp, 0x38] | r0 = var_38h;
0x00003dbc mvn r8, 0xb | r8 = ~0xb;
0x00003dc0 blx 0x1aa0 | fcn_00001aa0 ();
0x00003dc4 b 0x3bf0 | goto label_13;
| label_71:
0x00003dc6 ldr r1, [pc, 0x1f8] |
0x00003dc8 add r1, pc | r1 = 0x7d8e;
0x00003dca b 0x3cc4 | goto label_14;
| label_55:
0x00003dcc ldr r3, [pc, 0x1f4] |
0x00003dce mov.w r8, 1 | r8 = 1;
0x00003dd2 ldr.w sb, [pc, 0x1f4] |
0x00003dd6 movs r7, 3 | r7 = 3;
0x00003dd8 add r3, pc | r3 = 0x7da0;
0x00003dda add sb, pc | sb = 0x7da8;
0x00003ddc str r3, [sp, 0x1c] | var_1ch = r3;
0x00003dde b 0x3b68 | goto label_15;
| label_62:
0x00003de0 mov r0, r7 | r0 = r7;
0x00003de2 blx 0x1aa0 | fcn_00001aa0 ();
0x00003de6 ldr r0, [sp, 0x38] | r0 = var_38h;
0x00003de8 blx 0x1aa0 | fcn_00001aa0 ();
0x00003dec b 0x3bf0 | goto label_13;
| label_67:
0x00003dee ldr r1, [pc, 0x1dc] |
0x00003df0 mov.w r2, 0x310 | r2 = 0x310;
0x00003df4 ldr r3, [pc, 0x1d8] |
0x00003df6 ldr r0, [pc, 0x1dc] |
0x00003df8 add r1, pc | r1 = 0x7dca;
0x00003dfa add r3, pc | r3 = 0x7dce;
0x00003dfc adds r1, 7 | r1 += 7;
0x00003dfe add r0, pc | r0 = 0x7dd8;
0x00003e00 blx 0x1bac | path_extend_internal ();
| label_70:
0x00003e04 ldr r3, [pc, 0x1d0] |
0x00003e06 mov r1, r8 | r1 = r8;
0x00003e08 ldr r2, [pc, 0x1d0] |
0x00003e0a movs r0, 7 | r0 = 7;
0x00003e0c add r3, pc | r3 = 0x7de8;
0x00003e0e str r3, [sp, 4] | var_4h_2 = r3;
0x00003e10 add r2, pc | r2 = 0x7df0;
0x00003e12 ldr r3, [pc, 0x1cc] |
0x00003e14 adds r2, 7 | r2 += 7;
0x00003e16 add r3, pc | r3 = 0x7dfc;
0x00003e18 str r3, [sp] | *(sp) = r3;
0x00003e1a movw r3, 0x31b | r3 = 0x31b;
0x00003e1e blx 0x1c84 | extract_first_word ();
0x00003e22 b 0x3cb0 | goto label_10;
| label_59:
0x00003e24 add.w r0, r7, r8 | r0 = r7 + r8;
0x00003e28 adds r0, 4 | r0 += 4;
0x00003e2a add r0, sl | r0 += sl;
0x00003e2c cmp r0, 1 |
0x00003e2e it lo |
| if (r0 >= 1) {
0x00003e30 movlo r0, 1 | r0 = 1;
| }
0x00003e32 blx 0x1c54 | r0 = stack_chk_fail ();
0x00003e36 mov r7, r0 | r7 = r0;
0x00003e38 cmp r0, 0 |
| if (r0 == 0) {
0x00003e3a beq 0x3f24 | goto label_60;
| }
0x00003e3c mov r1, fp | r1 = fp;
0x00003e3e mov r2, sl | r2 = sl;
0x00003e40 blx 0x1b60 | fcn_00001b60 ();
0x00003e44 ldr r1, [sp, 0x1c] | r1 = var_1ch;
0x00003e46 add r0, sl | r0 += sl;
0x00003e48 blx 0x1a0c | fcn_00001a0c ();
0x00003e4c ldr r1, [pc, 0x194] |
0x00003e4e add r1, pc | r1 = 0x7e36;
0x00003e50 b 0x3ba2 | goto label_16;
| label_69:
0x00003e52 ldrb r1, [r4, 4] | r1 = *((r4 + 4));
0x00003e54 mov r0, sb | r0 = sb;
0x00003e56 eor r1, r1, 1 | r1 ^= 1;
0x00003e5a blx 0x1cd8 | startswith ();
0x00003e5e mov r1, r7 | r1 = r7;
0x00003e60 mov r3, r0 | r3 = r0;
0x00003e62 mov r0, r6 | r0 = r6;
0x00003e64 str r3, [sp, 0x30] | var_30h = r3;
0x00003e66 blx 0x1c9c | r0 = get_timezone ();
0x00003e6a cmp r0, 0 |
| if (r0 >= 0) {
0x00003e6c bge.w 0x3cb0 | goto label_10;
| }
0x00003e70 blx 0x1d8c | r0 = log_oom_internal ();
0x00003e74 ldr r6, [r0] | r6 = *(r0);
0x00003e76 blx 0x19a0 | r0 = fcn_000019a0 ();
0x00003e7a cmp r0, 6 |
| if (r0 <= 6) {
0x00003e7c ble.w 0x3cb0 | goto label_10;
| }
0x00003e80 ldr r3, [pc, 0x164] |
0x00003e82 mov r1, r6 | r1 = r6;
0x00003e84 ldr r2, [pc, 0x164] |
0x00003e86 movs r0, 7 | r0 = 7;
0x00003e88 add r3, pc | r3 = 0x7e74;
0x00003e8a str r3, [sp, 4] | var_4h_2 = r3;
0x00003e8c add r2, pc | r2 = 0x7e7c;
0x00003e8e ldr r3, [pc, 0x160] |
0x00003e90 adds r2, 7 | r2 += 7;
0x00003e92 add r3, pc | r3 = 0x7e88;
0x00003e94 str r3, [sp] | *(sp) = r3;
0x00003e96 movw r3, 0x321 | r3 = 0x321;
0x00003e9a blx 0x1c84 | extract_first_word ();
0x00003e9e b 0x3cb0 | goto label_10;
| label_61:
0x00003ea0 ldr r0, [pc, 0x150] |
0x00003ea2 add r0, pc | r0 = 0x7e9a;
0x00003ea4 blx 0x1b48 | r0 = fcn_00001b48 ();
0x00003ea8 cmp r0, 0 |
| if (r0 >= 0) {
0x00003eaa bge.w 0x3c58 | goto label_17;
| }
0x00003eae blx 0x1d8c | r0 = log_oom_internal ();
0x00003eb2 ldr r0, [r0] | r0 = *(r0);
0x00003eb4 ldr.w r8, [sp, 0x38] | r8 = var_38h;
0x00003eb8 cmp r0, 2 |
0x00003eba it ne |
| if (r0 == 2) {
0x00003ebc rsbne r8, r0, 0 | __asm ("rsbne r8, r0, 0");
| goto label_72;
| }
| if (r0 != 2) {
| label_72:
0x00003ec0 bne.w 0x3bde | goto label_18;
| }
0x00003ec4 mov r0, r7 | r0 = r7;
0x00003ec6 blx 0x1aa0 | fcn_00001aa0 ();
0x00003eca mov r0, r8 | r0 = r8;
0x00003ecc blx 0x1aa0 | fcn_00001aa0 ();
0x00003ed0 b 0x3c64 | goto label_19;
| label_56:
0x00003ed2 ldr r3, [pc, 0x124] |
0x00003ed4 mov.w r8, 1 | r8 = 1;
0x00003ed8 ldr.w sb, [pc, 0x120] |
0x00003edc movs r7, 2 | r7 = 2;
0x00003ede add r3, pc | r3 = 0x7edc;
0x00003ee0 add sb, pc | sb = 0x7ee0;
0x00003ee2 str r3, [sp, 0x1c] | var_1ch = r3;
0x00003ee4 b 0x3b68 | goto label_15;
| label_64:
0x00003ee6 ldr r3, [pc, 0x118] |
0x00003ee8 add r3, pc | r3 = 0x7eee;
0x00003eea b 0x3c30 | goto label_20;
| label_63:
0x00003eec ldr r1, [pc, 0x114] |
0x00003eee add r1, pc | r1 = 0x7ef6;
0x00003ef0 b 0x3c04 | goto label_21;
| label_57:
0x00003ef2 mov r0, fp | r0 = fp;
0x00003ef4 mov.w r8, 1 | r8 = 1;
0x00003ef8 blx 0x1b30 | fcn_00001b30 ();
0x00003efc ldr r3, [pc, 0x108] |
0x00003efe add.w sl, fp, r0 | sl = fp + r0;
0x00003f02 mov r7, r8 | r7 = r8;
0x00003f04 add r3, pc | r3 = 0x7f10;
0x00003f06 mov sb, r3 | sb = r3;
0x00003f08 str r3, [sp, 0x1c] | var_1ch = r3;
0x00003f0a b 0x3b68 | goto label_15;
| label_58:
0x00003f0c ldr r3, [pc, 0xfc] |
0x00003f0e mov r7, r0 | r7 = r0;
0x00003f10 ldr.w sb, [pc, 0xfc] |
0x00003f14 mov.w r8, 1 | r8 = 1;
0x00003f16 lsrs r1, r0, 0x20 | r1 = r0 >> 0x20;
0x00003f18 add r3, pc | r3 = 0x7f28;
0x00003f1a add sb, pc | sb = 0x7f2e;
0x00003f1c str r3, [sp, 0x1c] | var_1ch = r3;
0x00003f1e b 0x3b68 | goto label_15;
| label_65:
0x00003f20 blx 0x1c60 | bus_add_implementation ();
| label_60:
0x00003f24 mov r0, fp | r0 = fp;
0x00003f26 mvn r8, 0xb | r8 = ~0xb;
0x00003f2a blx 0x1aa0 | fcn_00001aa0 ();
0x00003f2e b 0x3bf0 | goto label_13;
| }
[*] Function system used 6 times systemd-timedated