[*] 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-80367616.squashfs_v4_le_extract/usr/lib/systemd/systemd-timedated @ 0x3c3c */
| #include <stdint.h>
|
; (fcn) fcn.00003c3c () | void fcn_00003c3c (int16_t arg_10h, uint32_t arg1, uint32_t arg2, int16_t arg3) {
| int16_t var_0h_2;
| int32_t var_0h_4;
| int16_t var_8h_2;
| int16_t var_ch;
| int16_t var_10h_2;
| int32_t var_10h_4;
| int16_t var_18h_3;
| int16_t var_10h;
| int16_t var_4h_2;
| int16_t var_18h_2;
| int16_t var_10h_3;
| int16_t var_14h_2;
| int16_t var_18h_4;
| int16_t var_1ch;
| int16_t var_20h_2;
| int16_t var_28h;
| int16_t var_2ch;
| int16_t var_30h_2;
| int16_t var_34h_2;
| int16_t var_38h;
| int16_t var_3ch_2;
| int16_t var_40h;
| int16_t var_48h;
| int16_t var_74h;
| int16_t var_9ch;
| int16_t var_0h_3;
| int16_t var_4h_3;
| int16_t var_8h_3;
| int16_t var_ch_2;
| int16_t var_14h_3;
| int16_t var_20h;
| int16_t var_24h_2;
| int16_t var_28h_2;
| int16_t var_30h;
| int16_t var_34h_3;
| int16_t var_38h_2;
| int16_t var_3ch;
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int32_t var_ch_3;
| int32_t var_ch_4;
| int16_t var_14h;
| int16_t var_18h;
| int16_t var_24h;
| int16_t var_28h_3;
| int16_t var_30h_3;
| int16_t var_34h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| label_8:
0x00001db8 invalid | void (*0x1dbc)() ();
| label_15:
0x00001df8 bx pc | return void (*pc)() ();
0x00003c3c push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00003c40 mov r5, r2 | r5 = r2;
0x00003c42 ldr r2, [pc, 0x148] |
0x00003c44 ldr r3, [pc, 0x148] | r3 = *(0x3d90);
0x00003c46 add r2, pc | r2 = 0x79d8;
0x00003c48 vpush {d8} | __asm ("vpush {d8}");
0x00003c4c sub sp, 0x3c |
0x00003c4e ldr r3, [r2, r3] |
0x00003c50 ldr r3, [r3] | r3 = *(0x79d8);
0x00003c52 str r3, [sp, 0x34] | var_34h = r3;
0x00003c54 mov.w r3, 0 | r3 = 0;
0x00003c56 lsls r0, r0, 0xc | r0 <<= 0xc;
0x00003c58 cmp r0, 0 |
| if (r0 == 0) {
0x00003c5a beq 0x3d22 | goto label_20;
| }
0x00003c5c mov r8, r1 | r8 = r1;
0x00003c5e cmp r1, 0 |
| if (r1 == 0) {
0x00003c60 beq.w 0x3d72 | goto label_21;
| }
0x00003c64 mov r4, r0 | r4 = r0;
| if (r5 != 0) {
0x00003c66 cbz r5, 0x3c7a |
0x00003c68 ldr r0, [r0, 0xc] | r0 = *((r0 + 0xc));
0x00003c6a cmp r0, r5 |
| if (r0 == r5) {
0x00003c6c beq 0x3d00 | goto label_22;
| }
0x00003c6e blx 0x1c80 | fcn_00001c80 ();
0x00003c72 mov r0, r5 | r0 = r5;
0x00003c74 blx 0x1a0c | sd_bus_message_ref ();
0x00003c78 str r0, [r4, 0xc] | *((r4 + 0xc)) = r0;
| }
0x00003c7a ldr r7, [r4, 0x14] | r7 = *((r4 + 0x14));
0x00003c7c cmp r7, 0 |
| if (r7 == 0) {
0x00003c7e beq 0x3d00 | goto label_22;
| }
0x00003c80 ldr.w fp, [pc, 0x110] |
0x00003c84 add.w sb, sp, 0x28 | sb += var_28h_3;
0x00003c88 ldr.w sl, [pc, 0x10c] |
0x00003c8c vmov.i32 d8, 0 | __asm ("vmov.i32 d8, 0");
0x00003c90 add fp, pc | fp = 0x7a28;
0x00003c92 add sl, pc | sl = 0x7a2e;
0x00003c94 b 0x3cbe |
| while (r0 != 0) {
0x00003c96 movs r1, 1 | r1 = 1;
0x00003c98 mov r3, fp | r3 = fp;
0x00003c9a strd r1, sb, [sp] | __asm ("strd r1, sb, [sp]");
0x00003c9c adds r0, r0, r4 | r0 += r4;
0x00003c9e mov r2, r6 | r2 = r6;
0x00003ca0 mov r1, sl | r1 = sl;
0x00003ca2 mov r0, r8 | r0 = r8;
0x00003ca4 strd r5, r4, [sp, 8] | __asm ("strd r5, r4, [sp, 8]");
0x00003ca8 blx 0x1b98 | r0 = bus_map_all_properties ();
0x00003cac subs r1, r0, 0 | r1 = r0 - 0;
| if (r1 < r0) {
0x00003cae blt 0x3d38 | goto label_23;
| }
0x00003cb0 mov r0, r6 | r0 = r6;
0x00003cb2 blx 0x19dc | free (r0);
0x00003cb6 mov r0, sb | r0 = sb;
0x00003cb8 blx 0x1b50 | sd_bus_error_free ();
| if (r7 == 0) {
0x00003cbc cbz r7, 0x3d00 | goto label_22;
| }
0x00003cbe mov r4, r7 | r4 = r7;
0x00003cc0 movs r5, 0 | r5 = 0;
0x00003cc2 vstr d8, [sp, 0x28] | __asm ("vstr d8, [sp, 0x28]");
0x00003cc6 str r5, [sp, 0x30] | var_30h_3 = r5;
0x00003cc8 ldr r0, [r4, 4] | r0 = *((r4 + 4));
0x00003cca ldr r7, [r7, 0x14] | r7 = *((r7 + 0x14));
0x00003ccc blx 0x19dc | free (r0);
0x00003cd0 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x00003cd2 str r5, [r4, 4] | *((r4 + 4)) = r5;
0x00003cd4 blx 0x19dc | free (r0);
0x00003cd8 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00003cda str r5, [r4, 8] | *((r4 + 8)) = r5;
0x00003cdc blx 0x19dc | free (r0);
0x00003ce0 ldr r0, [r4] | r0 = *(r4);
0x00003ce2 str r5, [r4, 0xc] | *((r4 + 0xc)) = r5;
0x00003ce4 blx 0x1a6c | r0 = unit_dbus_path_from_name ();
0x00003ce8 mov r6, r0 | r6 = r0;
0x00003cea cmp r0, 0 |
0x00003cec bne 0x3c96 |
| }
0x00003cee mvn r4, 0xb | r4 = ~0xb;
| do {
0x00003cf2 mov r0, r6 | r0 = r6;
0x00003cf4 blx 0x19dc | free (r0);
0x00003cf8 mov r0, sb | r0 = sb;
0x00003cfa blx 0x1b50 | sd_bus_error_free ();
0x00003cfe b 0x3d02 | goto label_24;
| label_22:
0x00003d00 movs r4, 0 | r4 = 0;
| label_24:
0x00003d02 ldr r2, [pc, 0x98] |
0x00003d04 ldr r3, [pc, 0x88] | r3 = *(0x3d90);
0x00003d06 add r2, pc | r2 = 0x7aa8;
0x00003d08 ldr r3, [r2, r3] | r3 = *(0x7aa8);
0x00003d0a ldr r2, [r3] | r2 = *(0x7aa8);
0x00003d0c ldr r3, [sp, 0x34] | r3 = var_34h;
0x00003d0e eors r2, r3 | r2 ^= r3;
0x00003d10 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00003d14 bne 0x3d88 | goto label_25;
| }
0x00003d16 mov r0, r4 | r0 = r4;
0x00003d18 add sp, 0x3c |
0x00003d1a vpop {d8} | __asm ("vpop {d8}");
0x00003d1e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_20:
0x00003d22 ldr r1, [pc, 0x7c] |
0x00003d24 movw r2, 0x19b | r2 = 0x19b;
0x00003d28 ldr r3, [pc, 0x78] |
0x00003d2a ldr r0, [pc, 0x7c] |
0x00003d2c add r1, pc | r1 = 0x7ad2;
0x00003d2e add r3, pc | r3 = 0x7ad6;
0x00003d30 adds r1, 7 | r1 += 7;
0x00003d32 add r0, pc | r0 = 0x7ae0;
0x00003d34 blx 0x19ac | log_assert_failed ();
| label_23:
0x00003d38 mov r0, sb | r0 = sb;
0x00003d3a ldr r4, [r4] | r4 = *(r4);
0x00003d3c str r1, [sp, 0x24] | var_24h = r1;
0x00003d3e blx 0x1d88 | fcn_00001d88 ();
0x00003d42 ldr r2, [pc, 0x68] |
0x00003d44 str r0, [sp, 0x18] | var_18h = r0;
0x00003d46 ldr r3, [pc, 0x68] |
0x00003d48 add r2, pc | r2 = 0x7afa;
0x00003d4a ldr r0, [pc, 0x68] |
0x00003d4c str r2, [sp] | *(sp) = r2;
0x00003d4e ldr r2, [pc, 0x68] |
0x00003d50 add r3, pc | r3 = 0x7b06;
0x00003d52 add r0, pc | r0 = 0x7b0c;
0x00003d54 str r4, [sp, 8] | var_8h = r4;
0x00003d56 str r3, [sp, 4] | var_4h = r3;
0x00003d58 movw r3, 0x1bb | r3 = 0x1bb;
0x00003d5c add r2, pc | r2 = 0x7b1a;
0x00003d5e str r0, [sp, 0x14] | var_14h = r0;
0x00003d60 ldr r1, [sp, 0x24] | r1 = var_24h;
0x00003d62 adds r2, 7 | r2 += 7;
0x00003d64 movs r0, 3 | r0 = 3;
0x00003d66 strd r5, r5, [sp, 0xc] | __asm ("strd r5, r5, [var_ch_3]");
0x00003d6a blx 0x1d40 | r0 = fcn_00001d40 ();
0x00003d6e mov r4, r0 | r4 = r0;
0x00003d70 b 0x3cf2 |
| } while (1);
| label_21:
0x00003d72 ldr r1, [pc, 0x48] |
0x00003d74 mov.w r2, 0x19c | r2 = 0x19c;
0x00003d78 ldr r3, [pc, 0x44] |
0x00003d7a ldr r0, [pc, 0x48] |
0x00003d7c add r1, pc | r1 = 0x7b3e;
0x00003d7e add r3, pc | r3 = 0x7b42;
0x00003d80 adds r1, 7 | r1 += 7;
0x00003d82 add r0, pc | r0 = 0x7b4c;
0x00003d84 blx 0x19ac | log_assert_failed ();
| label_25:
0x00003d88 blx 0x1bd4 | stack_chk_fail ();
0x00003d8c adds r1, 0xce | r1 += 0xce;
0x00003d8e movs r0, r0 |
0x00003d90 lsls r0, r6, 6 | r0 = r6 << 6;
0x00003d92 movs r0, r0 |
0x00003d94 cmp r6, 0x4c |
0x00003d96 movs r0, r0 |
0x00003d98 asrs r6, r6, 8 | r6 >>= 8;
0x00003d9a movs r0, r0 |
0x00003d9c adds r1, 0xe | r1 += 0xe;
0x00003d9e movs r0, r0 |
0x00003da0 lsrs r0, r6, 0xf | r0 = r6 >> 0xf;
0x00003da2 movs r0, r0 |
0x00003da4 subs r6, r4, r7 | r6 = r4 - r7;
0x00003da6 movs r0, r0 |
0x00003da8 lsrs r2, r6, 0x14 | r2 = r6 >> 0x14;
0x00003daa movs r0, r0 |
0x00003dac subs r0, r6, r6 | r0 = r6 - r6;
0x00003dae movs r0, r0 |
0x00003db0 lsrs r4, r5, 0x10 | r4 = r5 >> 0x10;
0x00003db2 movs r0, r0 |
0x00003db4 asrs r2, r2, 6 | r2 >>= 6;
0x00003db6 movs r0, r0 |
0x00003db8 lsrs r0, r0, 0xf | r0 >>= 0xf;
0x00003dba movs r0, r0 |
0x00003dbc lsrs r0, r4, 0xe | r0 = r4 >> 0xe;
0x00003dbe movs r0, r0 |
0x00003dc0 subs r6, r2, r6 | r6 = r2 - r6;
0x00003dc2 movs r0, r0 |
0x00003dc4 lsrs r6, r2, 0xf | r6 = r2 >> 0xf;
0x00003dc6 movs r0, r0 |
0x00003dc8 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00003dcc sub sp, 0x44 |
0x00003dce str r2, [sp, 0x20] | var_20h = r2;
0x00003dd0 mov r4, r0 | r4 = r0;
0x00003dd2 mov.w sb, 0 | sb = 0;
0x00003dd6 mov r6, r1 | r6 = r1;
0x00003dd8 ldr r2, [pc, 0x36c] |
0x00003dda ldr r3, [pc, 0x370] | r3 = *(0x414e);
0x00003ddc ldr.w sl, [pc, 0x370] |
0x00003de0 add r2, pc | r2 = 0x7f2c;
0x00003de2 ldr r3, [r2, r3] |
0x00003de4 add sl, pc | sl = 0x7f38;
0x00003de6 ldr r3, [r3] | r3 = *(0x7f2c);
0x00003de8 str r3, [sp, 0x3c] | var_3ch = r3;
0x00003dea mov.w r3, 0 | r3 = 0;
0x00003dee str.w sb, [sp, 0x30] | __asm ("str.w sb, [var_30h]");
0x00003df2 blx 0x1d70 | fcn_00001d70 ();
0x00003df6 cmp r4, 0 |
| if (r4 == 0) {
0x00003df8 beq.w 0x3f48 | goto label_26;
| }
0x00003dfc mov r5, r0 | r5 = r0;
0x00003dfe cmp r0, 0 |
| if (r0 == 0) {
0x00003e00 beq.w 0x3f5e | goto label_27;
| }
0x00003e04 cmp r6, 0 |
| if (r6 == 0) {
0x00003e06 beq.w 0x3f74 | goto label_28;
| }
0x00003e0a ldr r1, [pc, 0x348] |
0x00003e0c add r3, sp, 0x38 | r3 += var_38h_2;
0x00003e0e add r2, sp, 0x34 | r2 += var_34h_3;
0x00003e10 mov r0, r4 | r0 = r4;
0x00003e12 add r1, pc | r1 = 0x7f6c;
0x00003e14 blx 0x1cbc | fcn_00001cbc ();
0x00003e16 invalid |
| if (r6 < 0) {
0x00003e1a blt.w 0x3f22 | goto label_0;
| }
0x00003e1e mov r2, r4 | r2 = r4;
0x00003e20 mov r1, r5 | r1 = r5;
0x00003e22 mov r0, r6 | r0 = r6;
0x00003e24 bl 0x3c3c | r0 = fcn_00003c3c (r0, r1, r2, r3);
0x00003e28 subs r7, r0, 0 | r7 = r0 - 0;
| if (r7 < r0) {
0x00003e2a blt 0x3f22 | goto label_0;
| }
0x00003e2c mov r0, r6 | r0 = r6;
0x00003e2e bl 0x3be0 | r0 = fcn_00003be0 (r0);
0x00003e32 cmp r0, 0 |
| if (r0 <= 0) {
0x00003e34 ble 0x3f12 | goto label_29;
| }
0x00003e36 ldr r3, [sp, 0x20] | r3 = var_20h;
0x00003e38 movs r1, 0x19 | r1 = 0x19;
0x00003e3a ldr r2, [pc, 0x31c] |
0x00003e3c mov r0, r4 | r0 = r4;
0x00003e3e str r3, [sp, 0xc] | var_ch_2 = r3;
0x00003e40 ldr r3, [sp, 0x38] | r3 = var_38h_2;
0x00003e42 add r2, pc | r2 = 0x7fa0;
0x00003e44 subs r3, 0 |
0x00003e46 it ne |
| if (r3 == 0) {
0x00003e48 movne r3, 1 | r3 = 1;
| }
0x00003e4a str r3, [sp] | *(sp) = r3;
0x00003e4c add.w r3, r6, 8 | r3 = r6 + 8;
0x00003e50 str r3, [sp, 8] | var_8h_3 = r3;
0x00003e52 mov.w r3, -1 | r3 = -1;
0x00003e56 str r3, [sp, 4] | var_4h_3 = r3;
0x00003e58 mov r3, sb | r3 = sb;
0x00003e5a blx 0x1994 | r0 = bus_verify_polkit_async ();
0x00003e5e subs r7, r0, 0 | r7 = r0 - 0;
| if (r7 < r0) {
0x00003e60 blt 0x3f22 | goto label_0;
| }
0x00003e62 it eq |
| if (r7 != r0) {
0x00003e64 moveq r7, 1 | r7 = 1;
| }
| if (r7 == r0) {
0x00003e66 beq 0x3f22 | goto label_0;
| }
0x00003e68 ldr.w r8, [r6, 0x14] | r8 = *((r6 + 0x14));
0x00003e6c cmp.w r8, 0 |
0x00003e6e lsrs r0, r0, 0x1c | r0 >>= 0x1c;
| if (r0 == r0) {
0x00003e70 beq 0x3e8c | goto label_30;
| }
0x00003e72 mov fp, r4 |
0x00003e74 mov r4, r8 | r4 = r8;
| do {
0x00003e76 mov r8, r4 | r8 = r4;
0x00003e78 ldr r4, [r4, 0x14] | r4 = *((r4 + 0x14));
0x00003e7a ldr.w r0, [r8, 0x10] | r0 = *((r8 + 0x10));
0x00003e7e blx 0x19dc | free (r0);
0x00003e82 str.w sb, [r8, 0x10] | __asm ("str.w sb, [r8, 0x10]");
0x00003e86 cmp r4, 0 |
0x00003e88 bne 0x3e76 |
| } while (r4 != 0);
0x00003e8a mov r4, fp | r4 = fp;
| label_30:
0x00003e8c ldr r3, [r6, 0x10] | r3 = *((r6 + 0x10));
0x00003e8e cmp r3, 0 |
| if (r3 == 0) {
0x00003e90 beq.w 0x40b0 | goto label_31;
| }
| label_6:
0x00003e94 ldr r0, [sp, 0x34] | r0 = var_34h_3;
0x00003e96 ldr.w sb, [r6, 0x14] | sb = *((r6 + 0x14));
0x00003e9a mov r1, sb | r1 = sb;
0x00003e9c cmp r0, 0 |
| if (r0 == 0) {
0x00003e9e beq 0x3f8a | goto label_32;
| }
0x00003ea0 cmp.w sb, 0 |
| if (sb == 0) {
0x00003ea4 beq.w 0x40fc | goto label_33;
| }
0x00003ea8 ldr r1, [pc, 0x2b0] |
0x00003eaa mov.w r8, 0 | r8 = 0;
0x00003eae strd r4, r6, [sp, 0x28] | __asm ("strd r4, r6, [sp, 0x28]");
0x00003eb2 mov r6, sb | r6 = sb;
0x00003eb4 add r1, pc | r1 = 0x8014;
0x00003eb6 adds r3, r1, 7 | r3 = r1 + 7;
0x00003eb8 str r3, [sp, 0x24] | var_24h_2 = r3;
0x00003eba ldr r3, [pc, 0x2a4] |
0x00003ebc add r3, pc | r3 = 0x8022;
0x00003ebe mov fp, r3 |
| do {
0x00003ec0 mov sb, r6 | sb = r6;
0x00003ec2 mov r1, fp | r1 = fp;
0x00003ec4 ldr.w r0, [sb, 4] | r0 = *((sb + 4));
0x00003ec8 blx 0x1d94 | fcn_00001d94 ();
0x00003ecc ldr r6, [r6, 0x14] | r6 = *((r6 + 0x14));
0x00003ece mov r4, r0 | r4 = r0;
| if (r0 == 0) {
0x00003ed0 cbnz r0, 0x3f08 |
0x00003ed2 ldr r7, [sp, 0x20] | r7 = var_20h;
0x00003ed4 clz sl, r8 | sl &= r8;
0x00003ed8 lsr.w sl, sl, 5 | sl >>= 5;
0x00003edc mov r1, r5 | r1 = r5;
0x00003ede mov r0, sb | r0 = sb;
0x00003ee0 mov r2, r7 | r2 = r7;
0x00003ee2 mov r3, sl | r3 = sl;
0x00003ee4 bl 0x28c0 | r0 = fcn_000028c0 (r0, r1, r2, r3);
0x00003ee8 cmp r0, 0 |
| if (r0 < 0) {
0x00003eea blt.w 0x4012 | goto label_34;
| }
0x00003eee mov r2, r7 | r2 = r7;
0x00003ef0 mov r3, sl | r3 = sl;
0x00003ef2 mov r1, r5 | r1 = r5;
0x00003ef4 mov r0, sb | r0 = sb;
0x00003ef6 bl 0x2adc | r0 = fcn_00002adc (r0, r1, r2, r3);
0x00003efa subs r7, r0, 0 | r7 = r0 - 0;
| if (r7 < r0) {
0x00003efc blt.w 0x4062 | goto label_35;
| }
| label_2:
0x00003f00 cmp.w sl, 0 |
0x00003f04 it ne |
| if (sl != 0) {
0x00003f06 movne r8, sb | r8 = sb;
| goto label_1;
| }
| }
| label_1:
0x00003f08 cmp r6, 0 |
0x00003f0a bne 0x3ec0 |
| } while (r6 != 0);
0x00003f0c ldrd r4, r6, [sp, 0x28] | __asm ("ldrd r4, r6, [var_28h_2]");
0x00003f10 b 0x3fe2 | goto label_36;
| label_29:
0x00003f12 ldr r2, [pc, 0x250] |
0x00003f14 ldr r1, [pc, 0x250] |
0x00003f16 ldr r0, [sp, 0x20] | r0 = var_20h;
0x00003f18 add r2, pc | r2 = 0x8082;
0x00003f1a add r1, pc | r1 = 0x8086;
0x00003f1c blx 0x1c68 | r0 = fcn_00001c68 ();
0x00003f20 mov r7, r0 | r7 = r0;
| label_0:
0x00003f22 ldr r0, [sp, 0x30] | r0 = var_30h;
| if (r0 != 0) {
0x00003f24 cbz r0, 0x3f2a |
0x00003f26 blx 0x1d4c | fcn_00001d4c ();
| }
0x00003f2a ldr r1, [pc, 0x240] |
0x00003f2c ldr r3, [pc, 0x21c] | r3 = *(0x414c);
0x00003f2e add r1, pc | r1 = 0x80a0;
0x00003f30 ldr r3, [r1, r3] | r3 = *(0x80a0);
0x00003f32 ldr r1, [r3] | r1 = *(0x80a0);
0x00003f34 ldr r3, [sp, 0x3c] | r3 = var_3ch;
0x00003f36 eors r1, r3 | r1 ^= r3;
0x00003f38 mov.w r3, 0 | r3 = 0;
| if (r1 != r3) {
0x00003f3c bne.w 0x4144 | goto label_37;
| }
0x00003f40 mov r0, r7 | r0 = r7;
0x00003f42 add sp, 0x44 |
0x00003f44 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_26:
0x00003f48 ldr r1, [pc, 0x224] |
0x00003f4a movw r2, 0x39d | r2 = 0x39d;
0x00003f4e ldr r3, [pc, 0x224] |
0x00003f50 ldr r0, [pc, 0x224] |
0x00003f52 add r1, pc | r1 = 0x80c6;
0x00003f54 add r3, pc | r3 = 0x80ce;
0x00003f56 adds r1, 7 | r1 += 7;
0x00003f58 add r0, pc | r0 = 0x80d4;
0x00003f5a blx 0x19ac | log_assert_failed ();
| label_27:
0x00003f5e ldr r1, [pc, 0x21c] |
0x00003f60 movw r2, 0x39e | r2 = 0x39e;
0x00003f64 ldr r3, [pc, 0x218] |
0x00003f66 ldr r0, [pc, 0x21c] |
0x00003f68 add r1, pc | r1 = 0x80ea;
0x00003f6a add r3, pc | r3 = 0x80ee;
0x00003f6c adds r1, 7 | r1 += 7;
0x00003f6e add r0, pc | r0 = 0x80f8;
0x00003f70 blx 0x19ac | log_assert_failed ();
| label_28:
0x00003f74 ldr r1, [pc, 0x210] |
0x00003f76 movw r2, 0x39f | r2 = 0x39f;
0x00003f7a ldr r3, [pc, 0x210] |
0x00003f7c ldr r0, [pc, 0x210] |
0x00003f7e add r1, pc | r1 = 0x810a;
0x00003f80 add r3, pc | r3 = 0x8112;
0x00003f82 adds r1, 7 | r1 += 7;
0x00003f84 add r0, pc | r0 = 0x8118;
0x00003f86 blx 0x19ac | log_assert_failed ();
| label_32:
0x00003f8a cmp r1, 0 |
| if (r1 == 0) {
0x00003f8c beq.w 0x4138 | goto label_38;
| }
0x00003f90 ldr.w sl, [pc, 0x200] |
0x00003f94 mov sb, r5 | sb = r5;
0x00003f96 ldr.w fp, [sp, 0x20] | fp = var_20h;
0x00003f9a mov r5, r1 | r5 = r1;
0x00003f9c str r4, [sp, 0x24] | var_24h_2 = r4;
0x00003f9e add sl, pc | sl = 0x8136;
| do {
0x00003fa0 mov r8, r5 | r8 = r5;
0x00003fa2 mov r1, sl | r1 = sl;
0x00003fa4 ldr.w r0, [r8, 4] | r0 = *((r8 + 4));
0x00003fa8 blx 0x1d94 | fcn_00001d94 ();
0x00003fac ldr r5, [r5, 0x14] | r5 = *((r5 + 0x14));
0x00003fae mov r4, r0 | r4 = r0;
| if (r0 == 0) {
0x00003fb0 cbnz r0, 0x3fda |
0x00003fb2 mov r3, r4 | r3 = r4;
0x00003fb4 mov r2, fp | r2 = fp;
0x00003fb6 mov r1, sb | r1 = sb;
0x00003fb8 mov r0, r8 | r0 = r8;
0x00003fba bl 0x28c0 | fcn_000028c0 (r0, r1, r2, r3);
0x00003fbe mov r3, r4 | r3 = r4;
0x00003fc0 bics.w r7, r7, r0, asr 32 | __asm ("bics.w r7, r7, r0, asr 32");
0x00003fc4 it hs |
| if (r0 < 0) {
0x00003fc6 movhs r7, r0 | r7 = r0;
| }
0x00003fc8 mov r2, fp | r2 = fp;
0x00003fca mov r0, r8 | r0 = r8;
0x00003fcc mov r1, sb | r1 = sb;
0x00003fce bl 0x2adc | r0 = fcn_00002adc (r0, r1, r2, r3);
0x00003fd2 bics.w r7, r7, r0, asr 32 | __asm ("bics.w r7, r7, r0, asr 32");
0x00003fd6 it hs |
| if (r0 >= 0) {
0x00003fd8 movhs r7, r0 | r7 = r0;
| goto label_39;
| }
| }
| label_39:
0x00003fda cmp r5, 0 |
0x00003fdc bne 0x3fa0 |
| } while (r5 != 0);
0x00003fde ldr r4, [sp, 0x24] | r4 = var_24h_2;
0x00003fe0 mov r8, r5 | r8 = r5;
| label_36:
0x00003fe2 cmp r7, 0 |
| if (r7 < 0) {
0x00003fe4 blt 0x3f22 | goto label_0;
| }
0x00003fe6 ldr r3, [sp, 0x34] | r3 = var_34h_3;
0x00003fe8 cmp r3, 0 |
| if (r3 == 0) {
0x00003fea beq 0x407a | goto label_40;
| }
0x00003fec cmp.w r8, 0 |
| if (r8 == 0) {
0x00003ff0 beq.w 0x40fc | goto label_33;
| }
0x00003ff4 ldr r3, [sp, 0x30] | r3 = var_30h;
| if (r3 != 0) {
0x00003ff6 cbz r3, 0x3ffe |
0x00003ff8 movs r2, 0 | r2 = 0;
0x00003ffa str r3, [r6, 0x10] | *((r6 + 0x10)) = r3;
0x00003ffc str r2, [sp, 0x30] | var_30h = r2;
| }
| label_4:
0x00003ffe blx 0x1ab4 | r0 = log_get_max_level ();
0x00004002 cmp r0, 5 |
| if (r0 > 5) {
0x00004004 bgt 0x40d6 | goto label_41;
| }
| label_5:
0x00004006 movs r1, 0 | r1 = 0;
0x00004008 mov r0, r4 | r0 = r4;
0x0000400a blx 0x1b5c | r0 = sd_bus_reply_method_return ();
0x0000400e mov r7, r0 | r7 = r0;
0x00004010 b 0x3f22 | goto label_0;
| label_34:
0x00004012 ldr r2, [sp, 0x20] | r2 = var_20h;
0x00004014 mov r3, r4 | r3 = r4;
0x00004016 mov r1, r5 | r1 = r5;
0x00004018 mov r0, sb | r0 = sb;
0x0000401a bl 0x2adc | r0 = fcn_00002adc (r0, r1, r2, r3);
0x0000401e subs r7, r0, 0 | r7 = r0 - 0;
| if (r7 >= r0) {
0x00004020 bge.w 0x3f08 | goto label_1;
| }
0x00004024 ldr.w r3, [sb] | r3 = *(sb);
| do {
0x00004028 ldr r2, [pc, 0x16c] |
0x0000402a mov.w sl, 0 | sl = 0;
0x0000402e ldr r1, [pc, 0x16c] |
0x00004030 add r2, pc | r2 = 0x81cc;
0x00004032 add r1, pc | r1 = 0x81d4;
| label_3:
0x00004034 str r3, [sp, 8] | var_8h_3 = r3;
0x00004036 movs r0, 4 | r0 = 4;
0x00004038 ldr r3, [pc, 0x164] |
0x0000403a strd r2, r1, [sp, 0x18] | __asm ("strd r2, r1, [sp, 0x18]");
0x0000403e mov r1, r7 | r1 = r7;
0x00004040 ldr r2, [sp, 0x24] | r2 = var_24h_2;
0x00004042 add r3, pc | r3 = 0x81e6;
0x00004044 str r3, [sp, 0x14] | var_14h_3 = r3;
0x00004046 ldr r3, [pc, 0x15c] |
0x00004048 add r3, pc | r3 = 0x81f2;
0x0000404a str r3, [sp, 4] | var_4h_3 = r3;
0x0000404c ldr r3, [pc, 0x158] |
0x0000404e add r3, pc | r3 = 0x81fa;
0x00004050 str r3, [sp] | *(sp) = r3;
0x00004052 movs r3, 0 | r3 = 0;
0x00004054 strd r3, r3, [sp, 0xc] | __asm ("strd r3, r3, [sp, 0xc]");
0x00004058 movw r3, 0x3d7 | r3 = 0x3d7;
0x0000405c blx 0x1d40 | fcn_00001d40 ();
0x00004060 b 0x3f00 | goto label_2;
| label_35:
0x00004062 ldr.w r3, [sb] | r3 = *(sb);
0x00004066 cmp.w r8, 0 |
0x0000406a bne 0x4028 |
| } while (r8 != 0);
0x0000406c ldr r2, [pc, 0x13c] |
0x0000406e mov.w sl, 1 | sl = 1;
0x00004072 ldr r1, [pc, 0x13c] |
0x00004074 add r2, pc | r2 = 0x8224;
0x00004076 add r1, pc | r1 = 0x822c;
0x00004078 b 0x4034 | goto label_3;
| label_40:
0x0000407a ldr r2, [sp, 0x30] | r2 = var_30h;
| if (r2 != 0) {
0x0000407c cbz r2, 0x4082 |
0x0000407e str r3, [sp, 0x30] | var_30h = r3;
0x00004080 str r2, [r6, 0x10] | *((r6 + 0x10)) = r2;
| }
0x00004082 cmp.w r8, 0 |
| if (r8 != 0) {
0x00004086 bne 0x3ffe | goto label_4;
| }
| label_7:
0x00004088 blx 0x1ab4 | r0 = log_get_max_level ();
0x0000408c cmp r0, 5 |
| if (r0 <= 5) {
0x0000408e ble 0x4006 | goto label_5;
| }
0x00004090 ldr r2, [pc, 0x120] |
0x00004092 movw r3, 0x3f6 | r3 = 0x3f6;
0x00004096 ldr r0, [pc, 0x120] |
0x00004098 ldr r1, [pc, 0x120] |
0x0000409a add r2, pc | r2 = 0x8252;
0x0000409c add r0, pc | r0 = 0x825a;
0x0000409e adds r2, 7 | r2 += 7;
0x000040a0 add r1, pc | r1 = 0x8260;
0x000040a2 strd r1, r0, [sp] | __asm ("strd r1, r0, [sp]");
0x000040a6 movs r1, 0 | r1 = 0;
0x000040a8 movs r0, 6 | r0 = 6;
0x000040aa blx 0x1bb0 | log_internal ();
0x000040ae b 0x4006 | goto label_5;
| label_31:
0x000040b0 ldr r2, [pc, 0x10c] |
0x000040b2 add r1, sp, 0x30 | r1 += var_30h;
0x000040b4 mov r0, r5 | r0 = r5;
0x000040b6 ldr.w r2, [sl, r2] | r2 = *((sl + r2));
0x000040ba strd r3, r6, [sp, 4] | __asm ("strd r3, r6, [sp, 4]");
0x000040be ldr r3, [pc, 0x104] |
0x000040c0 ldr r2, [r2] | r2 = *(0x41c0);
0x000040c2 add r3, pc | r3 = 0x828c;
0x000040c4 str r3, [sp] | *(sp) = r3;
0x000040c6 ldr r3, [pc, 0x100] |
0x000040c8 add r3, pc | r3 = 0x8296;
0x000040ca blx 0x19f4 | r0 = bus_match_signal_async ();
0x000040ce subs r7, r0, 0 | r7 = r0 - 0;
| if (r7 >= r0) {
0x000040d0 bge.w 0x3e94 | goto label_6;
| }
0x000040d4 b 0x3f22 | goto label_0;
| label_41:
0x000040d6 ldr r2, [pc, 0xf4] |
0x000040d8 ldr r3, [pc, 0xf4] |
0x000040da ldr r0, [pc, 0xf8] |
0x000040dc ldr.w r1, [r8] | r1 = *(r8);
0x000040e0 add r2, pc | r2 = 0x82b2;
0x000040e2 add r3, pc | r3 = 0x82b6;
0x000040e4 adds r2, 7 | r2 += 7;
0x000040e6 add r0, pc | r0 = 0x82c0;
0x000040e8 strd r3, r1, [sp, 4] | __asm ("strd r3, r1, [sp, 4]");
0x000040ec mov.w r3, 0x3f4 | r3 = 0x3f4;
0x000040f0 str r0, [sp] | *(sp) = r0;
0x000040f2 movs r1, 0 | r1 = 0;
0x000040f4 movs r0, 6 | r0 = 6;
0x000040f6 blx 0x1bb0 | log_internal ();
0x000040fa b 0x4006 | goto label_5;
| label_33:
0x000040fc blx 0x1ab4 | r0 = log_get_max_level ();
0x00004100 cmp r0, 2 |
0x00004102 it le |
| if (r0 <= 2) {
0x00004104 mvnle r7, 1 | r7 = ~1;
| goto label_42;
| }
| if (r0 <= 2) {
| label_42:
0x00004108 ble.w 0x3f22 | goto label_0;
| }
0x0000410c ldr r2, [pc, 0xc8] |
0x0000410e movs r1, 2 | r1 = 2;
0x00004110 ldr r0, [pc, 0xc8] |
0x00004112 movw r3, 0x3ee | r3 = 0x3ee;
0x00004116 ldr r4, [pc, 0xc8] |
0x00004118 movt r1, 0x4000 | r1 = (r1 & 0xFFFF) | 0x40000000;
0x0000411c add r2, pc | r2 = 0x82f8;
0x0000411e add r0, pc | r0 = 0x82fe;
0x00004120 adds r2, 7 | r2 += 7;
0x00004122 add r4, pc | r4 = 0x8308;
0x00004124 str r0, [sp, 4] | var_4h_3 = r0;
0x00004126 str r4, [sp] | *(sp) = r4;
0x00004128 movs r0, 3 | r0 = 3;
0x0000412a blx 0x1bb0 | r0 = log_internal ();
0x0000412e subs r7, r0, 0 | r7 = r0 - 0;
0x00004130 it ge |
| if (r7 < r0) {
0x00004132 mvnge r7, 0x55 | r7 = ~0x55;
| }
0x00004136 b 0x3f22 | goto label_0;
| label_38:
0x00004138 ldr r3, [sp, 0x30] | r3 = var_30h;
0x0000413a cmp r3, 0 |
| if (r3 == 0) {
0x0000413c beq 0x4088 | goto label_7;
| }
0x0000413e str r1, [sp, 0x30] | var_30h = r1;
0x00004140 str r3, [r6, 0x10] | *((r6 + 0x10)) = r3;
0x00004142 b 0x4088 | goto label_7;
| label_37:
0x00004144 blx 0x1bd4 | stack_chk_fail ();
0x00004148 adds r0, 0x34 | r0 += 0x34;
0x0000414a movs r0, r0 |
0x0000414c lsls r0, r6, 6 | r0 = r6 << 6;
0x0000414e movs r0, r0 |
0x00004150 adds r0, 0x30 | r0 += 0x30;
0x00004152 movs r0, r0 |
0x00004154 asrs r2, r0, 4 | r2 = r0 >> 4;
0x00004156 movs r0, r0 |
0x00004158 asrs r2, r2, 4 | r2 >>= 4;
0x0000415a movs r0, r0 |
0x0000415c lsrs r0, r5, 9 | r0 = r5 >> 9;
0x0000415e movs r0, r0 |
0x00004160 asrs r4, r0, 0x20 | r4 = r0 >> 0x20;
0x00004162 movs r0, r0 |
0x00004164 asrs r0, r0, 0x20 | r0 >>= 0x20;
0x00004166 movs r0, r0 |
0x00004168 asrs r2, r2, 0x20 | r2 >>= 0x20;
0x0000416a movs r0, r0 |
0x0000416c cmp r6, 0xe6 |
0x0000416e movs r0, r0 |
0x00004170 lsrs r2, r1, 7 | r2 = r1 >> 7;
0x00004172 movs r0, r0 |
0x00004174 subs r4, r2, r0 | r4 = r2 - r0;
0x00004176 movs r0, r0 |
0x00004178 asrs r4, r7, 7 | r4 = r7 >> 7;
0x0000417a movs r0, r0 |
0x0000417c lsrs r4, r6, 6 | r4 = r6 >> 6;
0x0000417e movs r0, r0 |
0x00004180 adds r6, r7, r7 | r6 = r7 + r7;
0x00004182 movs r0, r0 |
0x00004184 lsrs r2, r5, 7 | r2 = r5 >> 7;
0x00004186 movs r0, r0 |
0x00004188 lsrs r6, r3, 6 | r6 = r3 >> 6;
0x0000418a movs r0, r0 |
0x0000418c adds r0, r5, r7 | r0 = r5 + r7;
0x0000418e movs r0, r0 |
0x00004190 lsrs r0, r4, 0xb | r0 = r4 >> 0xb;
0x00004192 movs r0, r0 |
0x00004194 lsrs r2, r4, 0x1c | r2 = r4 >> 0x1c;
0x00004196 movs r0, r0 |
0x00004198 lsrs r4, r3, 0x1b | r4 = r3 >> 0x1b;
0x0000419a movs r0, r0 |
0x0000419c lsrs r2, r4, 3 | r2 = r4 >> 3;
0x0000419e movs r0, r0 |
0x000041a0 lsrs r2, r0, 0x1d | r2 = r0 >> 0x1d;
0x000041a2 movs r0, r0 |
0x000041a4 lsrs r4, r6, 4 | r4 = r6 >> 4;
0x000041a6 movs r0, r0 |
0x000041a8 adds r2, r1, r4 | r2 = r1 + r4;
0x000041aa movs r0, r0 |
0x000041ac lsrs r0, r2, 0x1a | r0 = r2 >> 0x1a;
0x000041ae movs r0, r0 |
0x000041b0 lsrs r6, r2, 2 | r6 = r2 >> 2;
0x000041b2 movs r0, r0 |
0x000041b4 lsrs r2, r0, 2 | r2 = r0 >> 2;
0x000041b6 movs r0, r0 |
0x000041b8 lsrs r4, r1, 0x1d | r4 = r1 >> 0x1d;
0x000041ba movs r0, r0 |
0x000041bc adds r0, r7, r2 | r0 = r7 + r2;
0x000041be movs r0, r0 |
0x000041c0 lsls r4, r5, 6 | r4 = r5 << 6;
0x000041c2 movs r0, r0 |
0x000041c4 lsls r3, r4, 0x1b | r3 = r4 << 0x1b;
0x000041c6 movs r0, r0 |
0x000041c8 lsrs r0, r6, 0x1a | r0 = r6 >> 0x1a;
0x000041ca movs r0, r0 |
0x000041cc lsrs r4, r7, 0x20 | r4 = r7 >> 0x20;
0x000041ce movs r0, r0 |
0x000041d0 lsrs r2, r5, 0x1b | r2 = r5 >> 0x1b;
0x000041d2 movs r0, r0 |
0x000041d4 adds r2, r6, r1 | r2 = r6 + r1;
0x000041d6 movs r0, r0 |
0x000041d8 lsrs r0, r0, 0x20 | r0 >>= 0x20;
0x000041da movs r0, r0 |
0x000041dc lsrs r6, r1, 0x1a | r6 = r1 >> 0x1a;
0x000041de movs r0, r0 |
0x000041e0 adds r6, r6, r0 | r6 += r0;
0x000041e2 movs r0, r0 |
0x000041e4 push.w {r4, r5, r6, r7, r8, sb, sl, lr} |
0x000041e8 mov r5, r2 | r5 = r2;
0x000041ea ldr r2, [pc, 0x314] |
0x000041ec mov r6, r0 | r6 = r0;
0x000041ee sub sp, 0xa0 |
0x000041f0 mov r4, r1 | r4 = r1;
0x000041f2 ldr r3, [pc, 0x310] | r3 = *(0x4506);
0x000041f4 add r2, pc | r2 = 0x86fa;
0x000041f6 ldr r3, [r2, r3] |
0x000041f8 ldr r3, [r3] | r3 = *(0x86fa);
0x000041fa str r3, [sp, 0x9c] | var_9ch = r3;
0x000041fc mov.w r3, 0 | r3 = 0;
0x00004200 blx 0x1d70 | fcn_00001d70 ();
0x00004204 cmp r6, 0 |
| if (r6 == 0) {
0x00004206 beq 0x4306 | goto label_43;
| }
0x00004208 cmp r4, 0 |
| if (r4 == 0) {
0x0000420a beq.w 0x4342 | goto label_44;
| }
0x0000420e ldr r7, [r4, 0x10] | r7 = *((r4 + 0x10));
| if (r7 != 0) {
0x00004210 cbz r7, 0x423c |
0x00004212 ldr r2, [pc, 0x2f4] |
0x00004214 ldr r3, [pc, 0x2ec] | r3 = *(0x4504);
0x00004216 add r2, pc | r2 = 0x8724;
0x00004218 ldr r3, [r2, r3] | r3 = *(0x8724);
0x0000421a ldr r2, [r3] | r2 = *(0x8724);
0x0000421c ldr r3, [sp, 0x9c] | r3 = var_9ch;
0x0000421e eors r2, r3 | r2 ^= r3;
0x00004220 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00004224 bne.w 0x44fc | goto label_45;
| }
0x00004228 ldr r2, [pc, 0x2e0] |
0x0000422a mov r0, r5 | r0 = r5;
0x0000422c ldr r1, [pc, 0x2e0] |
0x0000422e add r2, pc | r2 = 0x873e;
0x00004230 add r1, pc | r1 = 0x8744;
0x00004232 add sp, 0xa0 |
0x00004234 pop.w {r4, r5, r6, r7, r8, sb, sl, lr} |
0x00004238 b.w 0x1c64 | void (*0x1c64)() ();
| }
0x0000423c mov r1, r0 | r1 = r0;
0x0000423e mov r2, r6 | r2 = r6;
0x00004240 mov r0, r4 | r0 = r4;
0x00004242 bl 0x3c3c | r0 = fcn_00003c3c (r0, r1, r2, r3);
0x00004246 subs r1, r0, 0 | r1 = r0 - 0;
| if (r1 < r0) {
0x00004248 blt 0x431c | goto label_46;
| }
0x0000424a mov r0, r4 | r0 = r4;
0x0000424c bl 0x3170 | r0 = fcn_00003170 (r0);
0x00004250 cmp r0, 0 |
| if (r0 > 0) {
0x00004252 bgt 0x42dc | goto label_47;
| }
0x00004254 movs r0, 1 | r0 = 1;
0x00004256 blx 0x1d58 | fcn_00001d58 ();
0x0000425a strd r0, r1, [sp, 0x38] | __asm ("strd r0, r1, [sp, 0x38]");
0x0000425e add r3, sp, 0x2c | r3 += var_2ch;
0x00004260 ldr r1, [pc, 0x2b0] |
0x00004262 add r2, sp, 0x30 | r2 += var_30h_2;
0x00004264 str r3, [sp] | *(sp) = r3;
0x00004266 mov r0, r6 | r0 = r6;
0x00004268 add r3, sp, 0x28 | r3 += var_28h;
0x0000426a add r1, pc | r1 = 0x8782;
0x0000426c blx 0x1cbc | r0 = fcn_00001cbc ();
0x00004270 cmp r0, 0 |
| if (r0 < 0) {
0x00004272 blt 0x42c0 | goto label_9;
| }
0x00004274 ldr r1, [sp, 0x28] | r1 = var_28h;
0x00004276 ldr r2, [sp, 0x30] | r2 = var_30h_2;
0x00004278 ldr r3, [sp, 0x34] | r3 = var_34h_2;
0x0000427a cmp r1, 0 |
| if (r1 != 0) {
0x0000427c bne 0x4358 | goto label_48;
| }
0x0000427e cmp r2, 1 |
0x00004280 sbcs r1, r3, 0 | __asm ("sbcs r1, r3, 0");
| if (r2 < 1) {
0x00004284 blt.w 0x4464 | goto label_49;
| }
| do {
| label_10:
0x00004288 add r7, sp, 0x40 | r7 += var_40h;
0x0000428a mov r0, r7 | r0 = r7;
0x0000428c blx 0x1a54 | timespec_store ();
0x00004290 add.w r3, r4, 8 | r3 = r4 + 8;
0x00004294 ldr r2, [pc, 0x280] |
0x00004296 strd r3, r5, [sp, 8] | __asm ("strd r3, r5, [sp, 8]");
0x0000429a mov.w r3, -1 | r3 = -1;
0x0000429e str r3, [sp, 4] | var_4h_2 = r3;
0x000042a0 movs r1, 0x19 | r1 = 0x19;
0x000042a2 ldr r3, [sp, 0x2c] | r3 = var_2ch;
0x000042a4 add r2, pc | r2 = 0x87c0;
0x000042a6 mov r0, r6 | r0 = r6;
0x000042a8 subs r3, 0 |
0x000042aa it ne |
| if (r3 == 0) {
0x000042ac movne r3, 1 | r3 = 1;
| }
0x000042ae str r3, [sp] | *(sp) = r3;
0x000042b0 movs r3, 0 | r3 = 0;
0x000042b2 blx 0x1994 | r0 = bus_verify_polkit_async ();
0x000042b6 cmp r0, 0 |
| if (r0 >= 0) {
0x000042b8 blt 0x42c0 |
0x000042ba it eq |
| if (r0 != 0) {
0x000042bc moveq r0, 1 | r0 = 1;
| }
| if (r0 != 0) {
0x000042be bne 0x4396 | goto label_50;
| }
| }
| label_9:
0x000042c0 ldr r2, [pc, 0x258] |
0x000042c2 ldr r3, [pc, 0x240] | r3 = *(0x4506);
0x000042c4 add r2, pc | r2 = 0x87e4;
0x000042c6 ldr r3, [r2, r3] | r3 = *(0x87e4);
0x000042c8 ldr r2, [r3] | r2 = *(0x87e4);
0x000042ca ldr r3, [sp, 0x9c] | r3 = var_9ch;
0x000042cc eors r2, r3 | r2 ^= r3;
0x000042ce mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000042d2 bne.w 0x44fc | goto label_45;
| }
0x000042d6 add sp, 0xa0 |
0x000042d8 pop.w {r4, r5, r6, r7, r8, sb, sl, pc} |
| label_47:
0x000042dc ldr r2, [pc, 0x240] |
0x000042de ldr r3, [pc, 0x224] | r3 = *(0x4506);
0x000042e0 add r2, pc | r2 = 0x8804;
0x000042e2 ldr r3, [r2, r3] | r3 = *(0x8804);
0x000042e4 ldr r2, [r3] | r2 = *(0x8804);
0x000042e6 ldr r3, [sp, 0x9c] | r3 = var_9ch;
0x000042e8 eors r2, r3 | r2 ^= r3;
0x000042ea mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000042ee bne.w 0x44fc | goto label_45;
| }
0x000042f2 ldr r2, [pc, 0x230] |
0x000042f4 mov r0, r5 | r0 = r5;
0x000042f6 ldr r1, [pc, 0x230] |
0x000042f8 add r2, pc | r2 = 0x8822;
0x000042fa add r1, pc | r1 = 0x8828;
0x000042fc add sp, 0xa0 |
0x000042fe pop.w {r4, r5, r6, r7, r8, sb, sl, lr} |
0x00004302 b.w 0x1c64 | void (*0x1c64)() ();
| label_43:
0x00004306 ldr r1, [pc, 0x224] |
0x00004308 movw r2, 0x343 | r2 = 0x343;
0x0000430c ldr r3, [pc, 0x220] |
0x0000430e ldr r0, [pc, 0x224] |
0x00004310 add r1, pc | r1 = 0x8842;
0x00004312 add r3, pc | r3 = 0x8846;
0x00004314 adds r1, 7 | r1 += 7;
0x00004316 add r0, pc | r0 = 0x8850;
0x00004318 blx 0x19ac | log_assert_failed ();
| label_46:
0x0000431c ldr r2, [pc, 0x218] |
0x0000431e ldr r3, [pc, 0x1e4] | r3 = *(0x4506);
0x00004320 add r2, pc | r2 = 0x885c;
0x00004322 ldr r3, [r2, r3] | r3 = *(0x885c);
0x00004324 ldr r2, [r3] | r2 = *(0x885c);
0x00004326 ldr r3, [sp, 0x9c] | r3 = var_9ch;
0x00004328 eors r2, r3 | r2 ^= r3;
0x0000432a mov.w r3, 0 | r3 = 0;
0x0000432c lsls r0, r0, 0xc | r0 <<= 0xc;
| if (r0 != r0) {
0x0000432e bne.w 0x44fc | goto label_45;
| }
0x00004332 ldr r2, [pc, 0x208] |
0x00004334 mov r0, r5 | r0 = r5;
0x00004336 add r2, pc | r2 = 0x8878;
0x00004338 add sp, 0xa0 |
0x0000433a pop.w {r4, r5, r6, r7, r8, sb, sl, lr} |
0x0000433e b.w 0x1db8 | goto label_8;
| label_44:
0x00004342 ldr r1, [pc, 0x1fc] |
0x00004344 mov.w r2, 0x344 | r2 = 0x344;
0x00004348 ldr r3, [pc, 0x1f8] |
0x0000434a ldr r0, [pc, 0x1fc] |
0x0000434c add r1, pc | r1 = 0x8892;
0x0000434e add r3, pc | r3 = 0x8896;
0x00004350 adds r1, 7 | r1 += 7;
0x00004352 add r0, pc | r0 = 0x88a0;
0x00004354 blx 0x19ac | log_assert_failed ();
| label_48:
0x00004358 orrs r2, r3 | r2 |= r3;
| if (r2 == r3) {
0x0000435a beq 0x445a | goto label_51;
| }
0x0000435c mov r0, r7 | r0 = r7;
0x0000435e mov.w r8, 0 | r8 = 0;
0x00004362 blx 0x1d58 | fcn_00001d58 ();
0x00004366 ldrd r7, ip, [sp, 0x30] | __asm ("ldrd r7, ip, [var_30h_2]");
0x0000436a mov lr, r8 | lr = r8;
0x0000436c adds r2, r7, r0 | r2 = r7 + r0;
0x0000436e adcs.w r3, ip, r1 | __asm ("adcs.w r3, ip, r1");
0x00004372 it hs |
| if (r2 < r7) {
0x00004374 movhs r8, 1 | r8 = 1;
| }
0x00004378 cmp r7, 1 |
0x0000437a sbcs sb, ip, 0 | __asm ("sbcs sb, ip, 0");
| if (r7 < 1) {
0x0000437e blt 0x4474 | goto label_52;
| }
0x00004380 orrs.w lr, lr, r8 | lr |= r8;
0x00004384 beq 0x4288 |
| } while (lr == lr);
| label_11:
0x00004386 ldr r2, [pc, 0x1c4] |
0x00004388 mov r0, r5 | r0 = r5;
0x0000438a ldr r1, [pc, 0x1c4] |
0x0000438c add r2, pc | r2 = 0x88de;
0x0000438e add r1, pc | r1 = 0x88e4;
0x00004390 blx 0x1c68 | fcn_00001c68 ();
0x00004394 b 0x42c0 | goto label_9;
| label_50:
0x00004396 add r1, sp, 0x38 | r1 += var_38h;
0x00004398 mov r0, r6 | r0 = r6;
0x0000439a blx 0x1c74 | r0 = fcn_00001c74 ();
0x0000439e adds.w sb, r0, 0x3d | sb = r0 + 0x3d;
0x000043a2 it ne |
| if (sb == r0) {
0x000043a4 movne sb, 1 | sb = 1;
| }
0x000043a8 ands.w sb, sb, r0, lsr 31 | sb &= (r0 >> 31);
| if (sb != sb) {
0x000043ac bne 0x42c0 | goto label_9;
| }
0x000043ae mov r0, r7 | r0 = r7;
0x000043b0 blx 0x1a3c | r0 = timespec_load ();
0x000043b4 mov r8, r0 | r8 = r0;
0x000043b6 movs r0, 1 | r0 = 1;
0x000043b8 mov sl, r1 | sl = r1;
0x000043ba blx 0x1d58 | fcn_00001d58 ();
0x000043be ldr r3, [sp, 0x38] | r3 = var_38h;
0x000043c0 adds.w r8, r8, r0 | r8 += r0;
0x000043c4 adc.w sl, sl, r1 | __asm ("adc.w sl, sl, r1");
0x000043c8 mov r0, r7 | r0 = r7;
0x000043ca subs.w r2, r8, r3 | r2 = r8 - r3;
0x000043ce ldr r3, [sp, 0x3c] | r3 = var_3ch_2;
0x000043d0 sbc.w r3, sl, r3 | __asm ("sbc.w r3, sl, r3");
0x000043d4 blx 0x1a54 | timespec_store ();
0x000043d8 mov r1, r7 | r1 = r7;
0x000043da mov r0, sb | r0 = sb;
0x000043dc blx 0x1b14 | r0 = clock_settime ();
0x000043e0 cmp r0, 0 |
| if (r0 < 0) {
0x000043e2 blt 0x4492 | goto label_53;
| }
0x000043e4 ldrb r2, [r4, 4] | r2 = *((r4 + 4));
0x000043e6 add r4, sp, 0x48 | r4 += var_48h;
0x000043e8 mov r1, r4 | r1 = r4;
0x000043ea mov r0, r7 | r0 = r7;
0x000043ec eor r2, r2, 1 | r2 ^= 1;
0x000043f0 blx 0x19d0 | localtime_or_gmtime_r ();
0x000043f4 mov r0, r4 | r0 = r4;
0x000043f6 blx 0x1b2c | r0 = clock_set_hwclock ();
0x000043fa subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x000043fc blt 0x44ae | goto label_54;
| }
| label_12:
0x000043fe mov r0, r7 | r0 = r7;
0x00004400 blx 0x1a3c | timespec_load ();
0x00004404 movs r3, 0 | r3 = 0;
0x00004406 mov r5, r0 | r5 = r0;
0x00004408 mov r4, r1 | r4 = r1;
0x0000440a mov r2, r0 | r2 = r0;
0x0000440c str r3, [sp] | *(sp) = r3;
0x0000440e add r0, sp, 0x74 | r0 += var_74h;
0x00004410 mov r3, r1 | r3 = r1;
0x00004412 movs r1, 0x26 | r1 = 0x26;
0x00004414 blx 0x19e8 | format_timestamp_style ();
0x00004416 invalid |
| if (r1 == 0x26) {
0x0000441a beq 0x44d6 | goto label_55;
| }
| label_13:
0x0000441c ldr r3, [pc, 0x134] |
0x0000441e str r0, [sp, 0x1c] | var_1ch = r0;
0x00004420 ldr r2, [pc, 0x134] |
0x00004422 add r3, pc | r3 = 0x897a;
0x00004424 ldr r1, [pc, 0x134] |
0x00004426 str r3, [sp, 8] | var_18h_2 = r3;
0x00004428 ldr r0, [pc, 0x134] |
0x0000442a add r2, pc | r2 = 0x8986;
0x0000442c ldr r3, [pc, 0x134] |
0x0000442e add r1, pc | r1 = 0x898e;
0x00004430 str r5, [sp, 0x10] | var_10h_3 = r5;
0x00004432 movs r5, 0 | r5 = 0;
0x00004434 add r0, pc | r0 = 0x8998;
0x00004436 adds r2, 7 | r2 += 7;
0x00004438 add r3, pc | r3 = 0x89a0;
0x0000443a str r0, [sp, 0x18] | var_18h_4 = r0;
0x0000443c strd r3, r1, [sp] | __asm ("strd r3, r1, [sp]");
0x00004440 movs r0, 6 | r0 = 6;
0x00004442 mov r1, r5 | r1 = r5;
0x00004444 movw r3, 0x38e | r3 = 0x38e;
0x00004448 str r4, [sp, 0x14] | var_14h_2 = r4;
0x0000444a str r5, [sp, 0x20] | var_20h_2 = r5;
0x0000444c blx 0x1d1c | fcn_00001d1c ();
0x00004450 mov r1, r5 | r1 = r5;
0x00004452 mov r0, r6 | r0 = r6;
0x00004454 blx 0x1b5c | sd_bus_reply_method_return ();
0x00004458 b 0x42c0 | goto label_9;
| label_51:
0x0000445a mov r1, r7 | r1 = r7;
0x0000445c mov r0, r6 | r0 = r6;
0x0000445e blx 0x1b5c | sd_bus_reply_method_return ();
0x00004462 b 0x42c0 | goto label_9;
| label_49:
0x00004464 ldr r2, [pc, 0x100] |
0x00004466 mov r0, r5 | r0 = r5;
0x00004468 ldr r1, [pc, 0x100] |
0x0000446a add r2, pc | r2 = 0x89d6;
0x0000446c add r1, pc | r1 = 0x89dc;
0x0000446e blx 0x1c68 | fcn_00001c68 ();
0x00004472 b 0x42c0 | goto label_9;
| label_52:
0x00004474 cmp r0, r2 |
0x00004476 sbcs r1, r3 | __asm ("sbcs r1, r3");
0x00004478 ite lo |
| if (r0 >= r2) {
0x0000447a movlo r1, 1 | r1 = 1;
| }
| if (r0 < r2) {
0x0000447c movhs r1, 0 | r1 = 0;
| }
0x0000447e orrs.w r7, r7, ip | r7 |= ip;
0x00004482 and r1, r1, 1 | r1 &= 1;
0x00004486 it eq |
| if (r7 != r7) {
0x00004488 moveq r1, 0 | r1 = 0;
| }
0x0000448a cmp r1, 0 |
| if (r1 == 0) {
0x0000448c beq.w 0x4288 | goto label_10;
| }
0x00004490 b 0x4386 | goto label_11;
| label_53:
0x00004492 blx 0x1dac | r0 = fcn_00001dac ();
0x00004496 mov r4, r0 | r4 = r0;
0x00004498 blx 0x1ab4 | r0 = log_get_max_level ();
0x0000449c cmp r0, 2 |
0x0000449e ldr r1, [r4] | r1 = *(r4);
| if (r0 > 2) {
0x000044a0 bgt 0x44dc | goto label_56;
| }
| label_14:
0x000044a2 ldr r2, [pc, 0xcc] |
0x000044a4 mov r0, r5 | r0 = r5;
0x000044a6 add r2, pc | r2 = 0x8a1c;
0x000044a8 blx 0x1dbc | fcn_00001dbc ();
0x000044ac b 0x42c0 | goto label_9;
| label_54:
0x000044ae blx 0x1ab4 | r0 = log_get_max_level ();
0x000044b2 cmp r0, 6 |
| if (r0 <= 6) {
0x000044b4 ble 0x43fe | goto label_12;
| }
0x000044b6 ldr r3, [pc, 0xbc] |
0x000044b8 mov r1, r4 | r1 = r4;
0x000044ba ldr r2, [pc, 0xbc] |
0x000044bc movs r0, 7 | r0 = 7;
0x000044be add r3, pc | r3 = 0x8a38;
0x000044c0 str r3, [sp, 4] | var_4h_2 = r3;
0x000044c2 add r2, pc | r2 = 0x8a40;
0x000044c4 ldr r3, [pc, 0xb4] |
0x000044c6 adds r2, 7 | r2 += 7;
0x000044c8 add r3, pc | r3 = 0x8a48;
0x000044ca str r3, [sp] | *(sp) = r3;
0x000044cc mov.w r3, 0x38c | r3 = 0x38c;
0x000044d0 blx 0x1bb0 | log_internal ();
0x000044d4 b 0x43fe | goto label_12;
| label_55:
0x000044d6 ldr r0, [pc, 0xa8] |
0x000044d8 add r0, pc | r0 = 0x8a5e;
0x000044da b 0x441c | goto label_13;
| label_56:
0x000044dc ldr r3, [pc, 0xa4] |
0x000044de movs r0, 3 | r0 = 3;
0x000044e0 ldr r2, [pc, 0xa4] |
0x000044e2 add r3, pc | r3 = 0x8a6a;
0x000044e4 str r3, [sp, 4] | var_4h_2 = r3;
0x000044e6 add r2, pc | r2 = 0x8a72;
0x000044e8 ldr r3, [pc, 0xa0] |
0x000044ea adds r2, 7 | r2 += 7;
0x000044ec add r3, pc | r3 = 0x8a7c;
0x000044ee str r3, [sp] | *(sp) = r3;
0x000044f0 movw r3, 0x383 | r3 = 0x383;
0x000044f4 blx 0x1bb0 | log_internal ();
0x000044f8 ldr r1, [r4] | r1 = *(r4);
0x000044fa b 0x44a2 | goto label_14;
| label_45:
0x000044fc blx 0x1bd4 | stack_chk_fail ();
0x00004500 cmp r4, 0x20 |
0x00004502 movs r0, r0 |
0x00004504 lsls r0, r6, 6 | r0 = r6 << 6;
0x00004506 movs r0, r0 |
0x00004508 cmp r3, 0xfe |
0x0000450a movs r0, r0 |
0x0000450c lsrs r2, r3, 0x17 | r2 = r3 >> 0x17;
0x0000450e movs r0, r0 |
0x00004510 lsrs r4, r0, 0x18 | r4 = r0 >> 0x18;
0x00004512 movs r0, r0 |
0x00004514 lsrs r2, r1, 0x19 | r2 = r1 >> 0x19;
0x00004516 movs r0, r0 |
0x00004518 lsrs r0, r0, 0x19 | r0 >>= 0x19;
0x0000451a movs r0, r0 |
0x0000451c cmp r3, 0x50 |
0x0000451e movs r0, r0 |
0x00004520 cmp r3, 0x34 |
0x00004522 movs r0, r0 |
0x00004524 lsrs r0, r2, 0x16 | r0 = r2 >> 0x16;
0x00004526 movs r0, r0 |
0x00004528 lsrs r2, r7, 0x14 | r2 = r7 >> 0x14;
0x0000452a movs r0, r0 |
0x0000452c lsls r4, r1, 0x18 | r4 = r1 << 0x18;
0x0000452e movs r0, r0 |
0x00004530 asrs r2, r1, 0x14 | r2 = r1 >> 0x14;
0x00004532 movs r0, r0 |
0x00004534 lsrs r6, r7, 0x18 | r6 = r7 >> 0x18;
0x00004536 movs r0, r0 |
0x00004538 cmp r2, 0xf4 |
0x0000453a movs r0, r0 |
0x0000453c lsrs r2, r6, 0x14 | r2 = r6 >> 0x14;
0x0000453e movs r0, r0 |
0x00004540 lsls r0, r2, 0x17 | r0 = r2 << 0x17;
0x00004542 movs r0, r0 |
0x00004544 asrs r6, r1, 0x13 | r6 = r1 >> 0x13;
0x00004546 movs r0, r0 |
0x00004548 lsls r2, r2, 0x1c | r2 <<= 0x1c;
0x0000454a movs r0, r0 |
0x0000454c lsrs r4, r0, 0x15 | r4 = r0 >> 0x15;
0x0000454e movs r0, r0 |
0x00004550 lsls r6, r0, 0x1c | r6 = r0 << 0x1c;
0x00004552 movs r0, r0 |
0x00004554 lsrs r2, r3, 0x15 | r2 = r3 >> 0x15;
0x00004556 movs r0, r0 |
0x00004558 lsls r2, r6, 0x13 | r2 = r6 << 0x13;
0x0000455a movs r0, r0 |
0x0000455c lsrs r6, r3, 0x15 | r6 = r3 >> 0x15;
0x0000455e movs r0, r0 |
0x00004560 lsrs r4, r4, 0x14 | r4 >>= 0x14;
0x00004562 movs r0, r0 |
0x00004564 asrs r4, r2, 0xf | r4 = r2 >> 0xf;
0x00004566 movs r0, r0 |
0x00004568 lsrs r6, r1, 0x11 | r6 = r1 >> 0x11;
0x0000456a movs r0, r0 |
0x0000456c lsls r0, r5, 0x18 | r0 = r5 << 0x18;
0x0000456e movs r0, r0 |
0x00004570 lsrs r2, r4, 0x11 | r2 = r4 >> 0x11;
0x00004572 movs r0, r0 |
0x00004574 lsrs r2, r5, 0x11 | r2 = r5 >> 0x11;
0x00004576 movs r0, r0 |
0x00004578 lsls r2, r3, 0x11 | r2 = r3 << 0x11;
0x0000457a movs r0, r0 |
0x0000457c asrs r4, r0, 0xd | r4 = r0 >> 0xd;
0x0000457e movs r0, r0 |
0x00004580 lsrs r0, r5, 0xc | r0 = r5 >> 0xc;
0x00004582 movs r0, r0 |
0x00004584 lsrs r6, r4, 0x10 | r6 = r4 >> 0x10;
0x00004586 movs r0, r0 |
0x00004588 lsls r6, r6, 0x10 | r6 <<= 0x10;
0x0000458a movs r0, r0 |
0x0000458c asrs r0, r4, 0xc | r0 = r4 >> 0xc;
0x0000458e movs r0, r0 |
0x00004590 push {r3, r4, r5, lr} |
0x00004592 ldrd r5, r4, [sp, 0x10] | __asm ("ldrd r5, r4, [var_10h]");
0x00004596 ldr r2, [sp, 0x18] | r2 = var_18h_2;
| if (r4 != 0) {
0x00004598 cbz r4, 0x45ea |
| if (r0 == 0) {
0x0000459a cbz r0, 0x4600 | goto label_57;
| }
0x0000459c cmp r3, 0 |
| if (r3 == 0) {
0x0000459e beq 0x4616 | goto label_58;
| }
0x000045a0 cmp r5, 0 |
| if (r5 == 0) {
0x000045a2 beq 0x462c | goto label_59;
| }
0x000045a4 cmp r2, 0 |
| if (r2 == 0) {
0x000045a6 beq 0x4642 | goto label_60;
| }
0x000045a8 ldr r3, [r4, 0x10] | r3 = *((r4 + 0x10));
| if (r3 != 0) {
0x000045aa cbz r3, 0x45bc |
0x000045ac ldr r1, [pc, 0xa8] |
0x000045ae mov r0, r5 | r0 = r5;
0x000045b0 movs r2, 1 | r2 = 1;
0x000045b2 pop.w {r3, r4, r5, lr} |
0x000045b6 add r1, pc | r1 = 0x8c12;
0x000045b8 b.w 0x1df8 | goto label_15;
| }
0x000045bc mov r1, r0 | r1 = r0;
0x000045be mov r2, r5 | r2 = r5;
0x000045c0 mov r0, r4 | r0 = r4;
0x000045c2 bl 0x3c3c | r0 = fcn_00003c3c (r0, r1, r2, r3);
0x000045c6 cmp r0, 0 |
| if (r0 >= 0) {
0x000045c8 blt 0x45e8 |
0x000045ca mov r0, r4 | r0 = r4;
0x000045cc bl 0x3170 | fcn_00003170 (r0);
0x000045d0 ldr r1, [pc, 0x88] |
0x000045d2 cmp r0, 0 |
0x000045d4 it le |
| if (r0 > 0) {
0x000045d6 movle r2, 0 | r2 = 0;
| }
0x000045d8 mov r0, r5 | r0 = r5;
0x000045da it gt |
| if (r0 <= 0) {
0x000045dc movgt r2, 1 | r2 = 1;
| }
0x000045de pop.w {r3, r4, r5, lr} |
0x000045e2 add r1, pc | r1 = 0x8c42;
0x000045e4 b.w 0x1df8 | goto label_15;
| }
0x000045e8 pop {r3, r4, r5, pc} |
| }
0x000045ea ldr r1, [pc, 0x74] |
0x000045ec movw r2, 0x283 | r2 = 0x283;
0x000045f0 ldr r3, [pc, 0x70] |
0x000045f2 ldr r0, [pc, 0x74] |
0x000045f4 add r1, pc | r1 = 0x8c5a;
0x000045f6 add r3, pc | r3 = 0x8c5e;
0x000045f8 adds r1, 7 | r1 += 7;
0x000045fa add r0, pc | r0 = 0x8c68;
0x000045fc blx 0x19ac | log_assert_failed ();
| label_57:
0x00004600 ldr r1, [pc, 0x68] |
0x00004602 mov.w r2, 0x284 | r2 = 0x284;
0x00004606 ldr r3, [pc, 0x68] |
0x00004608 ldr r0, [pc, 0x68] |
0x0000460a add r1, pc | r1 = 0x8c7a;
0x0000460c add r3, pc | r3 = 0x8c82;
0x0000460e adds r1, 7 | r1 += 7;
0x00004610 add r0, pc | r0 = 0x8c88;
0x00004612 blx 0x19ac | log_assert_failed ();
| label_58:
0x00004616 ldr r1, [pc, 0x60] |
0x00004618 movw r2, 0x285 | r2 = 0x285;
0x0000461c ldr r3, [pc, 0x5c] |
0x0000461e ldr r0, [pc, 0x60] |
0x00004620 add r1, pc | r1 = 0x8c9e;
0x00004622 add r3, pc | r3 = 0x8ca2;
0x00004624 adds r1, 7 | r1 += 7;
0x00004626 add r0, pc | r0 = 0x8cac;
0x00004628 blx 0x19ac | log_assert_failed ();
| label_59:
0x0000462c ldr r1, [pc, 0x54] |
0x0000462e movw r2, 0x286 | r2 = 0x286;
0x00004632 ldr r3, [pc, 0x54] |
0x00004634 ldr r0, [pc, 0x54] |
0x00004636 add r1, pc | r1 = 0x8cbe;
0x00004638 add r3, pc | r3 = 0x8cc6;
0x0000463a adds r1, 7 | r1 += 7;
0x0000463c add r0, pc | r0 = 0x8ccc;
0x0000463e blx 0x19ac | log_assert_failed ();
| label_60:
0x00004642 ldr r1, [pc, 0x4c] |
0x00004644 movw r2, 0x287 | r2 = 0x287;
0x00004648 ldr r3, [pc, 0x48] |
0x0000464a ldr r0, [pc, 0x4c] |
0x0000464c add r1, pc | r1 = 0x8ce2;
0x0000464e add r3, pc | r3 = 0x8ce6;
0x00004650 adds r1, 7 | r1 += 7;
0x00004652 add r0, pc | r0 = 0x8cf0;
0x00004654 blx 0x19ac | r0 = log_assert_failed ();
0x00004658 lsls r6, r0, 0x1f | r6 = r0 << 0x1f;
0x0000465a movs r0, r0 |
0x0000465c lsls r2, r3, 0x1e | r2 = r3 << 0x1e;
0x0000465e movs r0, r0 |
0x00004660 lsls r0, r5, 0xc | r0 = r5 << 0xc;
0x00004662 movs r0, r0 |
0x00004664 asrs r6, r3, 6 | r6 = r3 >> 6;
0x00004666 movs r0, r0 |
0x00004668 lsls r2, r5, 0x11 | r2 = r5 << 0x11;
0x0000466a movs r0, r0 |
0x0000466c lsls r2, r2, 0xc | r2 <<= 0xc;
0x0000466e movs r0, r0 |
0x00004670 asrs r0, r1, 6 | r0 = r1 >> 6;
0x00004672 movs r0, r0 |
0x00004674 lsls r0, r1, 0xd | r0 = r1 << 0xd;
0x00004676 movs r0, r0 |
0x00004678 lsls r4, r7, 0xb | r4 = r7 << 0xb;
0x0000467a movs r0, r0 |
0x0000467c asrs r2, r6, 5 | r2 = r6 >> 5;
0x0000467e movs r0, r0 |
0x00004680 lsrs r2, r2, 0xe | r2 >>= 0xe;
0x00004682 movs r0, r0 |
0x00004684 lsls r6, r4, 0xb | r6 = r4 << 0xb;
0x00004686 movs r0, r0 |
0x00004688 asrs r4, r3, 5 | r4 = r3 >> 5;
0x0000468a movs r0, r0 |
0x0000468c lsls r0, r7, 0x1c | r0 = r7 << 0x1c;
0x0000468e movs r0, r0 |
0x00004690 lsls r0, r2, 0xb | r0 = r2 << 0xb;
0x00004692 movs r0, r0 |
0x00004694 asrs r6, r0, 5 | r6 = r0 >> 5;
0x00004696 movs r0, r0 |
0x00004698 lsls r2, r1, 0xc | r2 = r1 << 0xc;
0x0000469a movs r0, r0 |
0x0000469c push {r3, r4, r5, lr} |
0x0000469e ldrd r5, r4, [sp, 0x10] | __asm ("ldrd r5, r4, [var_10h_2]");
0x000046a2 ldr r2, [sp, 0x18] | r2 = var_18h_3;
| if (r4 != 0) {
0x000046a4 cbz r4, 0x46f6 |
| if (r0 == 0) {
0x000046a6 cbz r0, 0x470c | goto label_61;
| }
0x000046a8 cmp r3, 0 |
| if (r3 == 0) {
0x000046aa beq 0x4722 | goto label_62;
| }
0x000046ac cmp r5, 0 |
| if (r5 == 0) {
0x000046ae beq 0x4738 | goto label_63;
| }
0x000046b0 cmp r2, 0 |
| if (r2 == 0) {
0x000046b2 beq 0x474e | goto label_64;
| }
0x000046b4 ldr r3, [r4, 0x10] | r3 = *((r4 + 0x10));
| if (r3 != 0) {
0x000046b6 cbz r3, 0x46c8 |
0x000046b8 ldr r1, [pc, 0xa8] |
0x000046ba mov r0, r5 | r0 = r5;
0x000046bc movs r2, 1 | r2 = 1;
0x000046be pop.w {r3, r4, r5, lr} |
0x000046c2 add r1, pc | r1 = 0x8e2a;
0x000046c4 b.w 0x1df8 | goto label_15;
| }
0x000046c8 mov r1, r0 | r1 = r0;
0x000046ca mov r2, r5 | r2 = r5;
0x000046cc mov r0, r4 | r0 = r4;
0x000046ce bl 0x3c3c | r0 = fcn_00003c3c (r0, r1, r2, r3);
0x000046d2 cmp r0, 0 |
| if (r0 >= 0) {
0x000046d4 blt 0x46f4 |
0x000046d6 mov r0, r4 | r0 = r4;
0x000046d8 bl 0x3be0 | fcn_00003be0 (r0);
0x000046dc ldr r1, [pc, 0x88] |
0x000046de cmp r0, 0 |
0x000046e0 it le |
| if (r0 > 0) {
0x000046e2 movle r2, 0 | r2 = 0;
| }
0x000046e4 mov r0, r5 | r0 = r5;
0x000046e6 it gt |
| if (r0 <= 0) {
0x000046e8 movgt r2, 1 | r2 = 1;
| }
0x000046ea pop.w {r3, r4, r5, lr} |
0x000046ee add r1, pc | r1 = 0x8e5a;
0x000046f0 b.w 0x1df8 | goto label_15;
| }
0x000046f4 pop {r3, r4, r5, pc} |
| }
0x000046f6 ldr r1, [pc, 0x74] |
0x000046f8 movw r2, 0x266 | r2 = 0x266;
0x000046fc ldr r3, [pc, 0x70] |
0x000046fe ldr r0, [pc, 0x74] |
0x00004700 add r1, pc | r1 = 0x8e72;
0x00004702 add r3, pc | r3 = 0x8e76;
0x00004704 adds r1, 7 | r1 += 7;
0x00004706 add r0, pc | r0 = 0x8e80;
0x00004708 blx 0x19ac | log_assert_failed ();
| label_61:
0x0000470c ldr r1, [pc, 0x68] |
0x0000470e movw r2, 0x267 | r2 = 0x267;
0x00004712 ldr r3, [pc, 0x68] |
0x00004714 ldr r0, [pc, 0x68] |
0x00004716 add r1, pc | r1 = 0x8e92;
0x00004718 add r3, pc | r3 = 0x8e9a;
0x0000471a adds r1, 7 | r1 += 7;
0x0000471c add r0, pc | r0 = 0x8ea0;
0x0000471e blx 0x19ac | log_assert_failed ();
| label_62:
0x00004722 ldr r1, [pc, 0x60] |
0x00004724 mov.w r2, 0x268 | r2 = 0x268;
0x00004728 ldr r3, [pc, 0x5c] |
0x0000472a ldr r0, [pc, 0x60] |
0x0000472c add r1, pc | r1 = 0x8eb6;
0x0000472e add r3, pc | r3 = 0x8eba;
0x00004730 adds r1, 7 | r1 += 7;
0x00004732 add r0, pc | r0 = 0x8ec4;
0x00004734 blx 0x19ac | log_assert_failed ();
| label_63:
0x00004738 ldr r1, [pc, 0x54] |
0x0000473a movw r2, 0x269 | r2 = 0x269;
0x0000473e ldr r3, [pc, 0x54] |
0x00004740 ldr r0, [pc, 0x54] |
0x00004742 add r1, pc | r1 = 0x8ed6;
0x00004744 add r3, pc | r3 = 0x8ede;
0x00004746 adds r1, 7 | r1 += 7;
0x00004748 add r0, pc | r0 = 0x8ee4;
0x0000474a blx 0x19ac | log_assert_failed ();
| label_64:
0x0000474e ldr r1, [pc, 0x4c] |
0x00004750 movw r2, 0x26a | r2 = 0x26a;
0x00004754 ldr r3, [pc, 0x48] |
0x00004756 ldr r0, [pc, 0x4c] |
0x00004758 add r1, pc | r1 = 0x8efa;
0x0000475a add r3, pc | r3 = 0x8efe;
0x0000475c adds r1, 7 | r1 += 7;
0x0000475e add r0, pc | r0 = 0x8f08;
0x00004760 blx 0x19ac | log_assert_failed ();
0x00004764 lsls r2, r7, 0x1a | r2 = r7 << 0x1a;
0x00004766 movs r0, r0 |
0x00004768 lsls r6, r1, 0x1a | r6 = r1 << 0x1a;
0x0000476a movs r0, r0 |
0x0000476c lsls r4, r3, 8 | r4 = r3 << 8;
0x0000476e movs r0, r0 |
0x00004770 asrs r2, r7, 1 | r2 = r7 >> 1;
0x00004772 movs r0, r0 |
0x00004774 lsls r6, r3, 0xd | r6 = r3 << 0xd;
0x00004776 movs r0, r0 |
0x00004778 lsls r6, r0, 8 | r6 = r0 << 8;
0x0000477a movs r0, r0 |
0x0000477c asrs r4, r4, 1 | r4 >>= 1;
0x0000477e movs r0, r0 |
0x00004780 lsls r4, r7, 8 | r4 = r7 << 8;
0x00004782 movs r0, r0 |
0x00004784 lsls r0, r6, 7 | r0 = r6 << 7;
0x00004786 movs r0, r0 |
0x00004788 asrs r6, r1, 1 | r6 = r1 >> 1;
0x0000478a movs r0, r0 |
0x0000478c lsrs r6, r0, 0xa | r6 = r0 >> 0xa;
0x0000478e movs r0, r0 |
0x00004790 lsls r2, r3, 7 | r2 = r3 << 7;
0x00004792 movs r0, r0 |
0x00004794 asrs r0, r7, 0x20 | r0 = r7 >> 0x20;
0x00004796 movs r0, r0 |
0x00004798 lsls r4, r5, 0x18 | r4 = r5 << 0x18;
0x0000479a movs r0, r0 |
0x0000479c lsls r4, r0, 7 | r4 = r0 << 7;
0x0000479e movs r0, r0 |
0x000047a0 asrs r2, r4, 0x20 | r2 = r4 >> 0x20;
0x000047a2 movs r0, r0 |
0x000047a4 lsls r6, r7, 7 | r6 = r7 << 7;
0x000047a6 movs r0, r0 |
0x000047a8 ldr r2, [pc, 0x11c] |
0x000047aa ldr r3, [pc, 0x120] | r3 = *(0x48ce);
0x000047ac push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x000047b0 sub sp, 0x14 |
0x000047b2 add r2, pc | r2 = 0x907e;
0x000047b4 ldr r3, [r2, r3] |
0x000047b6 ldr r3, [r3] | r3 = *(0x907e);
0x000047b8 str r3, [sp, 0xc] | var_ch = r3;
0x000047ba mov.w r3, 0 | r3 = 0;
0x000047be cmp r1, 0 |
| if (r1 == 0) {
0x000047c0 beq 0x4898 | goto label_65;
| }
0x000047c2 mov sb, r0 | sb = r0;
0x000047c4 cmp r0, 0 |
| if (r0 == 0) {
0x000047c6 beq 0x48ae | goto label_66;
| }
0x000047c8 mov r8, r1 | r8 = r1;
0x000047ca ldr r1, [pc, 0x104] |
0x000047cc movs r7, 0 | r7 = 0;
0x000047ce add r3, sp, 8 | r3 += var_8h_2;
0x000047d0 mov r2, r7 | r2 = r7;
0x000047d2 strd r7, r7, [sp] | __asm ("strd r7, r7, [sp]");
0x000047d6 add r1, pc | r1 = 0x90ac;
0x000047d8 blx 0x1cbc | r0 = fcn_00001cbc ();
0x000047dc subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x000047de blt 0x4848 | goto label_67;
| }
0x000047e0 ldr.w r4, [r8, 0x14] | r4 = *((r8 + 0x14));
0x000047e4 mov sl, r7 | sl = r7;
0x000047e6 cmp r4, 0 |
| if (r4 == 0) {
0x000047e8 beq 0x4870 | goto label_68;
| }
| do {
| label_17:
0x000047ea ldr r5, [r4, 0x10] | r5 = *((r4 + 0x10));
0x000047ec mov fp, r4 |
0x000047ee ldr r0, [sp, 8] | r0 = var_8h_2;
0x000047f0 ldr r4, [r4, 0x14] | r4 = *((r4 + 0x14));
0x000047f2 subs r6, r5, 0 | r6 = r5 - 0;
0x000047f4 it ne |
| if (r6 == r5) {
0x000047f6 movne r6, 1 | r6 = 1;
| }
0x000047f8 cmp r0, 0 |
0x000047fa ite eq |
| if (r0 != 0) {
0x000047fc moveq r3, 0 | r3 = 0;
| }
| if (r0 == 0) {
0x000047fe andne r3, r6, 1 | r3 = r6 & 1;
| }
| if (r3 != 0) {
0x00004802 cbnz r3, 0x482e | goto label_69;
| }
0x00004804 cmp r0, r5 |
| if (r0 > r5) {
0x00004806 blo 0x480a |
| if (r0 == r5) {
0x00004808 beq 0x4838 | goto label_70;
| }
| }
| label_16:
0x0000480a add r7, r6 | r7 += r6;
0x0000480c cmp r4, 0 |
0x0000480e bne 0x47ea |
| } while (r4 != 0);
| if (r7 == 0) {
| label_18:
0x00004810 cbz r7, 0x4870 | goto label_68;
| }
| label_19:
0x00004812 ldr r2, [pc, 0xc0] |
0x00004814 ldr r3, [pc, 0xb4] | r3 = *(0x48cc);
0x00004816 add r2, pc | r2 = 0x90f0;
0x00004818 ldr r3, [r2, r3] | r3 = *(0x90f0);
0x0000481a ldr r2, [r3] | r2 = *(0x90f0);
0x0000481c ldr r3, [sp, 0xc] | r3 = var_ch;
0x0000481e eors r2, r3 | r2 ^= r3;
0x00004820 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00004824 bne 0x48c4 | goto label_71;
| }
0x00004826 movs r0, 0 | r0 = 0;
0x00004828 add sp, 0x14 |
0x0000482a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_69:
0x0000482e mov r1, r5 | r1 = r5;
0x00004830 blx 0x1d94 | r0 = fcn_00001d94 ();
0x00004834 cmp r0, 0 |
| if (r0 != 0) {
0x00004836 bne 0x480a | goto label_16;
| }
| label_70:
0x00004838 mov r0, r5 | r0 = r5;
0x0000483a blx 0x19dc | free (r0);
0x0000483e str.w sl, [fp, 0x10] | __asm ("str.w sl, [arg_10h]");
0x00004842 cmp r4, 0 |
| if (r4 != 0) {
0x00004844 bne 0x47ea | goto label_17;
| }
0x00004846 b 0x4810 | goto label_18;
| label_67:
0x00004848 blx 0x1ab4 | r0 = log_get_max_level ();
0x0000484c cmp r0, 2 |
| if (r0 <= 2) {
0x0000484e ble 0x4812 | goto label_19;
| }
0x00004850 ldr r2, [pc, 0x84] |
0x00004852 mov.w r3, 0x1cc | r3 = 0x1cc;
0x00004856 ldr r5, [pc, 0x84] |
0x00004858 mov r1, r4 | r1 = r4;
0x0000485a ldr r0, [pc, 0x84] |
0x0000485c add r2, pc | r2 = 0x9138;
0x0000485e add r5, pc | r5 = 0x9140;
0x00004860 adds r2, 7 | r2 += 7;
0x00004862 add r0, pc | r0 = 0x9148;
0x00004864 strd r0, r5, [sp] | __asm ("strd r0, r5, [sp]");
0x00004868 movs r0, 3 | r0 = 3;
0x0000486a blx 0x1bb0 | log_internal ();
0x0000486e b 0x4812 | goto label_19;
| label_68:
0x00004870 ldr.w r0, [r8, 0x10] | r0 = *((r8 + 0x10));
0x00004874 movs r4, 0 | r4 = 0;
0x00004876 blx 0x1d4c | fcn_00001d4c ();
0x0000487a str.w r0, [r8, 0x10] | __asm ("str.w r0, [r8, 0x10]");
0x0000487e mov r0, sb | r0 = sb;
0x00004880 blx 0x1d70 | fcn_00001d70 ();
0x00004884 ldr r3, [pc, 0x5c] |
0x00004886 ldr r2, [pc, 0x60] |
0x00004888 ldr r1, [pc, 0x60] |
0x0000488a add r3, pc | r3 = 0x9172;
0x0000488c str r4, [sp] | *(sp) = r4;
0x0000488e add r2, pc | r2 = 0x917c;
0x00004890 add r1, pc | r1 = 0x9180;
0x00004892 blx 0x1d7c | fcn_00001d7c ();
0x00004896 b 0x4812 | goto label_19;
| label_65:
0x00004898 ldr r1, [pc, 0x54] |
0x0000489a movw r2, 0x1c7 | r2 = 0x1c7;
0x0000489e ldr r3, [pc, 0x54] |
0x000048a0 ldr r0, [pc, 0x54] |
0x000048a2 add r1, pc | r1 = 0x9196;
0x000048a4 add r3, pc | r3 = 0x919e;
0x000048a6 adds r1, 7 | r1 += 7;
0x000048a8 add r0, pc | r0 = 0x91a4;
0x000048aa blx 0x19ac | log_assert_failed ();
| label_66:
0x000048ae ldr r1, [pc, 0x4c] |
0x000048b0 mov.w r2, 0x1c8 | r2 = 0x1c8;
0x000048b4 ldr r3, [pc, 0x48] |
0x000048b6 ldr r0, [pc, 0x4c] |
0x000048b8 add r1, pc | r1 = 0x91ba;
0x000048ba add r3, pc | r3 = 0x91be;
0x000048bc adds r1, 7 | r1 += 7;
0x000048be add r0, pc | r0 = 0x91c8;
0x000048c0 blx 0x19ac | log_assert_failed ();
| label_71:
0x000048c4 blx 0x1bd4 | stack_chk_fail ();
0x000048c8 movs r6, 0x62 | r6 = 0x62;
0x000048ca movs r0, r0 |
0x000048cc lsls r0, r6, 6 | r0 = r6 << 6;
0x000048ce movs r0, r0 |
0x000048d0 lsrs r6, r5, 7 | r6 = r5 >> 7;
0x000048d2 movs r0, r0 |
0x000048d4 movs r5, 0xfe | r5 = 0xfe;
0x000048d6 movs r0, r0 |
0x000048d8 lsls r0, r0, 3 | r0 <<= 3;
0x000048da movs r0, r0 |
0x000048dc lsls r6, r4, 6 | r6 = r4 << 6;
0x000048de movs r0, r0 |
0x000048e0 asrs r6, r1, 3 | r6 = r1 >> 3;
0x000048e2 movs r0, r0 |
0x000048e4 lsrs r2, r0, 5 | r2 = r0 >> 5;
0x000048e6 movs r0, r0 |
0x000048e8 lsls r2, r6, 0xf | r2 = r6 << 0xf;
0x000048ea movs r0, r0 |
0x000048ec lsls r4, r1, 0x10 | r4 = r1 << 0x10;
0x000048ee movs r0, r0 |
0x000048f0 lsls r2, r7, 1 | r2 = r7 << 1;
0x000048f2 movs r0, r0 |
0x000048f4 asrs r0, r4, 2 | r0 = r4 >> 2;
0x000048f6 movs r0, r0 |
0x000048f8 lsls r4, r7, 6 | r4 = r7 << 6;
0x000048fa movs r0, r0 |
0x000048fc lsls r4, r4, 1 | r4 <<= 1;
0x000048fe movs r0, r0 |
0x00004900 asrs r2, r1, 2 | r2 = r1 >> 2;
0x00004902 movs r0, r0 |
0x00004904 lsrs r6, r2, 2 | r6 = r2 >> 2;
0x00004906 movs r0, r0 |
| /* [14] -r-x section size 8 named .fini */
0x00004908 ands r0, r1 | r0 &= r1;
0x0000490a invalid |
| }
[*] Function system used 3 times systemd-timedated