[*] Binary protection state of busctl
Full RELRO Canary found NX enabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function printf tear down of busctl
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/busctl @ 0x67a0 */
| #include <stdint.h>
|
| #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
|
; (fcn) fcn.000067a0 () | void fcn_000067a0 (int16_t arg_4h, int16_t arg1, int16_t arg2, int16_t arg3) {
| int16_t var_0h;
| int16_t var_8h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
0x000067a0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x000067a4 mov sb, r0 | sb = r0;
0x000067a6 sub sp, 0x24 |
0x000067a8 mov r5, r2 | r5 = r2;
0x000067aa add r7, sp, 8 | r7 += var_8h;
0x000067ac ldr r0, [r2] | r0 = *(r2);
0x000067ae ldr r2, [pc, 0x1ec] |
0x000067b0 ldr r3, [pc, 0x1ec] | r3 = *(0x69a0);
0x000067b2 add r2, pc | r2 = 0xd154;
0x000067b4 ldr r3, [r2, r3] |
0x000067b6 ldr r3, [r3] | r3 = *(0xd154);
0x000067b8 str r3, [r7, 0x14] | *((r7 + 0x14)) = r3;
0x000067ba mov.w r3, 0 | r3 = 0;
0x000067be cmp r0, 0 |
| if (r0 == 0) {
0x000067c0 beq.w 0x68f6 | goto label_5;
| }
0x000067c4 mov r6, r1 | r6 = r1;
0x000067c6 b 0x67d2 |
| while (r0 == 0) {
0x000067c8 ldr r0, [r5, 4]! | r0 = *((r5 += 4));
0x000067cc cmp r0, 0 |
| if (r0 == 0) {
0x000067ce beq.w 0x68f6 | goto label_5;
| }
0x000067d2 mov r1, r6 | r1 = r6;
0x000067d4 blx 0x2e8c | r0 = parse_boolean_argument ();
0x000067d8 cmp r0, 0 |
0x000067da beq 0x67c8 |
| }
0x000067dc movs r0, 0 | r0 = 0;
0x000067de blx 0x2ed8 | r0 = fcn_00002ed8 ();
0x000067e2 mov r8, r0 | r8 = r0;
0x000067e4 mov r0, sb | r0 = sb;
0x000067e6 blx 0x298c | r0 = fcn_0000298c ();
0x000067ea mov r4, r0 | r4 = r0;
0x000067ec add.w fp, r0, 1 |
0x000067f0 cmp.w r8, 0 |
| if (r8 == 0) {
0x000067f4 beq.w 0x6958 | goto label_6;
| }
0x000067f8 mov r0, r8 | r0 = r8;
0x000067fa blx 0x298c | fcn_0000298c ();
0x000067fe add r0, fp | r0 += fp;
0x00006800 cmp.w r0, 0x400000 |
0x00006802 lsrs r0, r0, 0x1e | r0 >>= 0x1e;
| if (r0 > r0) {
0x00006804 bhi.w 0x692c | goto label_7;
| }
0x00006808 adds r0, 7 | r0 += 7;
0x0000680a mov r1, sb | r1 = sb;
0x0000680c bic r0, r0, 7 | r0 = BIT_MASK (r0, 7);
0x00006810 sub.w sp, sp, r0 |
0x00006814 add.w sl, sp, 8 | sl += var_8h;
0x00006816 lsrs r0, r1, 8 | r0 = r1 >> 8;
0x00006818 mov r0, sl | r0 = sl;
0x0000681a blx 0x282c | stpcpy ();
0x0000681e mov r1, r8 | r1 = r8;
0x00006820 blx 0x282c | stpcpy ();
| label_2:
0x00006824 movs r3, 0 | r3 = 0;
0x00006826 strb r3, [r0] | *(r0) = r3;
0x00006828 movs r0, 3 | r0 = 3;
0x0000682a blx 0x2ed8 | r0 = fcn_00002ed8 ();
0x0000682e mov r8, r0 | r8 = r0;
0x00006830 cmp r0, 0 |
| if (r0 == 0) {
0x00006832 beq.w 0x6978 | goto label_8;
| }
0x00006836 blx 0x298c | fcn_0000298c ();
0x0000683a add r0, fp | r0 += fp;
0x0000683c cmp.w r0, 0x400000 |
| if (r0 > 0x400000) {
0x00006840 bhi 0x6942 | goto label_3;
| }
0x00006842 adds r0, 7 | r0 += 7;
0x00006844 mov r1, sb | r1 = sb;
0x00006846 bic r0, r0, 7 | r0 = BIT_MASK (r0, 7);
0x0000684a sub.w sp, sp, r0 |
0x0000684e add r3, sp, 8 | r3 += var_8h;
0x00006850 mov r0, r3 | r0 = r3;
0x00006852 str r3, [r7, 0xc] | *((r7 + 0xc)) = r3;
0x00006854 blx 0x282c | stpcpy ();
0x00006858 mov r1, r8 | r1 = r8;
0x0000685a blx 0x282c | stpcpy ();
| label_4:
0x0000685e ldr.w r8, [r5] | r8 = *(r5);
0x00006862 movs r3, 0 | r3 = 0;
0x00006864 strb r3, [r0] | *(r0) = r3;
0x00006866 cmp.w r8, 0 |
| if (r8 == 0) {
0x0000686a beq 0x68f6 | goto label_5;
| }
0x0000686c ldr r3, [pc, 0x134] |
0x0000686e movs r2, 1 | r2 = 1;
0x00006870 mov r1, r6 | r1 = r6;
0x00006872 add r3, pc | r3 = 0xd21a;
0x00006874 str r3, [r7, 8] | *((r7 + 8)) = r3;
0x00006876 ldr r3, [pc, 0x130] |
0x00006878 add r3, pc | r3 = 0xd226;
0x0000687a str r3, [r7, 4] | *((r7 + 4)) = r3;
0x0000687c mov r3, r5 | r3 = r5;
0x0000687e mov r5, r8 | r5 = r8;
0x00006880 mov r8, r3 | r8 = r3;
0x00006882 mov r0, r5 | r0 = r5;
0x00006884 blx 0x29f8 | r0 = fcn_000029f8 ();
| if (r0 == 0) {
0x00006888 cbz r0, 0x68f6 | goto label_5;
| }
| label_0:
0x0000688a ldr.w fp, [r8, 4] | fp = *((r8 + 4));
0x0000688e add.w r4, r8, 4 | r4 = r8 + 4;
0x00006892 cmp.w fp, 0 |
| if (fp == 0) {
0x00006896 beq 0x68c2 | goto label_9;
| }
0x00006898 mov r3, r4 | r3 = r4;
0x0000689a mov r4, fp | r4 = fp;
0x0000689c mov fp, r3 |
0x0000689e b 0x68b2 |
| while (r0 != 0) {
0x000068a0 movs r2, 1 | r2 = 1;
0x000068a2 mov r1, r5 | r1 = r5;
0x000068a4 mov r0, r4 | r0 = r4;
0x000068a6 blx 0x29f8 | r0 = fcn_000029f8 ();
| if (r0 == 0) {
0x000068aa cbz r0, 0x6912 | goto label_10;
| }
0x000068ac ldr r4, [fp, 4]! | r4 = *(arg_4h);
| if (r4 == 0) {
0x000068b0 cbz r4, 0x68c0 | goto label_11;
| }
0x000068b2 movs r2, 1 | r2 = 1;
0x000068b4 mov r1, r6 | r1 = r6;
0x000068b6 mov r0, r4 | r0 = r4;
0x000068b8 blx 0x29f8 | r0 = fcn_000029f8 ();
0x000068bc cmp r0, 0 |
0x000068be bne 0x68a0 |
| }
| label_11:
0x000068c0 mov r4, fp | r4 = fp;
| label_9:
0x000068c2 movs r0, 2 | r0 = 2;
0x000068c4 blx 0x2ed8 | fcn_00002ed8 ();
0x000068c8 ldr r1, [r7, 4] | r1 = *((r7 + 4));
0x000068ca mov r3, r0 | r3 = r0;
0x000068cc mov r2, sb | r2 = sb;
0x000068ce movs r0, 1 | r0 = 1;
0x000068d0 str r5, [sp] | *(sp) = r5;
0x000068d2 blx 0x27fc | printf_chk ()
0x000068d6 ldr r0, [r7, 0xc] | r0 = *((r7 + 0xc));
| label_1:
0x000068d8 ldr.w r1, [r8] | r1 = *(r8);
0x000068dc mov r2, r8 | r2 = r8;
0x000068de bl 0x67a0 | fcn_000067a0 (r0, r1, r2, r3);
0x000068e2 ldr r5, [r4] | r5 = *(r4);
| if (r5 == 0) {
0x000068e4 cbz r5, 0x68f6 | goto label_5;
| }
0x000068e6 movs r2, 1 | r2 = 1;
0x000068e8 mov r1, r6 | r1 = r6;
0x000068ea mov r0, r5 | r0 = r5;
0x000068ec mov r8, r4 | r8 = r4;
0x000068ee blx 0x29f8 | r0 = fcn_000029f8 ();
0x000068f2 cmp r0, 0 |
| if (r0 != 0) {
0x000068f4 bne 0x688a | goto label_0;
| }
| label_5:
0x000068f6 ldr r2, [pc, 0xb4] |
0x000068f8 ldr r3, [pc, 0xa4] | r3 = *(0x69a0);
0x000068fa add r2, pc | r2 = "/org/freedesktop/DBus";
0x000068fc ldr r3, [r2, r3] | r3 = "/org/freedesktop/DBus";
0x000068fe ldr r2, [r3] | r2 = "/org/freedesktop/DBus";
0x00006900 ldr r3, [r7, 0x14] | r3 = *((r7 + 0x14));
0x00006902 eors r2, r3 | r2 ^= r3;
0x00006904 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00006908 bne 0x6998 | goto label_12;
| }
0x0000690a adds r7, 0x1c | r7 += 0x1c;
0x0000690c mov sp, r7 |
0x0000690e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
0x00006910 ldrh r0, [r6, 0x3e] | r0 = *((r6 + 0x3e));
| label_10:
0x00006912 movs r0, 1 | r0 = 1;
0x00006914 mov r4, fp | r4 = fp;
0x00006916 blx 0x2ed8 | fcn_00002ed8 ();
0x0000691a ldr r1, [r7, 8] | r1 = *((r7 + 8));
0x0000691c mov r3, r0 | r3 = r0;
0x0000691e mov r2, sb | r2 = sb;
0x00006920 movs r0, 1 | r0 = 1;
0x00006922 str r5, [sp] | *(sp) = r5;
0x00006924 blx 0x27fc | printf_chk ()
0x00006926 vmin.s32 q10, q5, q0 | __asm ("vmin.s32 q10, q5, q0");
0x0000692a b 0x68d8 | goto label_1;
| do {
| label_7:
0x0000692c ldr r1, [pc, 0x80] |
0x0000692e mov.w r2, 0x178 | r2 = 0x178;
0x00006932 ldr r3, [pc, 0x80] |
0x00006934 ldr r0, [pc, 0x80] |
0x00006936 add r1, pc | r1 = 0xd2ea;
0x00006938 add r3, pc | r3 = 0xd2f2;
0x0000693a adds r1, 7 | r1 += 7;
0x0000693c add r0, pc | r0 = 0xd2f8;
0x0000693e blx 0x2a34 | fcn_00002a34 ();
| label_3:
0x00006942 ldr r1, [pc, 0x78] |
0x00006944 movw r2, 0x179 | r2 = 0x179;
0x00006948 ldr r3, [pc, 0x74] |
0x0000694a ldr r0, [pc, 0x78] |
0x0000694c add r1, pc | r1 = 0xd30e;
0x0000694e add r3, pc | r3 = 0xd312;
0x00006950 adds r1, 7 | r1 += 7;
0x00006952 add r0, pc | r0 = 0xd31c;
0x00006954 blx 0x2a34 | fcn_00002a34 ();
| label_6:
0x00006958 cmp.w fp, 0x400000 |
0x0000695c bhi 0x692c |
| } while (fp > 0x400000);
0x0000695e add.w r3, r4, 8 | r3 = r4 + 8;
0x00006962 mov r1, sb | r1 = sb;
0x00006964 bl 0x2a776 | void (*0x2a776)(uint32_t, uint32_t) (r1, r3);
0x00006968 sub.w sp, sp, r3 |
0x0000696c add.w sl, sp, 8 | sl += var_8h;
0x00006970 mov r0, sl | r0 = sl;
0x00006972 blx 0x282c | stpcpy ();
0x00006976 b 0x6824 | goto label_2;
| label_8:
0x00006978 cmp.w fp, 0x400000 |
| if (fp > 0x400000) {
0x0000697c bhi 0x6942 | goto label_3;
| }
0x0000697e add.w r3, r4, 8 | r3 = r4 + 8;
0x00006982 mov r1, sb | r1 = sb;
0x00006984 bic r3, r3, 7 | r3 = BIT_MASK (r3, 7);
0x00006988 sub.w sp, sp, r3 |
0x0000698c add r3, sp, 8 | r3 += var_8h;
0x0000698e mov r0, r3 | r0 = r3;
0x00006990 str r3, [r7, 0xc] | *((r7 + 0xc)) = r3;
0x00006992 blx 0x282c | stpcpy ();
0x00006996 b 0x685e | goto label_4;
| label_12:
0x00006998 blx 0x2c24 | fcn_00002c24 ();
0x0000699c strh r6, [r4, 0x28] | *((r4 + 0x28)) = r6;
0x0000699e movs r1, r0 | r1 = r0;
0x000069a0 lsls r0, r0, 0xc | r0 <<= 0xc;
0x000069a2 movs r0, r0 |
0x000069a4 str r2, [r0, 0x6c] | *((r0 + 0x6c)) = r2;
0x000069a6 movs r0, r0 |
0x000069a8 str r4, [r7, 0x68] | *((r7 + 0x68)) = r4;
0x000069aa movs r0, r0 |
0x000069ac strh r6, [r3, 0x1e] | *((r3 + 0x1e)) = r6;
0x000069ae movs r1, r0 | r1 = r0;
0x000069b0 ldr r6, [r4, r1] | r6 = *((r4 + r1));
0x000069b2 movs r0, r0 |
0x000069b4 ldrb r4, [r4, 2] | r4 = *((r4 + 2));
0x000069b6 movs r0, r0 |
0x000069b8 str r0, [r3, 0x5c] | *((r3 + 0x5c)) = r0;
0x000069ba movs r0, r0 |
0x000069bc ldr r0, [r2, r1] | r0 = *((r2 + r1));
0x000069be movs r0, r0 |
0x000069c0 ldrb r6, [r1, 2] | r6 = *((r1 + 2));
0x000069c2 movs r0, r0 |
0x000069c4 str r2, [r0, 0x5c] | *((r0 + 0x5c)) = r2;
0x000069c6 movs r0, r0 |
0x000069c8 ldr r3, [pc, 8] | r3 = *(0x000069d4);
0x000069ca mov r2, r1 | r2 = r1;
0x000069cc add r3, pc | r3 += pc;
0x000069ce ldr r1, [r3] | r1 = *(r3);
0x000069d0 b.w 0x2928 | return void (*0x2928)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/busctl @ 0x7efc */
| #include <stdint.h>
|
; (fcn) fcn.00007efc () | void fcn_00007efc (int16_t arg1, int16_t arg2) {
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| int16_t var_14h;
| int16_t var_18h;
| int16_t var_1ch;
| int16_t var_20h;
| int16_t var_24h;
| int16_t var_2ch;
| int16_t var_30h;
| int16_t var_34h;
| int16_t var_38h;
| int16_t var_40h;
| int16_t var_44h;
| r0 = arg1;
| r1 = arg2;
| label_7:
0x00002e88 invalid | void (*0x2e8c)() ();
0x00007efc push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00007f00 sub sp, 0x4c |
0x00007f02 ldr r6, [pc, 0x2e8] |
0x00007f04 movs r2, 0 | r2 = 0;
0x00007f06 mov fp, r1 |
0x00007f08 ldr r5, [pc, 0x2e4] |
0x00007f0a ldr r4, [pc, 0x2e8] | r4 = *(0x81f6);
0x00007f0c add r6, pc | r6 = 0x100fe;
0x00007f0e str r6, [sp, 0x1c] | var_1ch = r6;
0x00007f10 add r5, pc | r5 = 0x10104;
0x00007f12 ldr r3, [pc, 0x2e4] | r3 = *(0x81fa);
0x00007f14 ldr r4, [r5, r4] |
0x00007f16 ldr r4, [r4] | r4 = *(0x10104);
0x00007f18 str r4, [sp, 0x44] | var_44h = r4;
0x00007f1a mov.w r4, 0 | r4 = 0;
0x00007f1e str r2, [sp, 0x2c] | var_2ch = r2;
0x00007f20 ldr r2, [pc, 0x2d8] |
0x00007f22 ldr r4, [r6, r3] | r4 = *(0x100fe);
0x00007f24 str r0, [sp, 0x14] | var_14h = r0;
0x00007f26 add r0, sp, 0x2c | r0 += var_2ch;
0x00007f28 add r2, pc | r2 = 0x10128;
0x00007f2a mov r1, r4 | r1 = r4;
0x00007f2c blx 0x2c9c | r0 = fcn_00002c9c ();
0x00007f30 subs r7, r0, 0 | r7 = r0 - 0;
| if (r7 < r0) {
0x00007f32 blt.w 0x80de | goto label_8;
| }
0x00007f36 mov r0, r4 | r0 = r4;
0x00007f38 blx 0x29b0 | r0 = fcn_000029b0 ();
0x00007f3c mov r6, r0 | r6 = r0;
0x00007f3e cmp r0, 0 |
| if (r0 == 0) {
0x00007f40 beq.w 0x8196 | goto label_9;
| }
0x00007f44 mov r0, r4 | r0 = r4;
0x00007f46 blx 0x29b0 | r0 = fcn_000029b0 ();
0x00007f4a mov r8, r0 | r8 = r0;
0x00007f4c cmp r0, 0 |
| if (r0 == 0) {
0x00007f4e beq.w 0x81ae | goto label_10;
| }
0x00007f52 ldr r3, [pc, 0x2ac] |
0x00007f54 add r3, pc | r3 = 0x1015a;
0x00007f56 adds r3, 7 | r3 += 7;
0x00007f58 str r3, [sp, 0x24] | var_24h = r3;
0x00007f5a ldr r3, [pc, 0x2a8] |
0x00007f5c add r3, pc | r3 = 0x10166;
0x00007f5e str r3, [sp, 0x18] | var_18h = r3;
| do {
| label_0:
0x00007f60 ldr r0, [sp, 0x2c] | r0 = var_2ch;
0x00007f62 movs r2, 0 | r2 = 0;
0x00007f64 movs r1, 1 | r1 = 1;
0x00007f66 blx 0x28b0 | r0 = hashmap_first_key_and_value ();
0x00007f6a mov r4, r0 | r4 = r0;
0x00007f6c cmp r0, 0 |
| if (r0 == 0) {
0x00007f6e beq.w 0x811c | goto label_11;
| }
0x00007f72 mov r1, r0 | r1 = r0;
0x00007f74 mov r0, r6 | r0 = r6;
0x00007f76 blx 0x2e7c | r0 = fcn_00002e7c ();
0x00007f7a cmp r0, 0 |
| if (r0 != 0) {
0x00007f7c bne 0x8046 | goto label_12;
| }
0x00007f7e mov r1, r4 | r1 = r4;
0x00007f80 mov r0, r8 | r0 = r8;
0x00007f82 blx 0x2e7c | r0 = fcn_00002e7c ();
0x00007f86 cmp r0, 0 |
| if (r0 != 0) {
0x00007f88 bne 0x8046 | goto label_12;
| }
0x00007f8a add r3, sp, 0x30 | r3 += var_30h;
0x00007f8c add.w sb, sp, 0x38 | sb += var_38h;
0x00007f90 str r3, [sp, 8] | var_8h = r3;
0x00007f92 mov r2, r4 | r2 = r4;
0x00007f94 ldr r3, [pc, 0x270] |
0x00007f96 mov r1, fp | r1 = fp;
0x00007f98 str r0, [sp, 0xc] | var_ch = r0;
0x00007f9a str r0, [sp, 0x30] | var_30h = r0;
0x00007f9c add r3, pc | r3 = 0x101a8;
0x00007f9e strd r0, r0, [sp, 0x38] | __asm ("strd r0, r0, [sp, 0x38]");
0x00007fa2 str r0, [sp, 0x40] | var_40h = r0;
0x00007fa4 str r3, [sp] | *(sp) = r3;
0x00007fa6 ldr r0, [sp, 0x14] | r0 = var_14h;
0x00007fa8 ldr r3, [sp, 0x18] | r3 = var_18h;
0x00007faa str.w sb, [sp, 4] | __asm ("str.w sb, [var_4h]");
0x00007fae ldr.w sl, [sp, 0x2c] | sl = var_2ch;
0x00007fb2 blx 0x2e4c | r0 = fcn_00002e4c ();
0x00007fb6 subs r5, r0, 0 | r5 = r0 - 0;
| if (r5 < r0) {
0x00007fb8 blt 0x806c | goto label_13;
| }
0x00007fba ldr r1, [pc, 0x250] |
0x00007fbc add r2, sp, 0x34 | r2 += var_34h;
0x00007fbe ldr r0, [sp, 0x30] | r0 = var_30h;
0x00007fc0 add r1, pc | r1 = 0x101d2;
0x00007fc2 blx 0x28a4 | r0 = sd_bus_message_read ();
0x00007fc6 subs r5, r0, 0 | r5 = r0 - 0;
| if (r5 < r0) {
0x00007fc8 blt 0x804e | goto label_14;
| }
0x00007fca ldr r2, [pc, 0x244] |
0x00007fcc mov r3, sl | r3 = sl;
0x00007fce ldr r1, [sp, 0x34] | r1 = var_34h;
0x00007fd0 mov r0, r4 | r0 = r4;
0x00007fd2 add r2, pc | r2 = 0x101e8;
0x00007fd4 bl 0x58dc | r0 = fcn_000058dc (r0, r1, r2, r3, r4);
0x00007fd8 lsr.w sl, r0, 0x1f | sl = r0 >> 0x1f;
0x00007fdc mov r5, r0 | r5 = r0;
| label_1:
0x00007fde mov r0, sb | r0 = sb;
0x00007fe0 blx 0x2b88 | fcn_00002b88 ();
0x00007fe4 ldr r0, [sp, 0x30] | r0 = var_30h;
| if (r0 != 0) {
0x00007fe6 cbz r0, 0x7fec |
0x00007fe8 blx 0x2718 | sd_bus_message_unref ();
| }
0x00007fec cmp r7, 0 |
0x00007fee ite lt |
| if (r7 >= 0) {
0x00007ff0 movlt r3, 0 | r3 = 0;
| }
| if (r7 < 0) {
0x00007ff2 andge r3, sl, 1 | r3 = sl & 1;
| }
0x00007ff6 bics.w r0, r6, r5, asr 32 | __asm ("bics.w r0, r6, r5, asr 32");
0x00007ffa it hs |
| if (r7 < 0) {
0x00007ffc movhs r0, r8 | r0 = r8;
| }
| if (r3 != 0) {
0x00007ffe cbz r3, 0x8004 |
0x00008000 mov r7, r5 | r7 = r5;
0x00008002 mov r0, r8 | r0 = r8;
| }
0x00008004 mov r1, r4 | r1 = r4;
0x00008006 blx 0x27c0 | r0 = set_consume ();
0x0000800a cmp r0, 0 |
| if (r0 == 0) {
0x0000800c beq.w 0x815c | goto label_15;
| }
0x00008010 bge 0x7f60 |
| } while (r0 >= 0);
0x00008012 ldr r1, [pc, 0x200] |
0x00008014 mov.w r2, 0x1f0 | r2 = 0x1f0;
0x00008016 strb r0, [r7, 0xb] | *((r7 + 0xb)) = r0;
0x00008018 ldr r3, [pc, 0x1fc] |
0x0000801a movs r0, 3 | r0 = 3;
0x0000801c movs r4, 0 | r4 = 0;
0x0000801e add r1, pc | r1 = 0x10238;
0x00008020 add r3, pc | r3 = 0x1023c;
0x00008022 adds r1, 7 | r1 += 7;
0x00008024 blx 0x2ea8 | fcn_00002ea8 ();
0x00008026 vmax.s8 d20, d0, d7 | __asm ("vmax.s8 d20, d0, d7");
| label_3:
0x0000802a mov r0, r4 | r0 = r4;
0x0000802c blx 0x28d4 | free (r0);
0x00008030 movs r2, 0 | r2 = 0;
0x00008032 mov r0, r8 | r0 = r8;
0x00008034 mov r1, r2 | r1 = r2;
0x00008036 blx 0x2e1c | fcn_00002e1c ();
0x00008038 invalid |
| label_5:
0x0000803a movs r2, 0 | r2 = 0;
0x0000803c mov r0, r6 | r0 = r6;
0x0000803e mov r1, r2 | r1 = r2;
0x00008040 blx 0x2e1c | fcn_00002e1c ();
0x00008044 b 0x80f4 | goto label_4;
| label_12:
0x00008046 mov r0, r4 | r0 = r4;
0x00008048 blx 0x28d4 | free (r0);
0x0000804c b 0x7f60 | goto label_0;
| label_14:
0x0000804e blx 0x27cc | r0 = log_get_max_level ();
0x00008052 cmp r0, 2 |
0x00008054 ittt le |
| if (r0 <= 2) {
0x00008056 rsble r5, r5, 0 | __asm ("rsble r5, r5, 0");
| }
| if (r0 <= 2) {
0x00008058 uxtble r5, r5 | __asm ("uxtble r5, r5");
| }
| if (r0 <= 2) {
0x0000805a rsble r5, r5, 0 | __asm ("rsble r5, r5, 0");
| }
| if (r0 > 2) {
0x0000805c bgt 0x80ae | goto label_16;
| }
0x0000805e cmp r5, 0 |
0x00008060 mov.w sl, 1 | sl = 1;
0x00008064 it ge |
| if (r5 < 0) {
0x00008066 mvnge r5, 0x55 | r5 = ~0x55;
| }
0x00008068 lsls r5, r2, 0x15 | r5 = r2 << 0x15;
0x0000806a b 0x7fde | goto label_1;
| label_13:
0x0000806c blx 0x2a98 | r0 = fcn_00002a98 ();
| if (r0 != 0) {
0x00008070 cbnz r0, 0x80a8 | goto label_17;
| }
0x00008072 ldr r2, [pc, 0x1a8] |
0x00008074 add r2, pc | r2 = 0x10296;
| do {
0x00008076 mov r1, r5 | r1 = r5;
0x00008078 mov r0, sb | r0 = sb;
0x0000807a str r2, [sp, 0x20] | var_20h = r2;
0x0000807c blx 0x2688 | r0 = bus_error_message ();
0x00008080 mov sl, r0 | sl = r0;
0x00008082 blx 0x2a98 | fcn_00002a98 ();
0x00008084 vstr s18, [sl, -0x20] | __asm ("vstr s18, [sl, -0x20]");
| if (r0 != 0) {
0x00008088 cbnz r0, 0x80d8 | goto label_18;
| }
0x0000808a ldr r3, [pc, 0x194] |
0x0000808c add r3, pc | r3 = 0x102b2;
| label_2:
0x0000808e ldr r1, [pc, 0x194] |
0x00008090 movs r0, 1 | r0 = 1;
0x00008092 strd sl, r3, [sp, 4] | __asm ("strd sl, r3, [sp, 4]");
0x00008094 adr r3, 4 | r3 = 4;
0x00008096 mov r3, r4 | r3 = r4;
0x00008098 str.w fp, [sp] | __asm ("str.w fp, [sp]");
0x0000809c mov.w sl, 1 | sl = 1;
0x0000809e lsrs r1, r0, 8 | r1 = r0 >> 8;
0x000080a0 add r1, pc | r1 = 0x102ca;
0x000080a2 blx 0x27fc | printf_chk ()
0x000080a6 b 0x7fde | goto label_1;
| label_17:
0x000080a8 ldr r2, [pc, 0x17c] |
0x000080aa add r2, pc | r2 = 0x102d6;
0x000080ac b 0x8076 |
| } while (1);
| label_16:
0x000080ae ldr r3, [pc, 0x17c] |
0x000080b0 mov r1, r5 | r1 = r5;
0x000080b2 ldr r2, [sp, 0x24] | r2 = var_24h;
0x000080b4 movs r0, 3 | r0 = 3;
0x000080b6 mov.w sl, 1 | sl = 1;
0x000080ba add r3, pc | r3 = 0x102ec;
0x000080bc str r3, [sp, 4] | var_4h = r3;
0x000080be ldr r3, [pc, 0x170] |
0x000080c0 add r3, pc | r3 = 0x102f6;
0x000080c2 str r3, [sp] | *(sp) = r3;
0x000080c4 movw r3, 0x1c7 | r3 = 0x1c7;
0x000080c8 blx 0x2c54 | r0 = fcn_00002c54 ();
0x000080cc mov r5, r0 | r5 = r0;
0x000080ce cmp r5, 0 |
0x000080d0 it ge |
| if (r5 < 0) {
0x000080d2 mvnge r5, 0x55 | r5 = ~0x55;
| }
0x000080d6 b 0x7fde | goto label_1;
| label_18:
0x000080d8 ldr r3, [pc, 0x158] |
0x000080da add r3, pc | r3 = 0x10312;
0x000080dc b 0x808e | goto label_2;
| label_8:
0x000080de ldr r1, [pc, 0x158] |
0x000080e0 movw r2, 0x1d3 | r2 = 0x1d3;
0x000080e2 asrs r3, r2, 0xb | r3 = r2 >> 0xb;
0x000080e4 ldr r3, [pc, 0x154] |
0x000080e6 movs r0, 3 | r0 = 3;
0x000080e8 add r1, pc | r1 = 0x10326;
0x000080ea add r3, pc | r3 = 0x1032a;
0x000080ec adds r1, 7 | r1 += 7;
0x000080ee blx 0x2ea8 | r0 = fcn_00002ea8 ();
0x000080f2 mov r7, r0 | r7 = r0;
| label_4:
0x000080f4 ldr r0, [sp, 0x2c] | r0 = var_2ch;
| if (r0 != 0) {
0x000080f6 cbz r0, 0x8100 |
0x000080f8 movs r2, 0 | r2 = 0;
0x000080fa mov r1, r2 | r1 = r2;
0x000080fc blx 0x2e1c | fcn_00002e1c ();
| }
0x00008100 ldr r2, [pc, 0x13c] |
0x00008102 ldr r3, [pc, 0xf0] | r3 = *(0x81f6);
0x00008104 add r2, pc | r2 = 0x10348;
0x00008106 ldr r3, [r2, r3] | r3 = *(0x10348);
0x00008108 ldr r2, [r3] | r2 = *(0x10348);
0x0000810a ldr r3, [sp, 0x44] | r3 = var_44h;
0x0000810c eors r2, r3 | r2 ^= r3;
0x0000810e mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00008112 bne 0x81e8 | goto label_19;
| }
0x00008114 mov r0, r7 | r0 = r7;
0x00008116 add sp, 0x4c |
0x00008118 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
0x0000811a ldrh r0, [r6, 0x3e] | r0 = *((r6 + 0x3e));
| label_11:
0x0000811c ldr r3, [pc, 0x124] |
0x0000811e add r3, pc | r3 = 0x10366;
0x00008120 ldr r0, [r3] | r0 = *(0x10366);
0x00008122 blx 0x2a80 | fcn_00002a80 ();
0x00008124 stc p6, c4, [lr], 0xc0 | __asm ("stc p6, c4, [lr], 0xc0");
0x00008128 blx 0x2b70 | r0 = fcn_00002b70 ();
0x0000812c mov r4, r0 | r4 = r0;
0x0000812e cmp r0, 0 |
| if (r0 == 0) {
0x00008130 beq 0x81d0 | goto label_20;
| }
0x00008132 blx 0x2d80 | fcn_00002d80 ();
0x00008136 ldr r3, [pc, 0x110] |
0x00008138 add r3, pc | r3 = 0x10386;
0x0000813a ldrb r3, [r3] | r3 = *(r3);
| if (r3 == 0) {
0x0000813c cbnz r3, 0x8172 |
0x0000813e ldr r3, [r4] | r3 = *(r4);
0x00008140 cmp r3, 0 |
| if (r3 == 0) {
0x00008142 beq 0x81c6 | goto label_21;
| }
0x00008144 ldrb r2, [r3] | r2 = *(r3);
0x00008146 cmp r2, 0x2f |
| if (r2 != 0x2f) {
0x00008148 bne 0x8186 | goto label_22;
| }
0x0000814a ldrb r3, [r3, 1] | r3 = *((r3 + 1));
| if (r3 != 0) {
0x0000814c cbnz r3, 0x8186 | goto label_22;
| }
0x0000814e ldr r3, [r4, 4] | r3 = *((r4 + 4));
| if (r3 != 0) {
0x00008150 cbnz r3, 0x8186 | goto label_22;
| }
0x00008152 ldr r0, [pc, 0xf8] |
0x00008154 add r0, pc | r0 = 0x103a6;
0x00008156 blx 0x2cc0 | fcn_00002cc0 ();
0x0000815a b 0x8178 | goto label_6;
| label_15:
0x0000815c ldr r1, [pc, 0xf0] |
0x0000815e mov.w r2, 0x1ee | r2 = 0x1ee;
0x00008162 ldr r3, [pc, 0xf0] |
0x00008164 ldr r0, [pc, 0xf0] |
0x00008166 add r1, pc | r1 = 0x103ba;
0x00008168 add r3, pc | r3 = 0x103c2;
0x0000816a adds r1, 7 | r1 += 7;
0x0000816c add r0, pc | r0 = 0x103c8;
0x0000816e blx 0x2a34 | fcn_00002a34 ();
| }
0x00008172 mov r0, r4 | r0 = r4;
0x00008174 blx 0x28bc | strv_print ();
| do {
| label_6:
0x00008178 ldr r2, [sp, 0x1c] | r2 = var_1ch;
0x0000817a ldr r3, [pc, 0xe0] | r3 = *(0x825e);
0x0000817c ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0000817e ldr r0, [r3] | r0 = *(0x825e);
0x00008180 blx 0x2944 | fcn_00002944 ();
0x00008184 b 0x802a | goto label_3;
| label_22:
0x00008186 ldr r1, [pc, 0xd8] |
0x00008188 mov r2, r4 | r2 = r4;
0x0000818a ldr r0, [pc, 0xd8] |
0x0000818c add r1, pc | r1 = 0x103f2;
0x0000818e add r0, pc | r0 = 0x103f8;
0x00008190 bl 0x67a0 | fcn_000067a0 (r0, r1, r2, r3);
0x00008194 b 0x8178 |
| } while (1);
| label_9:
0x00008196 ldr r1, [pc, 0xd0] |
0x00008198 movw r2, 0x1d7 | r2 = 0x1d7;
0x0000819c ldr r3, [pc, 0xcc] |
0x0000819e movs r0, 3 | r0 = 3;
0x000081a0 add r1, pc | r1 = 0x1040e;
0x000081a2 add r3, pc | r3 = 0x10412;
0x000081a4 adds r1, 7 | r1 += 7;
0x000081a6 blx 0x2ea8 | r0 = fcn_00002ea8 ();
0x000081aa mov r7, r0 | r7 = r0;
0x000081ac b 0x80f4 | goto label_4;
| label_10:
0x000081ae ldr r1, [pc, 0xc0] |
0x000081b0 movw r2, 0x1db | r2 = 0x1db;
0x000081b4 ldr r3, [pc, 0xbc] |
0x000081b6 movs r0, 3 | r0 = 3;
0x000081b8 add r1, pc | r1 = 0x1042e;
0x000081ba add r3, pc | r3 = 0x10432;
0x000081bc adds r1, 7 | r1 += 7;
0x000081be blx 0x2ea8 | r0 = fcn_00002ea8 ();
0x000081c2 mov r7, r0 | r7 = r0;
0x000081c4 b 0x803a | goto label_5;
| label_21:
0x000081c6 ldr r0, [pc, 0xb0] |
0x000081c8 add r0, pc | r0 = 0x10446;
0x000081ca blx 0x2cc0 | fcn_00002cc0 ();
0x000081ce b 0x8178 | goto label_6;
| label_20:
0x000081d0 ldr r1, [pc, 0xa8] |
0x000081d2 movw r2, 0x1f7 | r2 = 0x1f7;
0x000081d6 ldr r3, [pc, 0xa8] |
0x000081d8 movs r0, 3 | r0 = 3;
0x000081da add r1, pc | r1 = 0x1045a;
0x000081dc add r3, pc | r3 = 0x10462;
0x000081de adds r1, 7 | r1 += 7;
0x000081e0 blx 0x2ea8 | r0 = fcn_00002ea8 ();
0x000081e4 mov r7, r0 | r7 = r0;
0x000081e6 b 0x802a | goto label_3;
| label_19:
0x000081e8 blx 0x2c24 | fcn_00002c24 ();
0x000081ec ldr r4, [r1, 0x5c] | r4 = *((r1 + 0x5c));
0x000081ee movs r1, r0 | r1 = r0;
0x000081f0 ldr r0, [r1, 0x5c] | r0 = *((r1 + 0x5c));
0x000081f2 movs r1, r0 | r1 = r0;
0x000081f4 lsls r0, r0, 0xc | r0 <<= 0xc;
0x000081f6 movs r0, r0 |
0x000081f8 lsls r0, r6, 0xb | r0 = r6 << 0xb;
0x000081fa movs r0, r0 |
0x000081fc ldrsb r0, [r6, r3] | r0 = *((r6 + r3));
0x000081fe movs r0, r0 |
0x00008200 rsbs r0, r1, 0 | r0 = r1 - ;
0x00008202 movs r0, r0 |
0x00008204 ldrsb r0, [r0, r3] | r0 = *((r0 + r3));
0x00008206 movs r0, r0 |
0x00008208 ldrsb r4, [r4, r2] | r4 = *((r4 + r2));
0x0000820a movs r0, r0 |
0x0000820c ldrh r4, [r1, r7] | r4 = *((r1 + r7));
0x0000820e movs r0, r0 |
0x00008210 ldr r2, [r4, 0x10] | r2 = *((r4 + 0x10));
0x00008212 movs r1, r0 | r1 = r0;
0x00008214 adcs r6, r7 | __asm ("adcs r6, r7");
0x00008216 movs r0, r0 |
0x00008218 str r0, [r6, 0x1c] | *((r6 + 0x1c)) = r0;
0x0000821a movs r0, r0 |
0x0000821c ldr r0, [r0, r2] | r0 = *((r0 + r2));
0x0000821e movs r0, r0 |
0x00008220 ldr r0, [r5, r1] | r0 = *((r5 + r1));
0x00008222 movs r0, r0 |
0x00008224 strb r4, [r5, r6] | *((r5 + r6)) = r4;
0x00008226 movs r0, r0 |
0x00008228 strb r2, [r4, r5] | *((r4 + r5)) = r2;
0x0000822a movs r0, r0 |
0x0000822c strh r2, [r6, r4] | *((r6 + r4)) = r2;
0x0000822e movs r0, r0 |
0x00008230 str r4, [r0, 0x14] | *((r0 + 0x14)) = r4;
0x00008232 movs r0, r0 |
0x00008234 lsls r6, r5 | r6 <<= r5;
0x00008236 movs r0, r0 |
0x00008238 lsls r4, r6 | r4 <<= r6;
0x0000823a movs r0, r0 |
0x0000823c str r6, [r4, 0x10] | *((r4 + 0x10)) = r6;
0x0000823e movs r0, r0 |
0x00008240 ldr r4, [r2, 0x3c] | r4 = *((r2 + 0x3c));
0x00008242 movs r1, r0 | r1 = r0;
0x00008244 ldr r2, [r3, 0x70] | r2 = *((r3 + 0x70));
0x00008246 movs r1, r0 | r1 = r0;
0x00008248 ldr r0, [r7, 0x6c] | r0 = *((r7 + 0x6c));
0x0000824a movs r1, r0 | r1 = r0;
0x0000824c strb r0, [r7, r4] | *((r7 + r4)) = r0;
0x0000824e movs r0, r0 |
0x00008250 ands r6, r6 | r6 &= r6;
0x00008252 movs r0, r0 |
0x00008254 ldrsh r0, [r0, r5] | r0 = *((r0 + r5));
0x00008256 movs r0, r0 |
0x00008258 strb r0, [r3, r4] | *((r3 + r4)) = r0;
0x0000825a movs r0, r0 |
0x0000825c lsls r0, r2, 0xc | r0 = r2 << 0xc;
0x0000825e movs r0, r0 |
0x00008260 strb r4, [r1, r2] | *((r1 + r2)) = r4;
0x00008262 movs r0, r0 |
0x00008264 ldrsb r6, [r4, r5] | r6 = *((r4 + r5));
0x00008266 movs r0, r0 |
0x00008268 subs r7, 0xfc | r7 -= 0xfc;
0x0000826a movs r0, r0 |
0x0000826c str r6, [r5, 4] | *((r5 + 4)) = r6;
0x0000826e movs r0, r0 |
0x00008270 subs r7, 0xe4 | r7 -= 0xe4;
0x00008272 movs r0, r0 |
0x00008274 str r6, [r2, 4] | *((r2 + 4)) = r6;
0x00008276 movs r0, r0 |
0x00008278 strb r4, [r4, r3] | *((r4 + r3)) = r4;
0x0000827a movs r0, r0 |
0x0000827c subs r7, 0xc2 | r7 -= 0xc2;
0x0000827e movs r0, r0 |
0x00008280 str r4, [r6] | *(r6) = r4;
0x00008282 movs r0, r0 |
0x00008284 push {r3, r4, r5, r6, r7, lr} |
| if (r0 == 0) {
0x00008286 cbz r0, 0x82e6 | goto label_23;
| }
0x00008288 mov r5, r1 | r5 = r1;
0x0000828a cmp r1, 0 |
| if (r1 == 0) {
0x0000828c beq 0x82fc | goto label_24;
| }
0x0000828e mov r4, r0 | r4 = r0;
0x00008290 ldr r6, [r0] | r6 = *(r0);
0x00008292 cmp r6, 0 |
| if (r6 == 0) {
0x00008294 beq 0x8312 | goto label_25;
| }
0x00008296 ldr r7, [r1] | r7 = *(r1);
0x00008298 cmp r7, 0 |
| if (r7 == 0) {
0x0000829a beq 0x8328 | goto label_26;
| }
0x0000829c ldr r0, [r0, 4] | r0 = *((r0 + 4));
0x0000829e ldr r1, [r1, 4] | r1 = *((r1 + 4));
0x000082a0 cmp r0, 0 |
0x000082a2 it ne |
| if (r0 != 0) {
0x000082a4 cmpne r1, 0 | __asm ("cmpne r1, 0");
| }
| if (r0 != 0) {
0x000082a6 bne 0x82d0 | goto label_27;
| }
0x000082a8 cmp r0, r1 |
| if (r0 <= r1) {
0x000082aa blo 0x833e | goto label_28;
| }
| if (r0 > r1) {
0x000082ac bhi 0x82e2 | goto label_29;
| }
| do {
0x000082ae mov r1, r7 | r1 = r7;
0x000082b0 mov r0, r6 | r0 = r6;
0x000082b2 blx 0x2e8c | r0 = parse_boolean_argument ();
| if (r0 == 0) {
0x000082b6 cbnz r0, 0x82ce |
0x000082b8 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x000082ba ldr r1, [r5, 8] | r1 = *((r5 + 8));
0x000082bc cmp r0, 0 |
0x000082be it ne |
| if (r0 != 0) {
0x000082c0 cmpne r1, 0 | __asm ("cmpne r1, 0");
| }
| if (r0 != 0) {
0x000082c2 bne 0x82da | goto label_30;
| }
0x000082c4 cmp r0, r1 |
| if (r0 <= r1) {
0x000082c6 blo 0x833e | goto label_28;
| }
0x000082c8 ite hi |
| if (r0 <= r1) {
0x000082ca movhi r0, 1 | r0 = 1;
| }
| if (r0 <= r1) {
0x000082cc movls r0, 0 | r0 = 0;
| goto label_31;
| }
| }
| label_31:
0x000082ce pop {r3, r4, r5, r6, r7, pc} |
| label_27:
0x000082d0 blx 0x2e8c | r0 = parse_boolean_argument ();
0x000082d4 cmp r0, 0 |
0x000082d6 beq 0x82ae |
| } while (r0 == 0);
0x000082d8 pop {r3, r4, r5, r6, r7, pc} |
| label_30:
0x000082da pop.w {r3, r4, r5, r6, r7, lr} |
0x000082de b.w 0x2e88 | goto label_7;
| label_29:
0x000082e2 movs r0, 1 | r0 = 1;
0x000082e4 pop {r3, r4, r5, r6, r7, pc} |
| label_23:
0x000082e6 ldr r1, [pc, 0x5c] |
0x000082e8 movw r2, 0x2f9 | r2 = 0x2f9;
0x000082ec ldr r3, [pc, 0x58] |
0x000082ee ldr r0, [pc, 0x5c] |
0x000082f0 add r1, pc | r1 = 0x1063a;
0x000082f2 add r3, pc | r3 = 0x1063e;
0x000082f4 adds r1, 7 | r1 += 7;
0x000082f6 add r0, pc | r0 = 0x10648;
0x000082f8 blx 0x2a34 | fcn_00002a34 ();
| label_24:
0x000082fc ldr r1, [pc, 0x50] |
0x000082fe movw r2, 0x2fa | r2 = 0x2fa;
0x00008302 ldr r3, [pc, 0x50] |
0x00008304 ldr r0, [pc, 0x50] |
0x00008306 add r1, pc | r1 = 0x1065a;
0x00008308 add r3, pc | r3 = 0x10662;
0x0000830a adds r1, 7 | r1 += 7;
0x0000830c add r0, pc | r0 = 0x10668;
0x0000830e blx 0x2a34 | fcn_00002a34 ();
| label_25:
0x00008312 ldr r1, [pc, 0x48] |
0x00008314 movw r2, 0x2fb | r2 = 0x2fb;
0x00008316 movs r2, 0xfb | r2 = 0xfb;
0x00008318 ldr r3, [pc, 0x44] |
0x0000831a ldr r0, [pc, 0x48] |
0x0000831c add r1, pc | r1 = 0x1067e;
0x0000831e add r3, pc | r3 = 0x10682;
0x00008320 adds r1, 7 | r1 += 7;
0x00008322 add r0, pc | r0 = 0x1068c;
0x00008324 blx 0x2a34 | fcn_00002a34 ();
| label_26:
0x00008328 ldr r1, [pc, 0x3c] |
0x0000832a mov.w r2, 0x2fc | r2 = 0x2fc;
0x0000832e ldr r3, [pc, 0x3c] |
0x00008330 ldr r0, [pc, 0x3c] |
0x00008332 add r1, pc | r1 = 0x1069e;
0x00008334 add r3, pc | r3 = 0x106a6;
0x00008336 adds r1, 7 | r1 += 7;
0x00008338 add r0, pc | r0 = 0x106ac;
0x0000833a blx 0x2a34 | fcn_00002a34 ();
| label_28:
0x0000833e mov.w r0, -1 | r0 = -1;
0x00008342 pop {r3, r4, r5, r6, r7, pc} |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/busctl @ 0x9b54 */
| #include <stdint.h>
|
| #define SWAP32(n) ((uint32_t) (((n & 0x000000ff) << 24) | \
| ((n & 0x0000ff00) << 8) | \
| ((n & 0x00ff0000) >> 8) | \
| ((n & 0xff000000) >> 24)))
| #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
|
; (fcn) fcn.00009b54 () | void fcn_00009b54 (int16_t arg_14h, uint32_t arg1, int16_t arg2) {
| 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_2;
| int16_t var_40h_2;
| int32_t var_4h_5;
| int32_t var_8h_4;
| int32_t var_ch_4;
| int32_t var_10h_4;
| int32_t var_14h_5;
| int32_t var_18h_4;
| int32_t var_1ch_4;
| int32_t var_20h_5;
| int32_t var_24h_3;
| int32_t var_28h_2;
| void * base;
| int32_t var_30h_3;
| int32_t var_34h_3;
| int32_t var_38h_3;
| int32_t var_3ch_2;
| int32_t var_40h_5;
| int32_t var_44h;
| int16_t var_4ch_3;
| int32_t var_4ch_4;
| int16_t var_54h;
| int16_t var_58h_2;
| int32_t var_5ch_2;
| void * ptr;
| int32_t var_60h_3;
| int16_t var_68h_2;
| int32_t var_6ch_2;
| int32_t var_70h_2;
| int32_t var_74h_2;
| int32_t var_74h_3;
| int32_t var_7ch_2;
| int16_t var_80h_2;
| void * s;
| int32_t var_88h;
| int32_t var_ach_2;
| int16_t var_0h_6;
| int16_t var_0h_2;
| int16_t var_4h_2;
| int32_t var_4h_6;
| int16_t var_ch_2;
| int16_t var_10h_2;
| int16_t var_14h_2;
| int16_t var_1ch_2;
| int16_t var_20h_3;
| int16_t var_24h_2;
| int16_t var_2fh;
| int16_t var_30h;
| int16_t var_34h;
| int16_t var_38h;
| int16_t var_6h;
| int16_t var_3ch;
| int16_t var_40h;
| int32_t var_40h_4;
| int16_t var_48h;
| int16_t var_4ch;
| int16_t var_0h_3;
| int16_t var_4h_3;
| int16_t var_8h_2;
| int16_t var_ch_3;
| int16_t var_10h_3;
| int16_t var_14h_3;
| int16_t var_18h_2;
| int16_t var_1ch_3;
| int16_t var_20h_4;
| int16_t var_28h;
| int16_t var_2ch;
| int16_t var_30h_2;
| int16_t var_34h_2;
| int16_t var_38h_2;
| int16_t var_40h_3;
| int32_t var_44h_2;
| int32_t var_44h_3;
| int16_t var_4ch_2;
| int16_t var_50h;
| int16_t var_58h;
| int16_t var_5ch;
| int16_t var_60h;
| int16_t var_64h;
| int16_t var_68h;
| int16_t var_6ch;
| int16_t var_70h;
| int16_t var_74h;
| int16_t var_78h;
| int16_t var_7ch;
| int16_t var_80h;
| int32_t var_88h_2;
| int32_t var_88h_3;
| int16_t var_90h;
| int16_t var_94h;
| int16_t var_98h;
| int16_t var_9ch;
| int16_t var_a0h;
| int16_t var_a4h;
| int16_t var_a8h;
| int16_t var_ach;
| int16_t var_b0h;
| int16_t var_b4h;
| int16_t var_b8h;
| int16_t var_bch;
| int16_t var_c0h;
| int16_t var_c4h;
| int16_t var_c8h;
| int16_t var_cch;
| int16_t var_d0h;
| int16_t var_d4h;
| int16_t var_d8h;
| int16_t var_dch;
| int16_t var_e0h;
| int16_t var_e4h;
| int16_t var_e8h;
| int16_t var_ech;
| int16_t var_f0h;
| int16_t var_f4h;
| int16_t var_f8h;
| int16_t var_fch;
| int16_t var_100h;
| int32_t var_108h;
| int32_t var_108h_2;
| int16_t var_110h;
| int16_t var_114h;
| int16_t var_118h;
| int16_t var_11ch;
| int32_t var_120h;
| int32_t var_120h_2;
| int16_t var_128h;
| int16_t var_12ch;
| int16_t var_130h;
| int16_t var_134h;
| int16_t var_138h;
| int16_t var_13ch;
| int16_t var_140h;
| int16_t var_144h;
| int16_t var_148h;
| int16_t var_14ch;
| int16_t var_150h;
| int16_t var_154h;
| int16_t var_158h;
| int16_t var_15ch;
| int16_t var_160h;
| int16_t var_164h;
| int16_t var_168h;
| int16_t var_16ch;
| int16_t var_170h;
| int16_t var_174h;
| int16_t var_178h;
| int16_t var_17ch;
| int16_t var_180h;
| int16_t var_184h;
| int16_t var_188h;
| int16_t var_18ch;
| int16_t var_190h;
| int16_t var_194h;
| int16_t var_198h;
| int16_t var_19ch;
| int16_t var_1a0h;
| int16_t var_1a4h;
| int16_t var_1a8h;
| int16_t var_1a9h;
| int16_t var_1ach;
| int16_t var_0h_4;
| int16_t var_0h_5;
| int16_t var_4h_4;
| int16_t var_8h_3;
| int32_t var_ch_5;
| int32_t var_ch_6;
| int16_t var_14h_4;
| int16_t var_18h_3;
| int16_t var_20h;
| int16_t var_24h;
| r0 = arg1;
| r1 = arg2;
0x00009b54 blmi 0xd1c428 | __asm ("blmi 0xd1c428");
0x00009b58 push {r4, r5, r6, r7, lr} |
0x00009b5a movs r6, 0 | r6 = 0;
0x00009b5c add r2, pc | r2 += pc;
0x00009b5e sub sp, 0x2c |
0x00009b60 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00009b62 ldr r3, [r3] | r3 = *(r3);
0x00009b64 str r3, [sp, 0x24] | var_24h = r3;
0x00009b66 mov.w r3, 0 | r3 = 0;
0x00009b6a str r6, [sp, 0x20] | var_20h = r6;
0x00009b6c cmp r0, 0 |
| if (r0 == 0) {
0x00009b6e beq 0x9bf4 | goto label_42;
| }
0x00009b70 mov r7, r1 | r7 = r1;
0x00009b72 mov r1, r6 | r1 = r6;
0x00009b74 mov r4, r0 | r4 = r0;
0x00009b76 blx 0x2ce4 | r0 = fcn_00002ce4 ();
0x00009b7a mov r5, r0 | r5 = r0;
0x00009b7c cmp r0, 0 |
| if (r0 == 0) {
0x00009b7e beq 0x9c0a | goto label_43;
| }
0x00009b80 mov r0, r4 | r0 = r4;
0x00009b82 add r1, sp, 0x20 | r1 += var_20h;
0x00009b84 bl 0x9a3c | r0 = fcn_00009a3c (r0, r1);
0x00009b88 subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x00009b8a blt 0x9bba | goto label_44;
| }
0x00009b8c ldr r3, [pc, 0x9c] |
0x00009b8e movs r0, 0xc | r0 = 0xc;
0x00009b90 ldr r1, [sp, 0x20] | r1 = var_20h;
0x00009b92 movs r2, 8 | r2 = 8;
0x00009b94 str r2, [sp, 0x18] | var_18h_3 = r2;
0x00009b96 movs r2, 9 | r2 = 9;
0x00009b98 add r3, pc | r3 = 0x137c8;
0x00009b9a str r5, [sp, 4] | var_4h_4 = r5;
0x00009b9c strd r3, r0, [sp, 0xc] | __asm ("strd r3, r0, [var_ch_5]");
0x00009ba0 mov r0, r7 | r0 = r7;
0x00009ba2 ldr r3, [pc, 0x8c] |
0x00009ba4 str r1, [sp, 0x14] | var_14h_4 = r1;
0x00009ba6 movs r1, 7 | r1 = 7;
0x00009ba8 str r2, [sp, 8] | var_8h_3 = r2;
0x00009baa add r3, pc | r3 = 0x137e0;
0x00009bac str r6, [sp] | *(sp) = r6;
0x00009bae blx 0x2b64 | r0 = fcn_00002b64 ();
0x00009bb2 cmp r0, 0 |
0x00009bb4 it ge |
| if (r0 < 0) {
0x00009bb6 movge r4, r6 | r4 = r6;
| }
0x00009bb8 blt 0x9bdc |
| while (1) {
| label_44:
0x00009bba ldr r0, [sp, 0x20] | r0 = var_20h;
| if (r0 != 0) {
0x00009bbc cbz r0, 0x9bc2 |
0x00009bbe blx 0x2e10 | fcn_00002e10 ();
| }
0x00009bc2 ldr r2, [pc, 0x70] |
0x00009bc4 ldr r3, [pc, 0x60] | r3 = *(0x9c28);
0x00009bc6 add r2, pc | r2 = 0x13800;
0x00009bc8 ldr r3, [r2, r3] | r3 = *(0x13800);
0x00009bca ldr r2, [r3] | r2 = *(0x13800);
0x00009bcc ldr r3, [sp, 0x24] | r3 = var_24h;
0x00009bce eors r2, r3 | r2 ^= r3;
0x00009bd0 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00009bd4 bne 0x9c20 | goto label_45;
| }
0x00009bd6 mov r0, r4 | r0 = r4;
0x00009bd8 add sp, 0x2c |
0x00009bda pop {r4, r5, r6, r7, pc} |
0x00009bdc ldr r1, [pc, 0x58] |
0x00009bde mov.w r2, 0x7c0 | r2 = 0x7c0;
0x00009be2 ldr r3, [pc, 0x58] |
0x00009be4 movs r0, 3 | r0 = 3;
0x00009be6 add r1, pc | r1 = 0x13822;
0x00009be8 add r3, pc | r3 = 0x1382a;
0x00009bea adds r1, 7 | r1 += 7;
0x00009bec blx 0x2ea8 | r0 = fcn_00002ea8 ();
0x00009bf0 mov r4, r0 | r4 = r0;
0x00009bf2 b 0x9bba |
| }
| label_42:
0x00009bf4 ldr r1, [pc, 0x48] |
0x00009bf6 movw r2, 0x7b4 | r2 = 0x7b4;
0x00009bf8 strb r4, [r6, 0xa] | *((r6 + 0xa)) = r4;
0x00009bfa ldr r3, [pc, 0x48] |
0x00009bfc ldr r0, [pc, 0x48] |
0x00009bfe add r1, pc | r1 = 0x13842;
0x00009c00 add r3, pc | r3 = 0x1384a;
0x00009c02 adds r1, 7 | r1 += 7;
0x00009c04 add r0, pc | r0 = 0x13850;
0x00009c06 blx 0x2a34 | fcn_00002a34 ();
| label_43:
0x00009c0a ldr r1, [pc, 0x40] |
0x00009c0c movw r2, 0x7b7 | r2 = 0x7b7;
0x00009c10 ldr r3, [pc, 0x3c] |
0x00009c12 ldr r0, [pc, 0x40] |
0x00009c14 add r1, pc | r1 = 0x13866;
0x00009c16 add r3, pc | r3 = 0x1386a;
0x00009c18 adds r1, 7 | r1 += 7;
0x00009c1a add r0, pc | r0 = 0x13874;
0x00009c1c blx 0x2a34 | fcn_00002a34 ();
| label_45:
0x00009c20 blx 0x2c24 | fcn_00002c24 ();
0x00009c24 str r4, [r7, r5] | *((r7 + r5)) = r4;
0x00009c26 movs r1, r0 | r1 = r0;
0x00009c28 lsls r0, r0, 0xc | r0 <<= 0xc;
0x00009c2a movs r0, r0 |
0x00009c2c subs r6, 0xd0 | r6 -= 0xd0;
0x00009c2e movs r0, r0 |
0x00009c30 movs r1, 0x52 | r1 = 0x52;
0x00009c32 movs r0, r0 |
0x00009c34 str r2, [r2, r4] | *((r2 + r4)) = r2;
0x00009c36 movs r1, r0 | r1 = r0;
0x00009c38 movs r5, 0xb6 | r5 = 0xb6;
0x00009c3a movs r0, r0 |
0x00009c3c mov ip, r0 |
0x00009c3e movs r0, r0 |
0x00009c40 movs r5, 0x9e | r5 = 0x9e;
0x00009c42 movs r0, r0 |
0x00009c44 cmp r4, r3 |
0x00009c46 movs r0, r0 |
0x00009c48 rsbs r0, r3, 0 | r0 = r3 - ;
0x00009c4a movs r0, r0 |
0x00009c4c movs r5, 0x88 | r5 = 0x88;
0x00009c4e movs r0, r0 |
0x00009c50 cmp r6, r0 |
0x00009c52 movs r0, r0 |
0x00009c54 subs r6, 0x56 | r6 -= 0x56;
0x00009c56 movs r0, r0 |
0x00009c58 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00009c5c mov r3, r1 | r3 = r1;
0x00009c5e sub sp, 0x1b4 |
0x00009c60 ldr r2, [pc, 0x2f8] |
0x00009c62 movs r6, 0 | r6 = 0;
0x00009c64 add r1, sp, 0x1a0 | r1 += var_1a0h;
0x00009c66 str r3, [sp, 0x19c] | var_19ch = r3;
0x00009c68 mov r4, r0 | r4 = r0;
0x00009c6a ldr r3, [pc, 0x2f4] | r3 = *(0x9f62);
0x00009c6c add r2, pc | r2 = 0x13bcc;
0x00009c6e ldr r3, [r2, r3] |
0x00009c70 ldr r3, [r3] | r3 = *(0x13bcc);
0x00009c72 str r3, [sp, 0x1ac] | var_1ach = r3;
0x00009c74 mov.w r3, 0 | r3 = 0;
0x00009c78 strd r6, r6, [sp, 0x1a0] | __asm ("strd r6, r6, [var_1a0h]");
0x00009c7c bl 0x9b54 | r0 = fcn_00009b54 (r0, r1, r2);
0x00009c80 subs r5, r0, 0 | r5 = r0 - 0;
| if (r5 < r0) {
0x00009c82 blt.w 0x9ec2 | goto label_46;
| }
0x00009c86 ldr.w r5, [r4, 0x104] | r5 = *((r4 + 0x104));
0x00009c8a ldrd sl, r7, [r4, 0xe8] | __asm ("ldrd sl, r7, [r4, 0xe8]");
0x00009c8e ldrb r3, [r5] | r3 = *(r5);
0x00009c90 strb.w r6, [sp, 0x1a9] | var_1a9h = r6;
0x00009c94 strb.w r3, [sp, 0x1a8] | var_1a8h = r3;
0x00009c98 orrs.w r3, sl, r7 | r3 = sl | r7;
0x00009c9c itt ne |
| if (r3 == sl) {
0x00009c9e movne sb, sl | sb = sl;
| }
| if (r3 == sl) {
0x00009ca0 movne r8, r7 | r8 = r7;
| }
| if (r3 == sl) {
0x00009ca2 beq.w 0x9f0a | goto label_47;
| }
| label_0:
0x00009ca6 ldrb r0, [r5, 1] | r0 = *((r5 + 1));
0x00009ca8 blx 0x2a28 | fcn_00002a28 ();
0x00009cac ldrb r2, [r5, 3] | r2 = *((r5 + 3));
0x00009cae mov.w lr, 0 | lr = 0;
0x00009cb2 ldrb r3, [r5, 2] | r3 = *((r5 + 2));
0x00009cb4 str r0, [sp, 0x188] | var_188h = r0;
0x00009cb6 cmp r2, 2 |
0x00009cb8 str r2, [sp, 0x180] | var_180h = r2;
0x00009cba str r3, [sp, 0x18c] | var_18ch = r3;
0x00009cbc ldrb r3, [r5] | r3 = *(r5);
0x00009cbe ldr r2, [r5, 8] | r2 = *((r5 + 8));
| if (r2 == 2) {
0x00009cc0 beq.w 0x9f1e | goto label_48;
| }
0x00009cc4 cmp r3, 0x6c |
0x00009cc6 mov.w r3, 0 | r3 = 0;
0x00009cca it ne |
| if (r3 != 0x6c) {
0x00009ccc revne r2, r2 | __asm ("revne r2, r2");
| }
0x00009cce str r3, [sp, 0x17c] | var_17ch = r3;
0x00009cd0 str r2, [sp, 0x178] | var_178h = r2;
| label_1:
0x00009cd2 strd sb, r8, [sp, 0x120] | __asm ("strd sb, r8, [var_120h]");
0x00009cd6 ldr.w r1, [r4, 0xf0] | r1 = *((r4 + 0xf0));
0x00009cda ldr.w ip, [pc, 0x288] |
0x00009cde str r1, [sp, 0x138] | var_138h = r1;
0x00009ce0 ldr.w r2, [r4, 0xf4] | r2 = *((r4 + 0xf4));
0x00009ce4 add ip, pc | ip = 0x13c4e;
0x00009ce6 str r2, [sp, 0x13c] | var_13ch = r2;
0x00009ce8 ldr r3, [r4, 0x2c] | r3 = *((r4 + 0x2c));
0x00009cea str r3, [sp, 0x150] | var_150h = r3;
0x00009cec subs r3, 0 |
0x00009cee it ne |
| if (r3 == 0) {
0x00009cf0 movne r3, 1 | r3 = 1;
| }
0x00009cf2 orrs r2, r1 | r2 |= r1;
0x00009cf4 str r3, [sp, 0x144] | var_144h = r3;
0x00009cf6 ldrd r3, r5, [r4, 0x24] | __asm ("ldrd r3, r5, [r4, 0x24]");
0x00009cfa ldrd r2, r6, [r4, 0xe0] | __asm ("ldrd r2, r6, [r4, 0xe0]");
0x00009cfe ldrd r1, r0, [r4, 0x10] | __asm ("ldrd r1, r0, [r4, 0x10]");
0x00009d02 str r3, [sp, 0x168] | var_168h = r3;
0x00009d04 ldr r3, [r4, 0x18] | r3 = *((r4 + 0x18));
0x00009d06 str r2, [sp, 0x198] | var_198h = r2;
0x00009d08 str r3, [sp, 0x16c] | var_16ch = r3;
0x00009d0a ldr r3, [r4, 0x1c] | r3 = *((r4 + 0x1c));
0x00009d0c str r3, [sp, 0x170] | var_170h = r3;
0x00009d0e ldr r3, [r4, 0x20] | r3 = *((r4 + 0x20));
0x00009d10 str r3, [sp, 0x174] | var_174h = r3;
0x00009d12 ite ne |
| if (r2 == r1) {
0x00009d14 movne r3, 1 | r3 = 1;
| }
| if (r2 != r1) {
0x00009d16 moveq r3, 0 | r3 = 0;
| }
0x00009d18 orrs.w r8, sb, r8 | r8 = sb | r8;
0x00009d1c str r3, [sp, 0x12c] | var_12ch = r3;
0x00009d1e it ne |
| if (r8 == sb) {
0x00009d20 movne r4, 1 | r4 = 1;
| }
0x00009d22 ldr r3, [sp, 0x1a0] | r3 = var_1a0h;
0x00009d24 it eq |
| if (r8 != sb) {
0x00009d26 moveq r4, 0 | r4 = 0;
| }
0x00009d28 str r4, [sp, 0x114] | var_114h = r4;
0x00009d2a ldr.w r8, [pc, 0x23c] |
0x00009d2e str r3, [sp, 0x160] | var_160h = r3;
0x00009d30 orrs.w r3, r2, r6 | r3 = r2 | r6;
0x00009d34 ldr r3, [pc, 0x234] |
0x00009d36 mov.w r2, 9 | r2 = 9;
0x00009d3a ite ne |
| if (r3 == r2) {
0x00009d3c movne r4, 1 | r4 = 1;
| }
| if (r3 != r2) {
0x00009d3e moveq r4, 0 | r4 = 0;
| }
0x00009d40 str r2, [sp, 0x154] | var_154h = r2;
0x00009d42 add r8, pc | r8 = 0x13cb0;
0x00009d44 add r3, pc | r3 = 0x13cb4;
0x00009d46 str r4, [sp, 0xf8] | var_f8h = r4;
0x00009d48 str r3, [sp, 0x158] | var_158h = r3;
0x00009d4a ldr r3, [pc, 0x224] |
0x00009d4c ldr.w sb, [pc, 0x224] |
0x00009d50 add r3, pc | r3 = 0x13cc6;
0x00009d52 str r3, [sp, 0x148] | var_148h = r3;
0x00009d54 add sb, pc | sb = 0x13ccc;
0x00009d56 ldr r3, [pc, 0x220] |
0x00009d58 add r3, pc | r3 = 0x13cd6;
0x00009d5a str r3, [sp, 0x130] | var_130h = r3;
0x00009d5c ldr r3, [sp, 0x174] | r3 = var_174h;
0x00009d5e str r5, [sp, 0x184] | var_184h = r5;
0x00009d60 strd r1, r0, [sp, 0x190] | __asm ("strd r1, r0, [var_190h]");
0x00009d64 subs r4, r3, 0 | r4 = r3 - 0;
0x00009d66 ldr r3, [sp, 0x168] | r3 = var_168h;
0x00009d68 it ne |
| if (r4 == r3) {
0x00009d6a movne r4, 1 | r4 = 1;
| }
0x00009d6c str.w ip, [sp, 0x118] | __asm ("str.w ip, [var_118h]");
0x00009d70 str r4, [sp, 0xe4] | var_e4h = r4;
0x00009d72 ldr r4, [sp, 0x170] | r4 = var_170h;
0x00009d74 subs.w fp, r4, 0 |
0x00009d78 ldr r4, [sp, 0x16c] | r4 = var_16ch;
0x00009d7a it ne |
| if (fp == r4) {
0x00009d7c movne fp, 1 |
| }
0x00009d80 str.w fp, [sp, 0xd0] | __asm ("str.w fp, [var_d0h]");
0x00009d84 subs.w fp, r4, 0 |
0x00009d88 mov.w r4, 0 | r4 = 0;
0x00009d8c it ne |
| if (fp == r4) {
0x00009d8e movne fp, 1 |
| }
0x00009d92 str r4, [sp, 0x14c] | var_14ch = r4;
0x00009d94 str.w fp, [sp, 0xbc] | __asm ("str.w fp, [var_bch]");
0x00009d98 subs.w fp, r3, 0 |
0x00009d9c it ne |
| if (fp == r3) {
0x00009d9e movne fp, 1 |
| }
0x00009da2 str.w fp, [sp, 0xa8] | __asm ("str.w fp, [var_a8h]");
0x00009da6 subs.w fp, r5, 0 |
0x00009daa ldr r5, [sp, 0x198] | r5 = var_198h;
0x00009dac it ne |
| if (fp == r5) {
0x00009dae movne fp, 1 |
| }
0x00009db2 orrs.w r3, r1, r0 | r3 = r1 | r0;
0x00009db6 mov.w r0, 1 | r0 = 1;
0x00009dba str.w fp, [sp, 0x94] | __asm ("str.w fp, [var_94h]");
0x00009dbe it ne |
| if (r3 == r1) {
0x00009dc0 movne fp, r0 |
| }
0x00009dc2 strd r5, r6, [sp, 0x108] | __asm ("strd r5, r6, [var_108h]");
0x00009dc6 it eq |
| if (r3 != r1) {
0x00009dc8 moveq fp, r4 |
| }
0x00009dca ldr r5, [sp, 0x174] | r5 = var_174h;
0x00009dcc movs r1, 0xa | r1 = 0xa;
0x00009dce ldr r6, [pc, 0x1ac] |
0x00009dd0 str.w fp, [sp, 0x64] | __asm ("str.w fp, [var_64h]");
0x00009dd4 mov.w fp, 8 |
0x00009dd8 str r5, [sp, 0xf0] | var_f0h = r5;
0x00009dda ldr r5, [pc, 0x1a4] |
0x00009ddc add r6, pc | r6 = 0x13d5e;
0x00009dde str r6, [sp, 0xfc] | var_fch = r6;
0x00009de0 ldr r6, [sp, 0x170] | r6 = var_170h;
0x00009de2 add r5, pc | r5 = 0x13d68;
0x00009de4 str.w fp, [sp, 0x164] | __asm ("str.w fp, [var_164h]");
0x00009de8 str r5, [sp, 0xe8] | var_e8h = r5;
0x00009dea mov.w fp, 0xc |
0x00009dee ldr r5, [pc, 0x194] |
0x00009df0 str r6, [sp, 0xdc] | var_dch = r6;
0x00009df2 ldr r6, [sp, 0x16c] | r6 = var_16ch;
0x00009df4 add r5, pc | r5 = 0x13d7e;
0x00009df6 str r1, [sp, 0x140] | var_140h = r1;
0x00009df8 str r5, [sp, 0xd4] | var_d4h = r5;
0x00009dfa ldr r5, [pc, 0x18c] |
0x00009dfc str r1, [sp, 0x128] | var_128h = r1;
0x00009dfe str r0, [sp, 0x134] | var_134h = r0;
0x00009e00 add r5, pc | r5 = 0x13d8e;
0x00009e02 str r0, [sp, 0x11c] | var_11ch = r0;
0x00009e04 str.w fp, [sp, 0x15c] | __asm ("str.w fp, [var_15ch]");
0x00009e08 str r6, [sp, 0xc8] | var_c8h = r6;
0x00009e0a str r5, [sp, 0xc0] | var_c0h = r5;
0x00009e0c ldr r5, [pc, 0x17c] |
0x00009e0e ldr r6, [sp, 0x168] | r6 = var_168h;
0x00009e10 str r1, [sp, 0x110] | var_110h = r1;
0x00009e12 add r5, pc | r5 = 0x13da2;
0x00009e14 str r1, [sp, 0xf4] | var_f4h = r1;
0x00009e16 str r5, [sp, 0xac] | var_ach = r5;
0x00009e18 ldr r5, [pc, 0x174] |
0x00009e1a str r1, [sp, 0xe0] | var_e0h = r1;
0x00009e1c str r1, [sp, 0xcc] | var_cch = r1;
0x00009e1e add r5, pc | r5 = 0x13db2;
0x00009e20 str r1, [sp, 0xb8] | var_b8h = r1;
0x00009e22 str r5, [sp, 0x98] | var_98h = r5;
0x00009e24 ldr r5, [pc, 0x16c] |
0x00009e26 str r1, [sp, 0xa4] | var_a4h = r1;
0x00009e28 str r1, [sp, 0x90] | var_90h = r1;
0x00009e2a add r5, pc | r5 = 0x13dc2;
0x00009e2c str r1, [sp, 0x60] | var_60h = r1;
0x00009e2e str r5, [sp, 0x7c] | var_7ch = r5;
0x00009e30 ldr r5, [sp, 0x190] | r5 = var_190h;
0x00009e32 ldr r1, [sp, 0x178] | r1 = var_178h;
0x00009e34 str r6, [sp, 0xb4] | var_b4h = r6;
0x00009e36 str r5, [sp, 0x70] | var_70h = r5;
0x00009e38 ldr r5, [sp, 0x194] | r5 = var_194h;
0x00009e3a ldr r6, [sp, 0x184] | r6 = var_184h;
0x00009e3c str r1, [sp, 0x58] | var_58h = r1;
0x00009e3e str r5, [sp, 0x74] | var_74h = r5;
0x00009e40 ldr r5, [pc, 0x154] |
0x00009e42 ldr r1, [sp, 0x17c] | r1 = var_17ch;
0x00009e44 str r0, [sp, 0x100] | var_100h = r0;
0x00009e46 add r5, pc | r5 = 0x13de2;
0x00009e48 str r6, [sp, 0xa0] | var_a0h = r6;
0x00009e4a str r5, [sp, 0x68] | var_68h = r5;
0x00009e4c str r4, [sp, 0xec] | var_ech = r4;
0x00009e4e str r4, [sp, 0xd8] | var_d8h = r4;
0x00009e50 str r4, [sp, 0xc4] | var_c4h = r4;
0x00009e52 str r4, [sp, 0xb0] | var_b0h = r4;
0x00009e54 str r4, [sp, 0x9c] | var_9ch = r4;
0x00009e56 strd sl, r7, [sp, 0x88] | __asm ("strd sl, r7, [var_88h_2]");
0x00009e5a str r1, [sp, 0x5c] | var_5ch = r1;
0x00009e5c ldr r1, [pc, 0x13c] |
0x00009e5e ldr r3, [pc, 0x140] |
0x00009e60 str r0, [sp, 0x6c] | var_6ch = r0;
0x00009e62 add r1, pc | r1 = 0x13e02;
0x00009e64 str r0, [sp, 0x50] | var_50h = r0;
0x00009e66 str r1, [sp, 0x4c] | var_4ch_2 = r1;
0x00009e68 add r3, pc | r3 = 0x13e0e;
0x00009e6a ldr r1, [sp, 0x180] | r1 = var_180h;
0x00009e6c str r0, [sp, 0x38] | var_38h_2 = r0;
0x00009e6e str r0, [sp, 0x20] | var_20h_4 = r0;
0x00009e70 add r0, sp, 0x1a4 | r0 += var_1a4h;
0x00009e72 str r1, [sp, 0x40] | var_40h_3 = r1;
0x00009e74 ldr r1, [pc, 0x12c] |
0x00009e76 str.w r8, [sp, 0xc] | __asm ("str.w r8, [var_ch_3]");
0x00009e7a str r2, [sp, 0x18] | var_18h_2 = r2;
0x00009e7c add r1, pc | r1 = 0x13e24;
0x00009e7e str r4, [sp, 0x10] | var_10h_3 = r4;
0x00009e80 str r1, [sp, 0x34] | var_34h_2 = r1;
0x00009e82 ldr r1, [sp, 0x18c] | r1 = var_18ch;
0x00009e84 str r2, [sp, 8] | var_8h_2 = r2;
0x00009e86 str r4, [sp] | *(sp) = r4;
0x00009e88 str r1, [sp, 0x28] | var_28h = r1;
0x00009e8a ldr r1, [sp, 0x188] | r1 = var_188h;
0x00009e8c str.w sb, [sp, 0x1c] | __asm ("str.w sb, [var_1ch_3]");
0x00009e90 str r2, [sp, 0x78] | var_78h = r2;
0x00009e92 str r1, [sp, 4] | var_4h_3 = r1;
0x00009e94 movs r1, 2 | r1 = 2;
0x00009e96 str r1, [sp, 0x80] | var_80h = r1;
0x00009e98 add r1, sp, 0x1a8 | r1 += var_1a8h;
0x00009e9a str r1, [sp, 0x14] | var_14h_3 = r1;
0x00009e9c movs r1, 7 | r1 = 7;
0x00009e9e strd lr, r2, [sp, 0x44] | __asm ("strd lr, r2, [var_44h_2]");
0x00009ea2 str.w lr, [sp, 0x2c] | __asm ("str.w lr, [var_2ch]");
0x00009ea6 str r2, [sp, 0x30] | var_30h_2 = r2;
0x00009ea8 blx 0x2b64 | fcn_00002b64 ();
0x00009eac subs r5, r0, 0 | r5 -= var_1a4h;
| if (r5 < var_1a4h) {
0x00009eae blt 0x9ef0 | goto label_49;
| }
0x00009eb0 ldr r1, [pc, 0xf4] |
0x00009eb2 mov r3, r4 | r3 = r4;
0x00009eb4 ldr r0, [sp, 0x1a4] | r0 = var_1a4h;
0x00009eb6 mov r5, r4 | r5 = r4;
0x00009eb8 ldr r2, [sp, 0x19c] | r2 = var_19ch;
0x00009eba add r1, pc |
0x00009ebc ldr r1, [r1] | r1 = *(0x13e66);
0x00009ebe blx 0x2bac | fcn_00002bac ();
| do {
| label_46:
0x00009ec2 ldr r0, [sp, 0x1a4] | r0 = var_1a4h;
| if (r0 != 0) {
0x00009ec4 cbz r0, 0x9ecc |
0x00009ec6 blx 0x2e10 | fcn_00002e10 ();
0x00009eca str r0, [sp, 0x1a4] | var_1a4h = r0;
| }
0x00009ecc ldr r0, [sp, 0x1a0] | r0 = var_1a0h;
| if (r0 != 0) {
0x00009ece cbz r0, 0x9ed4 |
0x00009ed0 blx 0x2e10 | fcn_00002e10 ();
| }
0x00009ed4 ldr r2, [pc, 0xd4] |
0x00009ed6 ldr r3, [pc, 0x88] | r3 = *(0x9f62);
0x00009ed8 add r2, pc | r2 = 0x13e88;
0x00009eda ldr r3, [r2, r3] | r3 = *(0x13e88);
0x00009edc ldr r2, [r3] | r2 = *(0x13e88);
0x00009ede ldr r3, [sp, 0x1ac] | r3 = var_1ach;
0x00009ee0 eors r2, r3 | r2 ^= r3;
0x00009ee2 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x00009ee6 bne 0x9f56 | goto label_50;
| }
0x00009ee8 mov r0, r5 | r0 = r5;
0x00009eea add sp, 0x1b4 |
0x00009eec pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_49:
0x00009ef0 blx 0x27cc | r0 = log_get_max_level ();
0x00009ef4 cmp r0, 2 |
0x00009ef6 ittt le |
| if (r0 <= 2) {
0x00009ef8 rsble r5, r5, 0 | __asm ("rsble r5, r5, 0");
| }
| if (r0 <= 2) {
0x00009efa uxtble r5, r5 | __asm ("uxtble r5, r5");
| }
| if (r0 <= 2) {
0x00009efc rsble r5, r5, 0 | __asm ("rsble r5, r5, 0");
| }
| if (r0 > 2) {
0x00009efe bgt 0x9f34 | goto label_51;
| }
| label_2:
0x00009f00 cmp r5, 0 |
0x00009f02 it ge |
| if (r5 < 0) {
0x00009f04 mvnge r5, 0x55 | r5 = ~0x55;
| }
0x00009f08 b 0x9ec2 |
| } while (1);
| label_47:
0x00009f0a mov r0, r6 | r0 = r6;
0x00009f0c blx 0x2c48 | fcn_00002c48 ();
0x00009f10 ldr.w r5, [r4, 0x104] | r5 = *((r4 + 0x104));
0x00009f14 mov sl, r0 | sl = r0;
0x00009f16 ldrd sb, r8, [r4, 0xe8] | __asm ("ldrd sb, r8, [r4, 0xe8]");
0x00009f1a mov r7, r1 | r7 = r1;
0x00009f1c b 0x9ca6 | goto label_0;
| label_48:
0x00009f1e str r2, [sp, 0x178] | var_178h = r2;
0x00009f20 cmp r3, 0x6c |
0x00009f22 ldr r1, [r5, 0xc] | r1 = *((r5 + 0xc));
0x00009f24 str r1, [sp, 0x17c] | var_17ch = r1;
| if (r3 == 0x6c) {
0x00009f26 beq.w 0x9cd2 | goto label_1;
| }
0x00009f2a rev r3, r2 | r2 = SWAP32 (r3);
0x00009f2c rev r2, r1 | r1 = SWAP32 (r2);
0x00009f2e strd r2, r3, [sp, 0x178] | __asm ("strd r2, r3, [var_178h]");
0x00009f32 b 0x9cd2 | goto label_1;
| label_51:
0x00009f34 ldr r2, [pc, 0x78] |
0x00009f36 mov r1, r5 | r1 = r5;
0x00009f38 ldr r4, [pc, 0x78] |
0x00009f3a movw r3, 0x4b9 | r3 = 0x4b9;
0x00009f3e ldr r0, [pc, 0x78] |
0x00009f40 add r2, pc | r2 = 0x13ef4;
0x00009f42 add r4, pc | r4 = 0x13efa;
0x00009f44 adds r2, 7 | r2 += 7;
0x00009f46 add r0, pc | r0 = 0x13f04;
0x00009f48 strd r0, r4, [sp] | __asm ("strd r0, r4, [sp]");
0x00009f4c movs r0, 3 | r0 = 3;
0x00009f4e blx 0x2c54 | r0 = fcn_00002c54 ();
0x00009f52 mov r5, r0 | r5 = r0;
0x00009f54 b 0x9f00 | goto label_2;
| label_50:
0x00009f56 blx 0x2c24 | fcn_00002c24 ();
0x00009f5a nop |
0x00009f5c str r4, [r5, r1] | *((r5 + r1)) = r4;
0x00009f5e movs r1, r0 | r1 = r0;
0x00009f60 lsls r0, r0, 0xc | r0 <<= 0xc;
0x00009f62 movs r0, r0 |
0x00009f64 subs r5, 0xd8 | r5 -= 0xd8;
0x00009f66 movs r0, r0 |
0x00009f68 subs r5, 0xf2 | r5 -= 0xf2;
0x00009f6a movs r0, r0 |
0x00009f6c subs r5, 0x5c | r5 -= 0x5c;
0x00009f6e movs r0, r0 |
0x00009f70 subs r5, 0x58 | r5 -= 0x58;
0x00009f72 movs r0, r0 |
0x00009f74 subs r5, 0xd8 | r5 -= 0xd8;
0x00009f76 movs r0, r0 |
0x00009f78 subs r5, 0x5c | r5 -= 0x5c;
0x00009f7a movs r0, r0 |
0x00009f7c subs r4, 0xec | r4 -= 0xec;
0x00009f7e movs r0, r0 |
0x00009f80 subs r4, 0xf2 | r4 -= 0xf2;
0x00009f82 movs r0, r0 |
0x00009f84 tst r0, r6 |
0x00009f86 movs r0, r0 |
0x00009f88 subs r4, 0xdc | r4 -= 0xdc;
0x00009f8a movs r0, r0 |
0x00009f8c subs r4, 0xd2 | r4 -= 0xd2;
0x00009f8e movs r0, r0 |
0x00009f90 subs r4, 0xd2 | r4 -= 0xd2;
0x00009f92 movs r0, r0 |
0x00009f94 subs r4, 0xce | r4 -= 0xce;
0x00009f96 movs r0, r0 |
0x00009f98 subs r4, 0xc6 | r4 -= 0xc6;
0x00009f9a movs r0, r0 |
0x00009f9c subs r4, 0xba | r4 -= 0xba;
0x00009f9e movs r0, r0 |
0x00009fa0 subs r4, r2, 2 | r4 = r2 - 2;
0x00009fa2 movs r0, r0 |
0x00009fa4 subs r4, 0xa8 | r4 -= 0xa8;
0x00009fa6 movs r0, r0 |
0x00009fa8 str r2, [r1, r5] | *((r1 + r5)) = r2;
0x00009faa movs r1, r0 | r1 = r0;
0x00009fac ldr r6, [pc, 0] | r6 = *(0x9fb0);
0x00009fae movs r1, r0 | r1 = r0;
0x00009fb0 movs r2, 0x5c | r2 = 0x5c;
0x00009fb2 movs r0, r0 |
0x00009fb4 subs r3, 0xfa | r3 -= 0xfa;
0x00009fb6 movs r0, r0 |
0x00009fb8 orrs r6, r7 | r6 |= r7;
0x00009fba movs r0, r0 |
0x00009fbc ldr r2, [pc, 0x300] |
0x00009fbe movs r0, 0 | r0 = 0;
0x00009fc0 ldr r3, [pc, 0x300] | r3 = *(0xa2c4);
0x00009fc2 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00009fc6 sub sp, 0x54 |
0x00009fc8 add r2, pc | r2 = 0x1428c;
0x00009fca ldr.w sb, [pc, 0x2fc] | sb = *(0x0000a2c8);
0x00009fce mov r4, r1 | r4 = r1;
0x00009fd0 add r1, sp, 0x30 | r1 += var_30h;
0x00009fd2 ldr r3, [r2, r3] |
0x00009fd4 add sb, pc | sb += pc;
0x00009fd6 ldr r3, [r3] | r3 = *(0x1428c);
0x00009fd8 str r3, [sp, 0x4c] | var_4ch = r3;
0x00009fda mov.w r3, 0 | r3 = 0;
0x00009fde str r0, [sp, 0x30] | var_30h = r0;
0x00009fe0 strd r0, r0, [sp, 0x40] | __asm ("strd r0, r0, [var_40h]");
0x00009fe4 str r0, [sp, 0x48] | var_48h = r0;
0x00009fe6 bl 0x6bf8 | r0 = fcn_00006bf8 (r0, r1);
0x00009fea subs.w r8, r0, 0 | r8 = r0 - 0;
| if (r8 < r0) {
0x00009fee blt.w 0xa16e | goto label_52;
| }
0x00009ff2 ldr r0, [r4, 0x10] | r0 = *((r4 + 0x10));
0x00009ff4 add.w r5, r4, 0x10 | r5 = r4 + 0x10;
0x00009ff8 ldr r6, [sp, 0x30] | r6 = var_30h;
0x00009ffa cmp r0, 0 |
| if (r0 == 0) {
0x00009ffc beq.w 0xa2b4 | goto label_53;
| }
0x0000a000 ldr r3, [pc, 0x2c8] |
0x0000a002 add r7, sp, 0x40 | r7 += var_40h;
0x0000a004 ldr.w sl, [pc, 0x2c8] |
0x0000a008 mov r8, r6 | r8 = r6;
0x0000a00a ldr.w fp, [pc, 0x2c8] |
0x0000a00e add r3, pc | r3 = 0x142de;
0x0000a010 str r3, [sp, 0x1c] | var_1ch_2 = r3;
0x0000a012 add r3, sp, 0x34 | r3 += var_34h;
0x0000a014 add sl, pc | sl = 0x142e8;
0x0000a016 str r3, [sp, 0x20] | var_20h_3 = r3;
0x0000a018 mov r3, r7 | r3 = r7;
0x0000a01a add fp, pc | fp = 0x142f4;
0x0000a01c mov r7, sl | r7 = sl;
0x0000a01e mov sl, r3 | sl = r3;
0x0000a020 b 0xa070 |
| while (r2 == r3) {
0x0000a022 tst.w r3, 6 |
0x0000a026 str r2, [sp, 0x3c] | var_3ch = r2;
| if ((r3 & 6) != 0) {
0x0000a028 bne.w 0xa162 | goto label_54;
| }
| label_5:
0x0000a02c ldrd r0, r1, [sp, 0x34] | __asm ("ldrd r0, r1, [var_34h]");
0x0000a030 add r2, sp, 0x3c | r2 += var_3ch;
0x0000a032 bl 0x9934 | r0 = fcn_00009934 (r0, r1, r2);
0x0000a036 cmp r0, 0 |
| if (r0 < 0) {
0x0000a038 blt.w 0xa234 | goto label_55;
| }
0x0000a03c ldr r2, [pc, 0x298] |
0x0000a03e movs r3, 0 | r3 = 0;
0x0000a040 ldr r0, [sp, 0x3c] | r0 = var_3ch;
0x0000a042 add r2, pc | r2 = 0x1431e;
0x0000a044 ldr r1, [r2] | r1 = *(0x1431e);
0x0000a046 mov r2, r3 | r2 = r3;
0x0000a048 blx 0x2bac | fcn_00002bac ();
0x0000a04c ldr r0, [sp, 0x3c] | r0 = var_3ch;
| if (r0 != 0) {
0x0000a04e cbz r0, 0xa054 |
0x0000a050 blx 0x2e10 | fcn_00002e10 ();
| }
| label_3:
0x0000a054 ldr r0, [sp, 0x34] | r0 = var_34h;
0x0000a056 blx 0x29c8 | r0 = fcn_000029c8 ();
0x0000a05a cmp r0, 0 |
| if (r0 < 0) {
0x0000a05c blt 0xa132 | goto label_56;
| }
| label_4:
0x0000a05e ldr r0, [sp, 0x34] | r0 = var_34h;
| if (r0 != 0) {
0x0000a060 cbz r0, 0xa066 |
0x0000a062 blx 0x2718 | sd_bus_message_unref ();
| }
0x0000a066 ldr r0, [r5, 4]! | r0 = *((r5 += 4));
0x0000a06a cmp r0, 0 |
| if (r0 == 0) {
0x0000a06c beq.w 0xa22c | goto label_57;
| }
0x0000a070 ldr r6, [r4, 0xc] | r6 = *((r4 + 0xc));
0x0000a072 movs r1, 0 | r1 = 0;
0x0000a074 str r0, [sp, 0x14] | var_14h_2 = r0;
0x0000a076 mov r3, fp | r3 = fp;
0x0000a078 ldr r0, [sp, 0x20] | r0 = var_20h_3;
0x0000a07a ldr r2, [r4, 8] | r2 = *((r4 + 8));
0x0000a07c strd r1, r1, [sp, 0x34] | __asm ("strd r1, r1, [var_34h]");
0x0000a080 strd sl, r0, [sp, 4] | __asm ("strd sl, r0, [var_4h_2]");
0x0000a084 ldr r0, [sp, 0x1c] | r0 = var_1ch_2;
0x0000a086 strd r7, r6, [sp, 0xc] | __asm ("strd r7, r6, [var_10h_2]");
0x0000a08a str r0, [sp] | *(sp) = r0;
0x0000a08c mov r0, r8 | r0 = r8;
0x0000a08e ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x0000a090 blx 0x2e4c | r0 = fcn_00002e4c ();
0x0000a094 cmp r0, 0 |
| if (r0 < 0) {
0x0000a096 blt.w 0xa19e | goto label_58;
| }
0x0000a09a ldr r0, [sp, 0x34] | r0 = var_34h;
0x0000a09c add r2, sp, 0x38 | r2 += var_38h;
0x0000a09e add.w r1, sp, 0x2f | r1 += var_2fh;
0x0000a0a2 blx 0x2da4 | r0 = fcn_00002da4 ();
0x0000a0a6 cmp r0, 0 |
| if (r0 < 0) {
0x0000a0a8 blt.w 0xa1cc | goto label_59;
| }
0x0000a0ac ldrd r0, r2, [sp, 0x34] | __asm ("ldrd r0, r2, [var_34h]");
0x0000a0b0 movs r1, 0x76 | r1 = 0x76;
0x0000a0b2 blx 0x2724 | r0 = sd_bus_message_enter_container ();
0x0000a0b6 cmp r0, 0 |
| if (r0 < 0) {
0x0000a0b8 blt.w 0xa1fc | goto label_60;
| }
0x0000a0bc ldr r3, [pc, 0x21c] |
0x0000a0be add r3, pc |
0x0000a0c0 ldr r3, [r3] | r3 = *(0x1439e);
0x0000a0c2 ands r2, r3, 0x200 | r2 = r3 & 0x200;
0x0000a0c6 beq 0xa022 |
| }
0x0000a0c8 ldr r3, [pc, 0x214] |
0x0000a0ca add r3, pc | r3 = 0x143ae;
0x0000a0cc ldrb r2, [r3] | r2 = *(r3);
| if (r2 == 0) {
0x0000a0ce cbz r2, 0xa0f8 | goto label_61;
| }
0x0000a0d0 ldr r3, [pc, 0x210] |
0x0000a0d2 add r3, pc | r3 = 0x143ba;
0x0000a0d4 ldr r0, [r3] | r0 = *(0x143ba);
0x0000a0d6 blx 0x2a80 | fcn_00002a80 ();
0x0000a0da ldr r3, [pc, 0x20c] | r3 = *(0xa2ea);
0x0000a0dc movs r2, 2 | r2 = 2;
0x0000a0de ldr r0, [sp, 0x34] | r0 = var_34h;
0x0000a0e0 ldr.w r3, [sb, r3] | r3 = *((sb + r3));
0x0000a0e4 ldr r1, [r3] | r1 = *(0xa2ea);
0x0000a0e6 movs r3, 0 | r3 = 0;
0x0000a0e8 blx 0x2a74 | r0 = fcn_00002a74 ();
0x0000a0ec cmp r0, 0 |
| if (r0 >= 0) {
0x0000a0ee bge 0xa054 | goto label_3;
| }
0x0000a0f0 mov r6, r8 | r6 = r8;
0x0000a0f2 mov r7, sl | r7 = sl;
0x0000a0f4 mov r8, r0 | r8 = r0;
0x0000a0f6 b 0xa1c0 | goto label_9;
| label_61:
0x0000a0f8 ldr r3, [pc, 0x1ec] | r3 = *(0xa2e8);
0x0000a0fa str r2, [sp, 0x24] | var_24h_2 = r2;
0x0000a0fc ldr r0, [sp, 0x38] | r0 = var_38h;
0x0000a0fe ldr.w r6, [sb, r3] | r6 = *((sb + r3));
0x0000a102 ldr r1, [r6] | r1 = *(r6);
0x0000a104 blx 0x2ee4 | fcn_00002ee4 ();
0x0000a108 ldr r1, [r6] | r1 = *(r6);
0x0000a10a movs r0, 0x20 | r0 = 0x20;
0x0000a10c blx 0x2c6c | fcn_00002c6c ();
0x0000a110 ldr r2, [sp, 0x24] | r2 = var_24h_2;
0x0000a112 ldr r1, [r6] | r1 = *(r6);
0x0000a114 ldr r0, [sp, 0x34] | r0 = var_34h;
0x0000a116 bl 0x643c | r0 = fcn_0000643c (r0, r1, r2);
0x0000a11a cmp r0, 0 |
| if (r0 < 0) {
0x0000a11c blt.w 0xa27a | goto label_62;
| }
0x0000a120 ldr r1, [r6] | r1 = *(r6);
0x0000a122 movs r0, 0xa | r0 = 0xa;
0x0000a124 blx 0x2c6c | fcn_00002c6c ();
0x0000a128 ldr r0, [sp, 0x34] | r0 = var_34h;
0x0000a12a blx 0x29c8 | r0 = fcn_000029c8 ();
0x0000a12e cmp r0, 0 |
| if (r0 >= 0) {
0x0000a130 bge 0xa05e | goto label_4;
| }
| label_56:
0x0000a132 mov r6, r8 | r6 = r8;
0x0000a134 mov r8, r0 | r8 = r0;
0x0000a136 blx 0x27cc | r0 = log_get_max_level ();
0x0000a13a cmp r0, 2 |
0x0000a13c mov r7, sl | r7 = sl;
| if (r0 <= 2) {
0x0000a13e ble 0xa1ac | goto label_7;
| }
0x0000a140 ldr r3, [pc, 0x1a8] |
0x0000a142 mov r1, r8 | r1 = r8;
0x0000a144 ldr r2, [pc, 0x1a8] |
0x0000a146 movs r0, 3 | r0 = 3;
0x0000a148 add r3, pc | r3 = 0x14438;
0x0000a14a str r3, [sp, 4] | var_4h_2 = r3;
0x0000a14c add r2, pc | r2 = 0x14440;
0x0000a14e ldr r3, [pc, 0x1a4] |
0x0000a150 adds r2, 7 | r2 += 7;
0x0000a152 add r3, pc | r3 = 0x1444c;
0x0000a154 str r3, [sp] | *(sp) = r3;
0x0000a156 movw r3, 0x88b | r3 = 0x88b;
0x0000a15a blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a15e mov r8, r0 | r8 = r0;
0x0000a160 b 0xa1b6 | goto label_8;
| label_54:
0x0000a162 ldr r3, [pc, 0x194] |
0x0000a164 add r3, pc | r3 = 0x14462;
0x0000a166 ldr r0, [r3] | r0 = *(0x14462);
0x0000a168 blx 0x2a80 | fcn_00002a80 ();
0x0000a16c b 0xa02c | goto label_5;
| label_52:
0x0000a16e ldr r6, [sp, 0x30] | r6 = var_30h;
0x0000a170 add r7, sp, 0x40 | r7 += var_40h;
| do {
| label_6:
0x0000a172 mov r0, r7 | r0 = r7;
0x0000a174 blx 0x2b88 | fcn_00002b88 ();
| if (r6 != 0) {
0x0000a178 cbz r6, 0xa180 |
0x0000a17a mov r0, r6 | r0 = r6;
0x0000a17c blx 0x2bdc | fcn_00002bdc ();
| }
0x0000a180 ldr r2, [pc, 0x178] |
0x0000a182 ldr r3, [pc, 0x140] | r3 = *(0xa2c6);
0x0000a184 add r2, pc | r2 = 0x14484;
0x0000a186 ldr r3, [r2, r3] | r3 = *(0x14484);
0x0000a188 ldr r2, [r3] | r2 = *(0x14484);
0x0000a18a ldr r3, [sp, 0x4c] | r3 = var_4ch;
0x0000a18c eors r2, r3 | r2 ^= r3;
0x0000a18e mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000a192 bne.w 0xa2ba | goto label_63;
| }
0x0000a196 mov r0, r8 | r0 = r8;
0x0000a198 add sp, 0x54 |
0x0000a19a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_58:
0x0000a19e mov r6, r8 | r6 = r8;
0x0000a1a0 mov r8, r0 | r8 = r0;
0x0000a1a2 blx 0x27cc | r0 = log_get_max_level ();
0x0000a1a6 cmp r0, 2 |
0x0000a1a8 mov r7, sl | r7 = sl;
| if (r0 > 2) {
0x0000a1aa bgt 0xa246 | goto label_64;
| }
| label_7:
0x0000a1ac rsb.w r0, r8, 0 | r0 = r8 - ;
0x0000a1b0 uxtb r0, r0 | r0 = (int8_t) r0;
0x0000a1b2 rsb.w r8, r0, 0 | r8 = r0 - ;
| label_8:
0x0000a1b6 cmp.w r8, 0 |
0x0000a1ba it ge |
| if (r8 < 0) {
0x0000a1bc mvnge r8, 0x55 | r8 = ~0x55;
| }
| label_9:
0x0000a1c0 ldr r0, [sp, 0x34] | r0 = var_34h;
0x0000a1c2 cmp r0, 0 |
0x0000a1c4 beq 0xa172 |
| } while (r0 == 0);
0x0000a1c6 blx 0x2718 | sd_bus_message_unref ();
0x0000a1ca b 0xa172 | goto label_6;
| label_59:
0x0000a1cc mov r6, r8 | r6 = r8;
0x0000a1ce mov r8, r0 | r8 = r0;
0x0000a1d0 blx 0x27cc | r0 = log_get_max_level ();
0x0000a1d4 cmp r0, 2 |
0x0000a1d6 mov r7, sl | r7 = sl;
| if (r0 <= 2) {
0x0000a1d8 ble 0xa1ac | goto label_7;
| }
0x0000a1da ldr r3, [pc, 0x124] |
0x0000a1dc mov r1, r8 | r1 = r8;
0x0000a1de ldr r2, [pc, 0x124] |
0x0000a1e0 movs r0, 3 | r0 = 3;
0x0000a1e2 add r3, pc | r3 = 0x144e8;
0x0000a1e4 str r3, [sp, 4] | var_4h_2 = r3;
0x0000a1e6 add r2, pc | r2 = 0x144f0;
0x0000a1e8 ldr r3, [pc, 0x11c] |
0x0000a1ea adds r2, 7 | r2 += 7;
0x0000a1ec add r3, pc | r3 = 0x144f8;
0x0000a1ee str r3, [sp] | *(sp) = r3;
0x0000a1f0 movw r3, 0x866 | r3 = 0x866;
0x0000a1f4 blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a1f8 mov r8, r0 | r8 = r0;
0x0000a1fa b 0xa1b6 | goto label_8;
| label_60:
0x0000a1fc mov r6, r8 | r6 = r8;
0x0000a1fe mov r8, r0 | r8 = r0;
0x0000a200 blx 0x27cc | r0 = log_get_max_level ();
0x0000a204 cmp r0, 2 |
0x0000a206 mov r7, sl | r7 = sl;
| if (r0 <= 2) {
0x0000a208 ble 0xa1ac | goto label_7;
| }
0x0000a20a ldr r3, [pc, 0x100] |
0x0000a20c mov r1, r8 | r1 = r8;
0x0000a20e ldr r2, [pc, 0x100] |
0x0000a210 movs r0, 3 | r0 = 3;
0x0000a212 add r3, pc | r3 = 0x14524;
0x0000a214 str r3, [sp, 4] | var_4h_2 = r3;
0x0000a216 add r2, pc | r2 = 0x1452c;
0x0000a218 ldr r3, [pc, 0xf8] |
0x0000a21a adds r2, 7 | r2 += 7;
0x0000a21c add r3, pc | r3 = 0x14534;
0x0000a21e str r3, [sp] | *(sp) = r3;
0x0000a220 movw r3, 0x86a | r3 = 0x86a;
0x0000a224 blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a228 mov r8, r0 | r8 = r0;
0x0000a22a b 0xa1b6 | goto label_8;
| label_57:
0x0000a22c mov r6, r8 | r6 = r8;
0x0000a22e mov r7, sl | r7 = sl;
0x0000a230 mov r8, r0 | r8 = r0;
0x0000a232 b 0xa172 | goto label_6;
| label_55:
0x0000a234 mov r6, r8 | r6 = r8;
0x0000a236 mov r8, r0 | r8 = r0;
0x0000a238 ldr r0, [sp, 0x3c] | r0 = var_3ch;
0x0000a23a mov r7, sl | r7 = sl;
0x0000a23c cmp r0, 0 |
| if (r0 == 0) {
0x0000a23e beq 0xa1c0 | goto label_9;
| }
0x0000a240 blx 0x2e10 | fcn_00002e10 ();
0x0000a244 b 0xa1c0 | goto label_9;
| label_64:
0x0000a246 mov r1, r8 | r1 = r8;
0x0000a248 mov r0, sl | r0 = sl;
0x0000a24a ldr r5, [r5] | r5 = *(r5);
0x0000a24c ldr r4, [r4, 0xc] | r4 = *((r4 + 0xc));
0x0000a24e invalid |
0x0000a252 ldr r2, [pc, 0xc4] |
0x0000a254 mov r1, r8 | r1 = r8;
0x0000a256 ldr r3, [pc, 0xc4] |
0x0000a258 str r0, [sp, 0x10] | var_10h_2 = r0;
0x0000a25a movs r0, 3 | r0 = 3;
0x0000a25c add r2, pc | r2 = 0x1457a;
0x0000a25e str r4, [sp, 0xc] | var_ch_2 = r4;
0x0000a260 str r2, [sp] | *(sp) = r2;
0x0000a262 add r3, pc | r3 = 0x14584;
0x0000a264 ldr r2, [pc, 0xb8] |
0x0000a266 strd r3, r5, [sp, 4] | __asm ("strd r3, r5, [var_4h_2]");
0x0000a26a mov.w r3, 0x860 | r3 = 0x860;
0x0000a26e add r2, pc | r2 = 0x14592;
0x0000a270 adds r2, 7 | r2 += 7;
0x0000a272 blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a276 mov r8, r0 | r8 = r0;
0x0000a278 b 0xa1b6 | goto label_8;
| label_62:
0x0000a27a str r0, [sp, 0x1c] | var_1ch_2 = r0;
0x0000a27c mov r6, r8 | r6 = r8;
0x0000a27e blx 0x27cc | log_get_max_level ();
0x0000a282 ldr r1, [sp, 0x1c] | r1 = var_1ch_2;
0x0000a284 cmp r0, 2 |
0x0000a286 mov r7, sl | r7 = sl;
0x0000a288 ittt le |
| if (r0 <= 2) {
0x0000a28a rsble r0, r1, 0 | __asm ("rsble r0, r1, 0");
| }
| if (r0 <= 2) {
0x0000a28c uxtble r0, r0 | __asm ("uxtble r0, r0");
| }
| if (r0 > 2) {
0x0000a28e rsble r8, r0, 0 | __asm ("rsble r8, r0, 0");
| goto label_65;
| }
| if (r0 <= 2) {
| label_65:
0x0000a292 ble 0xa1b6 | goto label_8;
| }
0x0000a294 ldr r3, [pc, 0x8c] |
0x0000a296 movs r0, 3 | r0 = 3;
0x0000a298 ldr r2, [pc, 0x8c] |
0x0000a29a add r3, pc | r3 = 0x145c2;
0x0000a29c str r3, [sp, 4] | var_4h_2 = r3;
0x0000a29e add r2, pc | r2 = 0x145ca;
0x0000a2a0 ldr r3, [pc, 0x88] |
0x0000a2a2 adds r2, 7 | r2 += 7;
0x0000a2a4 add r3, pc | r3 = 0x145d4;
0x0000a2a6 str r3, [sp] | *(sp) = r3;
0x0000a2a8 movw r3, 0x884 | r3 = 0x884;
0x0000a2ac blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a2b0 mov r8, r0 | r8 = r0;
0x0000a2b2 b 0xa1b6 | goto label_8;
| label_53:
0x0000a2b4 mov r8, r0 | r8 = r0;
0x0000a2b6 add r7, sp, 0x40 | r7 += var_40h;
0x0000a2b8 b 0xa172 | goto label_6;
| label_63:
0x0000a2ba blx 0x2c24 | fcn_00002c24 ();
0x0000a2be nop |
0x0000a2c0 ldr r5, [pc, 0x40] | r5 = *(0xa304);
0x0000a2c2 movs r1, r0 | r1 = r0;
0x0000a2c4 lsls r0, r0, 0xc | r0 <<= 0xc;
0x0000a2c6 movs r0, r0 |
0x0000a2c8 ldr r5, [pc, 0x10] | r5 = *(0xa2dc);
0x0000a2ca movs r1, r0 | r1 = r0;
0x0000a2cc subs r3, 0x4e | r3 -= 0x4e;
0x0000a2ce movs r0, r0 |
0x0000a2d0 subs r0, r7, 6 | r0 -= var_6h;
0x0000a2d2 movs r0, r0 |
0x0000a2d4 adds r5, 0x62 | r5 += 0x62;
0x0000a2d6 movs r0, r0 |
0x0000a2d8 ldr r7, [pc, 0x308] | r7 = *(0xa5e4);
0x0000a2da movs r1, r0 | r1 = r0;
0x0000a2dc ldr r7, [pc, 0x118] | r7 = *(0xa3f8);
0x0000a2de movs r1, r0 | r1 = r0;
0x0000a2e0 ldr r7, [pc, 0x220] | r7 = *(0xa504);
0x0000a2e2 movs r1, r0 | r1 = r0;
0x0000a2e4 ldr r7, [pc, 0x198] | r7 = *(0xa480);
0x0000a2e6 movs r1, r0 | r1 = r0;
0x0000a2e8 lsls r0, r2, 0xc | r0 = r2 << 0xc;
0x0000a2ea movs r0, r0 |
0x0000a2ec adds r2, 0xa4 | r2 += 0xa4;
0x0000a2ee movs r0, r0 |
0x0000a2f0 movs r0, 0x50 | r0 = 0x50;
0x0000a2f2 movs r0, r0 |
0x0000a2f4 rors r6, r0 | __asm ("rors r6, r0");
0x0000a2f6 movs r0, r0 |
0x0000a2f8 ldr r6, [pc, 0x350] | r6 = *(0xa64c);
0x0000a2fa movs r1, r0 | r1 = r0;
0x0000a2fc ldr r3, [pc, 0x150] | r3 = *(0xa450);
0x0000a2fe movs r1, r0 | r1 = r0;
0x0000a300 adds r2, 0xa | r2 += 0xa;
0x0000a302 movs r0, r0 |
0x0000a304 subs r6, r6, 6 | r6 -= 6;
0x0000a306 movs r0, r0 |
0x0000a308 asrs r4, r5 | r4 >>= r5;
0x0000a30a movs r0, r0 |
0x0000a30c adds r1, 0xda | r1 += 0xda;
0x0000a30e movs r0, r0 |
0x0000a310 subs r6, r0, 6 | r6 = r0 - 6;
0x0000a312 movs r0, r0 |
0x0000a314 lsrs r4, r7 | r4 >>= r7;
0x0000a316 movs r0, r0 |
0x0000a318 lsls r4, r7 | r4 <<= r7;
0x0000a31a movs r0, r0 |
0x0000a31c subs r0, 0xfe | r0 -= 0xfe;
0x0000a31e movs r0, r0 |
0x0000a320 subs r6, r5, 4 | r6 = r5 - 4;
0x0000a322 movs r0, r0 |
0x0000a324 adds r1, 0x52 | r1 += 0x52;
0x0000a326 movs r0, r0 |
0x0000a328 subs r6, r7, 3 | r6 = r7 - 3;
0x0000a32a movs r0, r0 |
0x0000a32c eors r4, r6 | r4 ^= r6;
0x0000a32e movs r0, r0 |
0x0000a330 ldr.w r2, [pc, 0xa3c] | r2 = *(0x0000ad70);
0x0000a334 ldr.w r3, [pc, 0xa3c] |
0x0000a338 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x0000a33c sub sp, 0xf4 |
0x0000a33e add r2, pc | r2 += pc;
0x0000a340 movs r5, 0 | r5 = 0;
0x0000a342 add r7, sp, 0x40 | r7 += var_40h_2;
0x0000a344 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0000a346 mov sb, r1 | sb = r1;
0x0000a348 mov r0, r5 | r0 = r5;
0x0000a34a add.w r1, r7, 0x4c | r1 += var_4ch_3;
0x0000a34e ldr r3, [r3] | r3 = *(0xad74);
0x0000a350 str.w r3, [r7, 0xac] | __asm ("str.w r3, [var_ach_2]");
0x0000a354 mov.w r3, 0 | r3 = 0;
0x0000a358 strd r5, r5, [r7, 0x4c] | __asm ("strd r5, r5, [var_4ch_3]");
0x0000a35c strd r5, r5, [r7, 0x74] | __asm ("strd r5, r5, [var_74h_2]");
0x0000a360 str r5, [r7, 0x7c] | var_7ch_2 = r5;
0x0000a362 bl 0x6bf8 | r0 = fcn_00006bf8 (r0, r1);
0x0000a366 subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x0000a368 blt.w 0xa5ae | goto label_66;
| }
0x0000a36c ldr.w r0, [pc, 0xa08] | r0 = *(0x0000ad78);
0x0000a370 add r0, pc | r0 += pc;
0x0000a372 blx 0x29b0 | fcn_000029b0 ();
0x0000a376 ldr.w fp, [r7, 0x4c] | fp = var_4ch_3;
0x0000a37a mov r8, r0 | r8 = r0;
0x0000a37c cmp r0, 0 |
| if (r0 == 0) {
0x0000a37e beq.w 0xa636 | goto label_67;
| }
0x0000a382 ldr.w r3, [pc, 0x9f8] |
0x0000a386 add.w sl, r7, 0x74 | sl += var_74h_2;
0x0000a38a add.w r2, r7, 0x50 | r2 += var_4ch_4;
0x0000a38e str r5, [sp, 0xc] | var_ch = r5;
0x0000a390 str r2, [sp, 8] | var_8h = r2;
0x0000a392 mov r0, fp | r0 = fp;
0x0000a394 add r3, pc | r3 = 0x15116;
0x0000a396 strd r3, sl, [sp] | __asm ("strd r3, sl, [sp]");
0x0000a39a ldr.w r3, [pc, 0x9e4] |
0x0000a39e ldrd r1, r2, [sb, 4] | __asm ("ldrd r1, r2, [sb, 4]");
0x0000a3a2 add r3, pc | r3 = 0x15128;
0x0000a3a4 blx 0x2e4c | r0 = fcn_00002e4c ();
0x0000a3a8 subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x0000a3aa blt.w 0xa66c | goto label_68;
| }
0x0000a3ae ldr.w r1, [pc, 0x9d4] |
0x0000a3b2 add.w r2, r7, 0x58 | r2 += var_58h_2;
0x0000a3b6 ldr r0, [r7, 0x50] | r0 = var_4ch_4;
0x0000a3b8 add r1, pc | r1 = 0x15142;
0x0000a3ba blx 0x28a4 | r0 = sd_bus_message_read ();
0x0000a3be subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x0000a3c0 blt.w 0xa684 | goto label_69;
| }
0x0000a3c4 ldr.w r3, [pc, 0x9c0] | r3 = *(0x0000ad88);
0x0000a3c8 add r3, pc | r3 += pc;
0x0000a3ca ldrb r6, [r3] | r6 = *(r3);
0x0000a3cc cmp r6, 0 |
| if (r6 != 0) {
0x0000a3ce bne.w 0xa656 | goto label_70;
| }
0x0000a3d2 ldr.w r2, [pc, 0x9b8] | r2 = *(0x0000ad8c);
0x0000a3d6 mov r3, r8 | r3 = r8;
0x0000a3d8 ldr r1, [r7, 0x58] | r1 = var_58h_2;
0x0000a3da ldr.w r0, [sb, 8] | r0 = *((sb + 8));
0x0000a3de add r2, pc | r2 += pc;
0x0000a3e0 bl 0x58dc | r0 = fcn_000058dc (r0, r1, r2, r3, r4);
0x0000a3e4 subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x0000a3e6 blt.w 0xa61a | goto label_12;
| }
0x0000a3ea mvn r3, 1 | r3 = ~1;
0x0000a3ee str r6, [r7, 0x70] | var_70h_2 = r6;
0x0000a3f0 str r3, [r7, 0x6c] | var_6ch_2 = r3;
0x0000a3f2 add.w r6, r7, 0x6c | r6 += var_6ch_2;
0x0000a3f6 ldr.w r3, [pc, 0x998] |
0x0000a3fa add.w r2, r7, 0x54 | r2 += var_54h;
0x0000a3fe str r2, [r7, 0x44] | var_44h = r2;
0x0000a400 str.w sl, [r7, 0x38] | __asm ("str.w sl, [var_38h_3]");
0x0000a404 add r3, pc | r3 = 0x1519a;
0x0000a406 str r3, [r7, 0x40] | var_40h_5 = r3;
0x0000a408 ldr.w r3, [pc, 0x988] |
0x0000a40c add r3, pc | r3 = 0x151a4;
0x0000a40e str r3, [r7, 0x34] | var_34h_3 = r3;
0x0000a410 ldr.w r3, [pc, 0x984] |
0x0000a414 add r3, pc | r3 = 0x151b0;
0x0000a416 str r3, [r7, 0x30] | var_30h_3 = r3;
0x0000a418 ldr.w r3, [pc, 0x980] |
0x0000a41c add r3, pc | r3 = 0x151bc;
0x0000a41e str r3, [r7, 0x2c] | base = r3;
| do {
| label_10:
0x0000a420 ldr r2, [r7, 0x44] | r2 = var_44h;
0x0000a422 movs r3, 0 | r3 = 0;
0x0000a424 mov r1, r6 | r1 = r6;
0x0000a426 mov r0, r8 | r0 = r8;
0x0000a428 blx 0x2dec | r0 = fcn_00002dec ();
0x0000a42c cmp r0, 0 |
| if (r0 == 0) {
0x0000a42e beq.w 0xa6ee | goto label_71;
| }
0x0000a432 ldr r4, [r7, 0x54] | r4 = var_54h;
0x0000a434 movs r3, 0 | r3 = 0;
0x0000a436 str r3, [r7, 0x5c] | var_5ch_2 = r3;
0x0000a438 ldr r1, [r7, 0x40] | r1 = var_40h_5;
0x0000a43a ldr r0, [r4] | r0 = *(r4);
0x0000a43c blx 0x2e8c | r0 = parse_boolean_argument ();
0x0000a440 cmp r0, 0 |
0x0000a442 bne 0xa420 |
| } while (r0 != 0);
0x0000a444 ldr r3, [r4, 0x14] | r3 = *((r4 + 0x14));
0x0000a446 str r3, [r7, 0x3c] | var_3ch_2 = r3;
0x0000a448 cmp r3, 0 |
| if (r3 != 0) {
0x0000a44a bne 0xa420 | goto label_10;
| }
0x0000a44c ldr.w r0, [sb, 0xc] | r0 = *((sb + 0xc));
0x0000a450 ldr r4, [r4, 4] | r4 = *((r4 + 4));
| if (r0 == 0) {
0x0000a452 cbz r0, 0xa45e | goto label_72;
| }
0x0000a454 mov r1, r4 | r1 = r4;
0x0000a456 blx 0x2e8c | r0 = parse_boolean_argument ();
0x0000a45a cmp r0, 0 |
| if (r0 != 0) {
0x0000a45c bne 0xa420 | goto label_10;
| }
| label_72:
0x0000a45e ldr r3, [r7, 0x38] | r3 = var_38h_3;
0x0000a460 mov r0, fp | r0 = fp;
0x0000a462 str r4, [sp, 0x10] | var_10h = r4;
0x0000a464 str r3, [sp, 4] | var_4h = r3;
0x0000a466 ldr.w r3, [pc, 0x938] |
0x0000a46a add r3, pc | r3 = 0x15210;
0x0000a46c str r3, [sp, 0xc] | var_ch = r3;
0x0000a46e ldr.w r3, [pc, 0x934] |
0x0000a472 add r3, pc | r3 = 0x1521c;
0x0000a474 str r3, [sp] | *(sp) = r3;
0x0000a476 add.w r3, r7, 0x5c | r3 += var_5ch_2;
0x0000a47a str r3, [sp, 8] | var_8h = r3;
0x0000a47c ldr r3, [r7, 0x34] | r3 = var_34h_3;
0x0000a47e ldrd r1, r2, [sb, 4] | __asm ("ldrd r1, r2, [sb, 4]");
0x0000a482 blx 0x2e4c | r0 = fcn_00002e4c ();
0x0000a486 cmp r0, 0 |
| if (r0 < 0) {
0x0000a488 blt.w 0xaca2 | goto label_73;
| }
0x0000a48c ldr.w r2, [pc, 0x918] |
0x0000a490 movs r1, 0x61 | r1 = 0x61;
0x0000a492 ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a494 add r2, pc | r2 = 0x15240;
0x0000a496 blx 0x2724 | r0 = sd_bus_message_enter_container ();
0x0000a49a cmp r0, 0 |
| if (r0 < 0) {
0x0000a49c blt.w 0xac84 | goto label_74;
| }
0x0000a4a0 ldr.w sl, [pc, 0x908] |
0x0000a4a4 strd sb, fp, [r7, 0x24] | __asm ("strd sb, fp, [var_24h_3]");
0x0000a4a8 str r6, [r7, 0x20] | var_20h_5 = r6;
0x0000a4aa add sl, pc | sl = 0x1525a;
0x0000a4ac ldrd sb, r6, [r7, 0x2c] | __asm ("ldrd sb, r6, [var_30h_3]");
0x0000a4b0 b 0xa562 |
| if (r0 == 0) {
| while (r5 >= r0) {
0x0000a4b2 beq.w 0xa7d6 | goto label_75;
| }
0x0000a4b6 ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a4b8 add.w r2, r7, 0x68 | r2 += var_68h_2;
0x0000a4bc mov r1, r6 | r1 = r6;
0x0000a4be blx 0x28a4 | r0 = sd_bus_message_read ();
0x0000a4c2 cmp r0, 0 |
| if (r0 < 0) {
0x0000a4c4 blt.w 0xa800 | goto label_76;
| }
0x0000a4c8 ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a4ca mov r2, r4 | r2 = r4;
0x0000a4cc movs r1, 0x76 | r1 = 0x76;
0x0000a4ce blx 0x2724 | r0 = sd_bus_message_enter_container ();
0x0000a4d2 cmp r0, 0 |
| if (r0 < 0) {
0x0000a4d4 blt.w 0xa83c | goto label_77;
| }
0x0000a4d8 add.w r1, r7, 0x64 | r1 += var_60h_3;
0x0000a4dc add.w r0, r7, 0x60 | r0 += ptr;
0x0000a4e0 blx 0x2998 | r0 = fcn_00002998 ();
0x0000a4e4 mov r5, r0 | r5 = r0;
0x0000a4e6 cmp r0, 0 |
| if (r0 == 0) {
0x0000a4e8 beq.w 0xa878 | goto label_78;
| }
0x0000a4ec ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a4ee mov r2, r4 | r2 = r4;
0x0000a4f0 mov r1, r5 | r1 = r5;
0x0000a4f2 bl 0x643c | r0 = fcn_0000643c (r0, r1, r2);
0x0000a4f6 cmp r0, 0 |
| if (r0 < 0) {
0x0000a4f8 blt.w 0xab3a | goto label_79;
| }
0x0000a4fc mov r0, r5 | r0 = r5;
0x0000a4fe blx 0x2670 | safe_fclose ();
0x0000a502 movs r2, 0x24 | r2 = 0x24;
0x0000a504 mov r1, r4 | r1 = r4;
0x0000a506 mov r5, r0 | r5 = r0;
0x0000a508 add.w r0, r7, 0x84 | r0 += s;
0x0000a50c blx 0x2838 | memset (r0, r1, r2);
0x0000a510 ldr r3, [r7, 0x54] | r3 = var_54h;
0x0000a512 add.w r1, r7, 0x80 | r1 += var_80h_2;
0x0000a516 str.w sb, [r7, 0x80] | __asm ("str.w sb, [var_80h_2]");
0x0000a51a mov r0, r8 | r0 = r8;
0x0000a51c ldr r3, [r3, 4] | r3 = *((r3 + 4));
0x0000a51e str.w r3, [r7, 0x84] | __asm ("str.w r3, [s]");
0x0000a522 ldr r3, [r7, 0x68] | r3 = var_68h_2;
0x0000a524 str.w r3, [r7, 0x88] | __asm ("str.w r3, [var_88h]");
0x0000a528 blx 0x2e04 | r0 = fcn_00002e04 ();
0x0000a52c mov fp, r0 |
| if (r0 != 0) {
0x0000a52e cbz r0, 0xa53e |
0x0000a530 ldr r0, [r0, 0x14] | r0 = *((r0 + 0x14));
0x0000a532 blx 0x28d4 | free (r0);
0x0000a536 ldr r2, [r7, 0x60] | r2 = ptr;
0x0000a538 str r4, [r7, 0x60] | ptr = r4;
0x0000a53a str.w r2, [fp, 0x14] | __asm ("str.w r2, [arg_14h]");
| }
0x0000a53e ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a540 blx 0x29c8 | r0 = fcn_000029c8 ();
0x0000a544 cmp r0, 0 |
| if (r0 < 0) {
0x0000a546 blt.w 0xab5a | goto label_80;
| }
0x0000a54a ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a54c blx 0x29c8 | r0 = fcn_000029c8 ();
0x0000a550 cmp r0, 0 |
| if (r0 < 0) {
0x0000a552 blt.w 0xab74 | goto label_81;
| }
0x0000a556 mov r0, r5 | r0 = r5;
0x0000a558 blx 0x2670 | safe_fclose ();
0x0000a55c ldr r0, [r7, 0x60] | r0 = ptr;
0x0000a55e blx 0x28d4 | free (r0);
0x0000a562 ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a564 movs r4, 0 | r4 = 0;
0x0000a566 mov r2, sl | r2 = sl;
0x0000a568 movs r1, 0x65 | r1 = 0x65;
0x0000a56a strd r4, r4, [r7, 0x60] | __asm ("strd r4, r4, [ptr]");
0x0000a56e blx 0x2724 | r0 = sd_bus_message_enter_container ();
0x0000a572 subs r5, r0, 0 | r5 = r0 - 0;
0x0000a574 bge 0xa4b2 |
| }
0x0000a576 blx 0x27cc | r0 = log_get_max_level ();
0x0000a57a cmp r0, 2 |
0x0000a57c ldr.w fp, [r7, 0x28] | fp = var_28h_2;
0x0000a580 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
| if (r0 > 2) {
0x0000a584 bgt.w 0xabb0 | goto label_82;
| }
| label_16:
0x0000a588 rsbs r4, r5, 0 | r4 = r5 - ;
0x0000a58a uxtb r4, r4 | r4 = (int8_t) r4;
0x0000a58c rsbs r4, r4, 0 | r4 -= ;
| label_17:
0x0000a58e cmp r4, 0 |
0x0000a590 it ge |
| if (r4 < 0) {
0x0000a592 mvnge r4, 0x55 | r4 = ~0x55;
| }
| label_18:
0x0000a596 ldr r0, [r7, 0x3c] | r0 = var_3ch_2;
0x0000a598 blx 0x2670 | safe_fclose ();
0x0000a59c ldr r0, [r7, 0x60] | r0 = ptr;
0x0000a59e blx 0x28d4 | free (r0);
| label_38:
0x0000a5a2 ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a5a4 cmp r0, 0 |
| if (r0 == 0) {
0x0000a5a6 beq 0xa61a | goto label_12;
| }
0x0000a5a8 blx 0x2718 | sd_bus_message_unref ();
0x0000a5ac b 0xa61a | goto label_12;
| label_66:
0x0000a5ae ldr.w fp, [r7, 0x4c] | fp = var_4ch_3;
0x0000a5b2 add.w sl, r7, 0x74 | sl += var_74h_2;
| label_11:
0x0000a5b6 mov r0, sl | r0 = sl;
0x0000a5b8 blx 0x2b88 | fcn_00002b88 ();
0x0000a5bc ldr r0, [r7, 0x50] | r0 = var_4ch_4;
| if (r0 != 0) {
0x0000a5be cbz r0, 0xa5c4 |
0x0000a5c0 blx 0x2718 | sd_bus_message_unref ();
| }
0x0000a5c4 cmp.w fp, 0 |
| if (fp != 0) {
0x0000a5c8 beq 0xa5d0 |
0x0000a5ca mov r0, fp | r0 = fp;
0x0000a5cc blx 0x2bdc | fcn_00002bdc ();
| }
0x0000a5d0 ldr.w r2, [pc, 0x7dc] | r2 = *(0x0000adb0);
0x0000a5d4 ldr.w r3, [pc, 0x79c] | r3 = *(0xad74);
0x0000a5d8 add r2, pc | r2 += pc;
0x0000a5da ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0000a5dc ldr r2, [r3] | r2 = *(0xad74);
0x0000a5de ldr.w r3, [r7, 0xac] | r3 = var_ach_2;
0x0000a5e2 eors r2, r3 | r2 ^= r3;
0x0000a5e4 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000a5e8 bne.w 0xad34 | goto label_83;
| }
0x0000a5ec mov r0, r4 | r0 = r4;
0x0000a5ee adds r7, 0xb4 | r7 += 0xb4;
0x0000a5f0 mov sp, r7 |
0x0000a5f2 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| do {
0x0000a5f6 ldr r0, [r5, 4] | r0 = *((r5 + 4));
0x0000a5f8 blx 0x28d4 | free (r0);
0x0000a5fc ldr r0, [r5, 8] | r0 = *((r5 + 8));
0x0000a5fe blx 0x28d4 | free (r0);
0x0000a602 ldr r0, [r5, 0xc] | r0 = *((r5 + 0xc));
0x0000a604 blx 0x28d4 | free (r0);
0x0000a608 ldr r0, [r5, 0x10] | r0 = *((r5 + 0x10));
0x0000a60a blx 0x28d4 | free (r0);
0x0000a60e ldr r0, [r5, 0x14] | r0 = *((r5 + 0x14));
0x0000a610 blx 0x28d4 | free (r0);
0x0000a614 mov r0, r5 | r0 = r5;
0x0000a616 blx 0x28d4 | free (r0);
| label_12:
0x0000a61a movs r2, 0 | r2 = 0;
0x0000a61c movs r1, 1 | r1 = 1;
0x0000a61e mov r0, r8 | r0 = r8;
0x0000a620 blx 0x28b0 | r0 = hashmap_first_key_and_value ();
0x0000a624 mov r5, r0 | r5 = r0;
0x0000a626 cmp r0, 0 |
0x0000a628 bne 0xa5f6 |
| } while (r0 != 0);
0x0000a62a mov r2, r0 | r2 = r0;
0x0000a62c mov r1, r0 | r1 = r0;
0x0000a62e mov r0, r8 | r0 = r8;
0x0000a630 blx 0x2e1c | fcn_00002e1c ();
0x0000a634 b 0xa5b6 | goto label_11;
| label_67:
0x0000a636 ldr.w r1, [pc, 0x77c] |
0x0000a63a movw r2, 0x3d1 | r2 = 0x3d1;
0x0000a63e ldr.w r3, [pc, 0x778] |
0x0000a642 movs r0, 3 | r0 = 3;
0x0000a644 add.w sl, r7, 0x74 | sl += var_74h_2;
0x0000a648 add r1, pc | r1 = 0x15402;
0x0000a64a add r3, pc | r3 = 0x15408;
0x0000a64c adds r1, 7 | r1 += 7;
0x0000a64e blx 0x2ea8 | r0 = fcn_00002ea8 ();
0x0000a652 mov r4, r0 | r4 = r0;
0x0000a654 b 0xa5b6 | goto label_11;
| label_70:
0x0000a656 ldr.w r3, [pc, 0x764] | r3 = *(0x0000adbc);
0x0000a65a mov r4, r5 | r4 = r5;
0x0000a65c add r3, pc | r3 += pc;
0x0000a65e ldr r0, [r3] | r0 = *(r3);
0x0000a660 blx 0x2a80 | fcn_00002a80 ();
0x0000a664 ldr r0, [r7, 0x58] | r0 = var_58h_2;
0x0000a666 blx 0x2cc0 | fcn_00002cc0 ();
0x0000a66a b 0xa61a | goto label_12;
| label_68:
0x0000a66c blx 0x27cc | r0 = log_get_max_level ();
0x0000a670 cmp r0, 2 |
| if (r0 > 2) {
0x0000a672 bgt 0xa6b4 | goto label_84;
| }
| do {
0x0000a674 rsbs r4, r4, 0 | r4 -= ;
0x0000a676 uxtb r4, r4 | r4 = (int8_t) r4;
0x0000a678 rsbs r4, r4, 0 | r4 -= ;
| label_13:
0x0000a67a cmp r4, 0 |
0x0000a67c it ge |
| if (r4 < 0) {
0x0000a67e mvnge r4, 0x55 | r4 = ~0x55;
| }
0x0000a682 b 0xa61a | goto label_12;
| label_69:
0x0000a684 blx 0x27cc | r0 = log_get_max_level ();
0x0000a688 cmp r0, 2 |
0x0000a68a ble 0xa674 |
| } while (r0 <= 2);
0x0000a68c ldr.w r3, [pc, 0x730] | r3 = s;
0x0000a690 mov r1, r4 | r1 = r4;
0x0000a692 ldr.w r2, [pc, 0x730] |
0x0000a696 movs r0, 3 | r0 = 3;
0x0000a698 add r3, pc | r3 += pc;
0x0000a69a str r3, [sp, 4] | var_4h = r3;
0x0000a69c add r2, pc | r2 = 0x15466;
0x0000a69e ldr.w r3, [pc, 0x728] |
0x0000a6a2 adds r2, 7 | r2 += 7;
0x0000a6a4 add r3, pc | r3 = 0x15472;
0x0000a6a6 str r3, [sp] | *(sp) = r3;
0x0000a6a8 mov.w r3, 0x3dc | r3 = 0x3dc;
0x0000a6ac blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a6b0 mov r4, r0 | r4 = r0;
0x0000a6b2 b 0xa67a | goto label_13;
| label_84:
0x0000a6b4 mov r1, r4 | r1 = r4;
0x0000a6b6 mov r0, sl | r0 = sl;
0x0000a6b8 ldrd r6, r5, [sb, 4] | __asm ("ldrd r6, r5, [sb, 4]");
0x0000a6bc blx 0x2688 | bus_error_message ();
0x0000a6c0 ldr.w r2, [pc, 0x708] |
0x0000a6c4 mov r1, r4 | r1 = r4;
0x0000a6c6 ldr.w r3, [pc, 0x708] |
0x0000a6ca str r0, [sp, 0x10] | var_10h = r0;
0x0000a6cc movs r0, 3 | r0 = 3;
0x0000a6ce add r2, pc | r2 = 0x1549e;
0x0000a6d0 str r6, [sp, 0xc] | var_ch = r6;
0x0000a6d2 str r2, [sp] | *(sp) = r2;
0x0000a6d4 add r3, pc | r3 = 0x154aa;
0x0000a6d6 ldr.w r2, [pc, 0x6fc] |
0x0000a6da strd r3, r5, [sp, 4] | __asm ("strd r3, r5, [var_4h]");
0x0000a6de movw r3, 0x3d7 | r3 = 0x3d7;
0x0000a6e2 add r2, pc | r2 = 0x154bc;
0x0000a6e4 adds r2, 7 | r2 += 7;
0x0000a6e6 blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a6ea mov r4, r0 | r4 = r0;
0x0000a6ec b 0xa67a | goto label_13;
| label_71:
0x0000a6ee mov r0, r8 | r0 = r8;
0x0000a6f0 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
0x0000a6f4 blx 0x276c | r0 = hashmap_size ();
0x0000a6f8 cmp r0, 0 |
| if (r0 != 0) {
0x0000a6fa bne.w 0xace2 | goto label_85;
| }
| label_40:
0x0000a6fe cmp r0, 1 |
0x0000a700 mov.w r5, 0xc | r5 = 0xc;
0x0000a704 it lo |
| if (r0 >= 1) {
0x0000a706 movlo r0, 1 | r0 = 1;
| }
0x0000a708 add.w r6, r7, 0x80 | r6 += var_80h_2;
0x0000a70c adds r3, r0, 7 | r3 = r0 + 7;
0x0000a70e movs r2, 9 | r2 = 9;
0x0000a710 bic r3, r3, 7 | r3 = BIT_MASK (r3, 7);
0x0000a714 str r2, [r7, 0x34] | var_34h_3 = r2;
0x0000a716 sub.w sp, sp, r3 |
0x0000a71a add r3, sp, 0x40 | r3 += var_40h_2;
0x0000a71c str r3, [r7, 0x2c] | base = r3;
0x0000a71e movs r3, 0 | r3 = 0;
0x0000a720 str.w r3, [r7, 0x84] | __asm ("str.w r3, [s]");
0x0000a724 str r3, [r7, 0x40] | var_40h_5 = r3;
0x0000a726 mvn r3, 1 | r3 = ~1;
0x0000a72a str.w r3, [r7, 0x80] | __asm ("str.w r3, [var_80h_2]");
0x0000a72e movs r3, 4 | r3 = 4;
0x0000a730 str r3, [r7, 0x38] | var_38h_3 = r3;
0x0000a732 str r3, [r7, 0x3c] | var_3ch_2 = r3;
| do {
| label_14:
0x0000a734 ldr r2, [r7, 0x44] | r2 = var_44h;
0x0000a736 movs r3, 0 | r3 = 0;
0x0000a738 mov r1, r6 | r1 = r6;
0x0000a73a mov r0, r8 | r0 = r8;
0x0000a73c blx 0x2dec | r0 = fcn_00002dec ();
0x0000a740 cmp r0, 0 |
| if (r0 == 0) {
0x0000a742 beq.w 0xa89e | goto label_86;
| }
0x0000a746 ldr.w r0, [sb, 0xc] | r0 = *((sb + 0xc));
0x0000a74a ldr r4, [r7, 0x54] | r4 = var_54h;
0x0000a74c ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x0000a74e cmp r0, 0 |
| if (r0 == 0) {
0x0000a750 beq 0xa7d0 | goto label_87;
| }
0x0000a752 str r1, [r7, 0x30] | var_30h_3 = r1;
0x0000a754 blx 0x2e8c | parse_boolean_argument ();
0x0000a758 ldr r1, [r7, 0x30] | r1 = var_30h_3;
0x0000a75a cmp r0, 0 |
0x0000a75c bne 0xa734 |
| } while (r0 != 0);
| label_15:
0x0000a75e mov r0, r1 | r0 = r1;
0x0000a760 blx 0x298c | fcn_0000298c ();
0x0000a764 ldr r3, [r7, 0x3c] | r3 = var_3ch_2;
0x0000a766 cmp r3, r0 |
0x0000a768 it lo |
| if (r3 >= r0) {
0x0000a76a movlo r3, r0 | r3 = r0;
| }
0x0000a76c str r3, [r7, 0x3c] | var_3ch_2 = r3;
| do {
0x0000a76e ldr r0, [r4, 8] | r0 = *((r4 + 8));
| if (r0 != 0) {
0x0000a770 cbz r0, 0xa782 |
0x0000a772 blx 0x298c | fcn_0000298c ();
0x0000a776 ldr r2, [r7, 0x3c] | r2 = var_3ch_2;
0x0000a778 adds r3, r0, 1 | r3 = r0 + 1;
0x0000a77a cmp r2, r3 |
0x0000a77c it lo |
| if (r2 >= r3) {
0x0000a77e movlo r2, r3 | r2 = r3;
| }
0x0000a780 str r2, [r7, 0x3c] | var_3ch_2 = r2;
| }
0x0000a782 ldr r0, [r4] | r0 = *(r4);
| if (r0 != 0) {
0x0000a784 cbz r0, 0xa794 |
0x0000a786 blx 0x298c | fcn_0000298c ();
0x0000a78a ldr r3, [r7, 0x38] | r3 = var_38h_3;
0x0000a78c cmp r3, r0 |
0x0000a78e it lo |
| if (r3 >= r0) {
0x0000a790 movlo r3, r0 | r3 = r0;
| }
0x0000a792 str r3, [r7, 0x38] | var_38h_3 = r3;
| }
0x0000a794 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
| if (r0 != 0) {
0x0000a796 cbz r0, 0xa7a6 |
0x0000a798 blx 0x298c | fcn_0000298c ();
0x0000a79c ldr r3, [r7, 0x34] | r3 = var_34h_3;
0x0000a79e cmp r3, r0 |
0x0000a7a0 it lo |
| if (r3 >= r0) {
0x0000a7a2 movlo r3, r0 | r3 = r0;
| }
0x0000a7a4 str r3, [r7, 0x34] | var_34h_3 = r3;
| }
0x0000a7a6 ldr r0, [r4, 0x10] | r0 = *((r4 + 0x10));
| if (r0 != 0) {
0x0000a7a8 cbz r0, 0xa7b4 |
0x0000a7aa blx 0x298c | r0 = fcn_0000298c ();
0x0000a7ae cmp r5, r0 |
0x0000a7b0 it lo |
| if (r5 < r0) {
0x0000a7b2 movlo r5, r0 | r5 = r0;
| goto label_88;
| }
| }
| label_88:
0x0000a7b4 ldr r0, [r4, 0x14] | r0 = *((r4 + 0x14));
| if (r0 != 0) {
0x0000a7b6 cbz r0, 0xa7c2 |
0x0000a7b8 blx 0x298c | r0 = fcn_0000298c ();
0x0000a7bc cmp r5, r0 |
0x0000a7be it lo |
| if (r5 < r0) {
0x0000a7c0 movlo r5, r0 | r5 = r0;
| goto label_89;
| }
| }
| label_89:
0x0000a7c2 ldr r3, [r7, 0x40] | r3 = var_40h_5;
0x0000a7c4 ldr r2, [r7, 0x2c] | r2 = base;
0x0000a7c6 str.w r4, [r2, r3, lsl 2] | __asm ("str.w r4, [r2, r3, lsl 2]");
0x0000a7ca adds r3, 1 | r3++;
0x0000a7cc str r3, [r7, 0x40] | var_40h_5 = r3;
0x0000a7ce b 0xa734 | goto label_14;
| label_87:
0x0000a7d0 cmp r1, 0 |
0x0000a7d2 beq 0xa76e |
| } while (r1 == 0);
0x0000a7d4 b 0xa75e | goto label_15;
| label_75:
0x0000a7d6 ldrd sb, fp, [r7, 0x24] | __asm ("ldrd sb, fp, [var_24h_3]");
0x0000a7da ldr r6, [r7, 0x20] | r6 = var_20h_5;
0x0000a7dc blx 0x2670 | safe_fclose ();
0x0000a7e0 ldr r0, [r7, 0x60] | r0 = ptr;
0x0000a7e2 blx 0x28d4 | free (r0);
0x0000a7e6 ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a7e8 blx 0x29c8 | r0 = fcn_000029c8 ();
0x0000a7ec subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 < r0) {
0x0000a7ee blt.w 0xad06 | goto label_90;
| }
0x0000a7f2 ldr r0, [r7, 0x5c] | r0 = var_5ch_2;
0x0000a7f4 cmp r0, 0 |
| if (r0 == 0) {
0x0000a7f6 beq.w 0xa420 | goto label_10;
| }
0x0000a7fa blx 0x2718 | sd_bus_message_unref ();
0x0000a7fe b 0xa420 | goto label_10;
| label_76:
0x0000a800 mov r5, r0 | r5 = r0;
0x0000a802 ldr.w fp, [r7, 0x28] | fp = var_28h_2;
0x0000a806 blx 0x27cc | r0 = log_get_max_level ();
0x0000a80a cmp r0, 2 |
0x0000a80c ldr.w sl, [r7, 0x38] | sl = var_38h_3;
| if (r0 <= 2) {
0x0000a810 ble.w 0xa588 | goto label_16;
| }
0x0000a814 ldr.w r3, [pc, 0x5c0] |
0x0000a818 mov r1, r5 | r1 = r5;
0x0000a81a movs r0, 3 | r0 = 3;
0x0000a81c add r3, pc |
0x0000a81e adds r2, r3, 7 | r2 = r3 + 7;
0x0000a820 ldr.w r3, [pc, 0x5b8] | r3 = s;
0x0000a824 add r3, pc | r3 = 0x1fe20;
0x0000a826 str r3, [sp, 4] | var_4h = r3;
0x0000a828 ldr.w r3, [pc, 0x5b4] |
0x0000a82c add r3, pc | r3 = 0x15610;
0x0000a82e str r3, [sp] | *(sp) = r3;
0x0000a830 movw r3, 0x412 | r3 = 0x412;
0x0000a834 blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a838 mov r4, r0 | r4 = r0;
0x0000a83a b 0xa58e | goto label_17;
| label_77:
0x0000a83c mov r5, r0 | r5 = r0;
0x0000a83e ldr.w fp, [r7, 0x28] | fp = var_28h_2;
0x0000a842 blx 0x27cc | r0 = log_get_max_level ();
0x0000a846 cmp r0, 2 |
0x0000a848 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
| if (r0 <= 2) {
0x0000a84c ble.w 0xa588 | goto label_16;
| }
0x0000a850 ldr.w r3, [pc, 0x590] |
0x0000a854 mov r1, r5 | r1 = r5;
0x0000a856 movs r0, 3 | r0 = 3;
0x0000a858 add r3, pc |
0x0000a85a adds r2, r3, 7 | r2 = r3 + 7;
0x0000a85c ldr.w r3, [pc, 0x588] | r3 = s;
0x0000a860 add r3, pc | r3 = 0x1fea4;
0x0000a862 str r3, [sp, 4] | var_4h = r3;
0x0000a864 ldr.w r3, [pc, 0x584] |
0x0000a868 add r3, pc | r3 = 0x15658;
0x0000a86a str r3, [sp] | *(sp) = r3;
0x0000a86c movw r3, 0x416 | r3 = 0x416;
0x0000a870 blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000a874 mov r4, r0 | r4 = r0;
0x0000a876 b 0xa58e | goto label_17;
| label_78:
0x0000a878 ldr.w r1, [pc, 0x574] |
0x0000a87c movw r2, 0x41a | r2 = 0x41a;
0x0000a880 ldr.w r3, [pc, 0x570] |
0x0000a884 str r0, [r7, 0x3c] | var_3ch_2 = r0;
0x0000a886 movs r0, 3 | r0 = 3;
0x0000a888 add r1, pc | r1 = 0x1567c;
0x0000a88a ldr.w fp, [r7, 0x28] | fp = var_28h_2;
0x0000a88e add r3, pc | r3 = 0x15686;
0x0000a890 adds r1, 7 | r1 += 7;
0x0000a892 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
0x0000a896 blx 0x2ea8 | r0 = fcn_00002ea8 ();
0x0000a89a mov r4, r0 | r4 = r0;
0x0000a89c b 0xa596 | goto label_18;
| label_86:
0x0000a89e ldr r1, [r7, 0x40] | r1 = var_40h_5;
0x0000a8a0 cmp r5, 0x28 |
0x0000a8a2 it hs |
| if (r5 < 0x28) {
0x0000a8a4 movhs r5, 0x28 | r5 = 0x28;
| }
0x0000a8a6 str r5, [r7, 0x20] | var_20h_5 = r5;
0x0000a8a8 cmp r1, 1 |
| if (r1 < 1) {
0x0000a8aa bls.w 0xac14 | goto label_91;
| }
0x0000a8ae ldr.w r3, [pc, 0x548] | r3 = *(0x0000adf8);
0x0000a8b2 movs r2, 4 | r2 = 4;
0x0000a8b4 ldr r0, [r7, 0x2c] | r0 = base;
0x0000a8b6 add r3, pc | r3 += pc;
0x0000a8b8 blx 0x2694 | qsort ();
0x0000a8bc ldr.w r3, [pc, 0x53c] | r3 = *(0x0000adfc);
0x0000a8c0 add r3, pc | r3 += pc;
0x0000a8c2 ldr r0, [r3] | r0 = *(r3);
0x0000a8c4 blx 0x2a80 | fcn_00002a80 ();
0x0000a8c8 ldr.w r3, [pc, 0x534] | r3 = *(0x0000ae00);
0x0000a8cc add r3, pc | r3 += pc;
0x0000a8ce ldrb r3, [r3] | r3 = *(r3);
0x0000a8d0 cmp r3, 0 |
| if (r3 != 0) {
0x0000a8d2 bne.w 0xac26 | goto label_92;
| }
| label_36:
0x0000a8d6 ldr.w r2, [pc, 0x52c] |
0x0000a8da ldr r3, [r7, 0x2c] | r3 = base;
0x0000a8dc str.w r8, [r7, 0xc] | __asm ("str.w r8, [var_ch_4]");
0x0000a8e0 add r2, pc | r2 = 0x156ea;
0x0000a8e2 str.w sl, [r7, 4] | __asm ("str.w sl, [var_4h_5]");
0x0000a8e6 str r2, [r7, 0x18] | var_18h_4 = r2;
0x0000a8e8 subs r3, 4 | r3 -= 4;
0x0000a8ea ldr.w r2, [pc, 0x51c] |
0x0000a8ee mov sl, r3 | sl = r3;
0x0000a8f0 str.w fp, [r7, 8] | __asm ("str.w fp, [var_8h_4]");
0x0000a8f4 str.w sb, [r7, 0x24] | __asm ("str.w sb, [var_24h_3]");
0x0000a8f8 add r2, pc | r2 = 0x15706;
0x0000a8fa str r2, [r7, 0x1c] | var_1ch_4 = r2;
0x0000a8fc ldr.w r2, [pc, 0x50c] |
0x0000a900 add r2, pc | r2 = 0x15710;
0x0000a902 str r2, [r7, 0x14] | var_14h_5 = r2;
0x0000a904 ldr.w r2, [pc, 0x508] |
0x0000a908 add r2, pc | r2 = 0x1571c;
0x0000a90a str r2, [r7, 0x10] | var_10h_4 = r2;
0x0000a90c movs r2, 0 | r2 = 0;
0x0000a90e mov r8, r2 | r8 = r2;
| do {
0x0000a910 ldr r3, [r7, 0x24] | r3 = var_24h_3;
0x0000a912 ldr r5, [sl, 4]! | r5 = *((sl += 4));
0x0000a916 ldr r0, [r3, 0xc] | r0 = *((r3 + 0xc));
0x0000a918 str r5, [r7, 0x54] | var_54h = r5;
0x0000a91a cmp r0, 0 |
| if (r0 == 0) {
0x0000a91c beq.w 0xaac4 | goto label_93;
| }
0x0000a920 ldr r1, [r5, 4] | r1 = *((r5 + 4));
0x0000a922 blx 0x2e8c | r0 = parse_boolean_argument ();
0x0000a926 cmp r0, 0 |
| if (r0 == 0) {
0x0000a928 bne.w 0xaa60 |
0x0000a92c ldr.w r1, [pc, 0x4e4] |
0x0000a930 ldr r0, [r5] | r0 = *(r5);
0x0000a932 add r1, pc | r1 = 0x1574a;
0x0000a934 blx 0x2e8c | r0 = parse_boolean_argument ();
0x0000a938 mov r4, r0 | r4 = r0;
0x0000a93a cmp r0, 0 |
| if (r0 == 0) {
0x0000a93c beq.w 0xaa60 | goto label_94;
| }
| label_25:
0x0000a940 ldr.w sb, [r5, 0x14] | sb = *((r5 + 0x14));
0x0000a944 cmp.w sb, 0 |
| if (sb == 0) {
0x0000a948 beq.w 0xaaa8 | goto label_95;
| }
0x0000a94c mov r0, sb | r0 = sb;
0x0000a94e blx 0x298c | fcn_0000298c ();
0x0000a952 ldr r2, [r7, 0x20] | r2 = var_20h_5;
0x0000a954 mov r1, r0 | r1 = r0;
0x0000a956 movs r3, 0x64 | r3 = 0x64;
0x0000a958 mov r0, sb | r0 = sb;
0x0000a95a blx 0x2e70 | r0 = fcn_00002e70 ();
0x0000a95e mov fp, r0 |
0x0000a960 cmp r0, 0 |
| if (r0 == 0) {
0x0000a962 beq.w 0xac64 | goto label_96;
| }
0x0000a966 mov sb, r0 | sb = r0;
| label_24:
0x0000a968 cmp r4, 0 |
| if (r4 == 0) {
0x0000a96a beq.w 0xaad0 | goto label_97;
| }
0x0000a96e ldr.w r3, [pc, 0x4a8] |
0x0000a972 add r3, pc | r3 = 0x15790;
0x0000a974 str r3, [r7, 0x28] | var_28h_2 = r3;
0x0000a976 ldr.w r3, [pc, 0x4a4] |
0x0000a97a add r3, pc | r3 = 0x1579c;
0x0000a97c str r3, [r7, 0x2c] | base = r3;
| label_26:
0x0000a97e ldr r5, [r7, 0x54] | r5 = var_54h;
0x0000a980 ldr r3, [r7, 0x3c] | r3 = var_3ch_2;
0x0000a982 ldr r6, [r5] | r6 = *(r5);
0x0000a984 cmp r4, 0 |
0x0000a986 it ne |
| if (r4 == 0) {
0x0000a988 subne r3, 1 | r3--;
| }
0x0000a98a str r3, [r7, 0x44] | var_44h = r3;
0x0000a98c cmp r6, 0 |
| if (r6 == 0) {
0x0000a98e beq.w 0xaa9e | goto label_98;
| }
0x0000a992 ldr.w r1, [pc, 0x48c] |
0x0000a996 mov r0, r6 | r0 = r6;
0x0000a998 add r1, pc | r1 = 0x157be;
0x0000a99a blx 0x2e8c | r0 = parse_boolean_argument ();
0x0000a99e cmp r0, 0 |
| if (r0 != 0) {
0x0000a9a0 bne 0xaa9e | goto label_98;
| }
0x0000a9a2 ldr r1, [r5, 4] | r1 = *((r5 + 4));
| label_22:
0x0000a9a4 cmp r1, 0 |
| if (r1 == 0) {
0x0000a9a6 beq.w 0xab00 | goto label_99;
| }
0x0000a9aa ldrb r3, [r1] | r3 = *(r1);
| if (r3 == 0) {
0x0000a9ac cbnz r3, 0xa9b4 |
0x0000a9ae ldr.w r1, [pc, 0x474] |
0x0000a9b2 add r1, pc | r1 = 0x157dc;
| }
| label_30:
0x0000a9b4 cmp r4, 0 |
| if (r4 == 0) {
0x0000a9b6 beq.w 0xaade | goto label_100;
| }
0x0000a9ba ldr.w r3, [pc, 0x46c] |
0x0000a9be add r3, pc | r3 = 0x157ec;
0x0000a9c0 str r3, [r7, 0x30] | var_30h_3 = r3;
| label_27:
0x0000a9c2 cmp r6, 0 |
| if (r6 == 0) {
0x0000a9c4 beq.w 0xaafa | goto label_101;
| }
0x0000a9c8 ldrb r3, [r6] | r3 = *(r6);
| if (r3 == 0) {
0x0000a9ca cbnz r3, 0xa9d2 |
0x0000a9cc ldr.w r6, [pc, 0x45c] | r6 = s;
0x0000a9d0 add r6, pc | r6 += pc;
| }
| label_29:
0x0000a9d2 ldr r2, [r5, 0xc] | r2 = *((r5 + 0xc));
0x0000a9d4 cmp r2, 0 |
| if (r2 == 0) {
0x0000a9d6 beq.w 0xaaf4 | goto label_102;
| }
0x0000a9da ldrb r3, [r2] | r3 = *(r2);
| if (r3 == 0) {
0x0000a9dc cbnz r3, 0xa9e4 |
0x0000a9de ldr.w r2, [pc, 0x450] |
0x0000a9e2 add r2, pc | r2 = 0x15818;
| }
| label_28:
0x0000a9e4 ldrd r3, r4, [r5, 0x20] | __asm ("ldrd r3, r4, [r5, 0x20]");
0x0000a9e8 ldrb r0, [r5, 0x18] | r0 = *((r5 + 0x18));
0x0000a9ea lsls r5, r3, 0x1f | r5 = r3 << 0x1f;
| if (r5 < r3) {
0x0000a9ec bmi 0xaa86 | goto label_103;
| }
0x0000a9ee orrs r4, r3 | r4 |= r3;
| if (r4 != r3) {
0x0000a9f0 bne.w 0xab06 | goto label_104;
| }
0x0000a9f4 cmp r0, 0 |
| if (r0 != 0) {
0x0000a9f6 bne.w 0xaba8 | goto label_105;
| }
0x0000a9fa ldr.w ip, [pc, 0x438] |
0x0000a9fe add ip, pc | ip = 0x15838;
| label_35:
0x0000aa00 ldr r4, [r7, 0x14] | r4 = var_14h_5;
0x0000aa02 mov r5, r4 | r5 = r4;
| label_21:
0x0000aa04 tst.w r3, 0x20 |
| if ((r3 & 0x20) != 0) {
0x0000aa08 bne 0xaa7e | goto label_106;
| }
0x0000aa0a ldr.w lr, [pc, 0x42c] |
0x0000aa0e add lr, pc | lr = 0x1584c;
| label_20:
0x0000aa10 lsls r3, r3, 0x19 | r3 <<= 0x19;
| if (r3 < r3) {
0x0000aa12 bmi 0xaa78 | goto label_107;
| }
0x0000aa14 ldr.w r3, [pc, 0x424] |
0x0000aa18 add r3, pc | r3 = 0x15858;
| label_19:
0x0000aa1a cmp r0, 0 |
| if (r0 != 0) {
0x0000aa1c bne 0xaaa2 | goto label_108;
| }
0x0000aa1e ldr.w r0, [pc, 0x420] |
0x0000aa22 add r0, pc | r0 = 0x15868;
| label_23:
0x0000aa24 strd r3, r0, [sp, 0x34] | __asm ("strd r3, r0, [sp, 0x34]");
0x0000aa28 movs r0, 1 | r0 = 1;
0x0000aa2a ldr r3, [r7, 0x30] | r3 = var_30h_3;
0x0000aa2c str r2, [sp, 0x18] | var_18h = r2;
0x0000aa2e str.w fp, [sp, 0x20] | __asm ("str.w fp, [var_20h_2]");
0x0000aa32 strd r1, r3, [sp, 4] | __asm ("strd r1, r3, [sp, 4]");
0x0000aa36 ldr r1, [r7, 0x20] | r1 = var_20h_5;
0x0000aa38 ldr r3, [r7, 0x44] | r3 = var_44h;
0x0000aa3a str r6, [sp, 0x10] | var_10h = r6;
0x0000aa3c str r1, [sp, 0x1c] | var_1ch = r1;
0x0000aa3e ldr r1, [r7, 0x34] | r1 = var_34h_3;
0x0000aa40 str r3, [sp] | *(sp) = r3;
0x0000aa42 ldrd r2, r3, [r7, 0x28] | __asm ("ldrd r2, r3, [base]");
0x0000aa44 movs r3, 0xa | r3 = 0xa;
0x0000aa46 str r1, [sp, 0x14] | var_14h = r1;
0x0000aa48 ldr r1, [r7, 0x38] | r1 = var_38h_3;
0x0000aa4a strd r4, lr, [sp, 0x2c] | __asm ("strd r4, lr, [sp, 0x2c]");
0x0000aa4e strd ip, r5, [sp, 0x24] | __asm ("strd ip, r5, [sp, 0x24]");
0x0000aa52 str r1, [sp, 0xc] | var_ch = r1;
0x0000aa54 ldr r1, [r7, 0x1c] | r1 = var_1ch_4;
0x0000aa56 blx 0x27fc | printf_chk ()
0x0000aa5a mov r0, sb | r0 = sb;
0x0000aa5c blx 0x28d4 | free (r0);
| }
| label_94:
0x0000aa60 ldr r3, [r7, 0x40] | r3 = var_40h_5;
0x0000aa62 add.w r8, r8, 1 | r8++;
0x0000aa66 cmp r3, r8 |
0x0000aa68 bhi.w 0xa910 |
| } while (r3 > r8);
0x0000aa6a add r7, sp, 0x148 | r7 = sp + 0x148;
0x0000aa6c ldrd fp, r8, [r7, 8] | __asm ("ldrd fp, r8, [var_ch_4]");
0x0000aa70 ldr.w sl, [r7, 4] | sl = var_4h_5;
| label_37:
0x0000aa74 movs r4, 0 | r4 = 0;
0x0000aa76 b 0xa61a | goto label_12;
| label_107:
0x0000aa78 ldr r3, [pc, 0x3c8] |
0x0000aa7a add r3, pc | r3 = 0x158c2;
0x0000aa7c b 0xaa1a | goto label_19;
| label_106:
0x0000aa7e ldr.w lr, [pc, 0x3c8] |
0x0000aa82 add lr, pc | lr = 0x158d0;
0x0000aa84 b 0xaa10 | goto label_20;
| label_103:
0x0000aa86 ldr.w ip, [pc, 0x3c4] |
0x0000aa8a add ip, pc | ip = 0x158dc;
| label_31:
0x0000aa8c lsls r5, r3, 0x1c | r5 = r3 << 0x1c;
| if (r5 >= r3) {
0x0000aa8e bpl 0xab14 | goto label_109;
| }
0x0000aa90 ldr r5, [pc, 0x3bc] |
0x0000aa92 add r5, pc | r5 = 0x158e6;
| label_32:
0x0000aa94 lsls r4, r3, 0x1b | r4 = r3 << 0x1b;
| if (r4 >= r3) {
0x0000aa96 bpl 0xab0e | goto label_110;
| }
0x0000aa98 ldr r4, [pc, 0x3b8] |
0x0000aa9a add r4, pc | r4 = 0x158f2;
0x0000aa9c b 0xaa04 | goto label_21;
| label_98:
0x0000aa9e ldr r1, [r5, 8] | r1 = *((r5 + 8));
0x0000aaa0 b 0xa9a4 | goto label_22;
| label_108:
0x0000aaa2 ldr r0, [pc, 0x3b4] |
0x0000aaa4 add r0, pc | r0 = 0x15902;
0x0000aaa6 b 0xaa24 | goto label_23;
| label_95:
0x0000aaa8 ldr.w fp, [r5, 0x10] | fp = *((r5 + 0x10));
0x0000aaac cmp.w fp, 0 |
| if (fp == 0) {
0x0000aab0 beq 0xab32 | goto label_111;
| }
0x0000aab2 ldrb.w r3, [fp] | r3 = *(fp);
0x0000aab6 cmp r3, 0 |
| if (r3 != 0) {
0x0000aab8 bne.w 0xa968 | goto label_24;
| }
0x0000aabc ldr.w fp, [pc, 0x39c] | fp = s;
0x0000aac0 add fp, pc |
0x0000aac2 b 0xa968 | goto label_24;
| label_93:
0x0000aac4 ldr r0, [r5] | r0 = *(r5);
0x0000aac6 ldr r1, [r7, 0x18] | r1 = var_18h_4;
0x0000aac8 blx 0x2e8c | r0 = parse_boolean_argument ();
0x0000aacc mov r4, r0 | r4 = r0;
0x0000aace b 0xa940 | goto label_25;
| label_97:
0x0000aad0 blx 0x2a98 | r0 = fcn_00002a98 ();
| if (r0 == 0) {
0x0000aad4 cbnz r0, 0xab24 |
0x0000aad6 ldr r3, [r7, 0x10] | r3 = var_10h_4;
0x0000aad8 strd r3, r3, [r7, 0x28] | __asm ("strd r3, r3, [base]");
0x0000aadc b 0xa97e | goto label_26;
| label_100:
0x0000aade str r1, [r7, 0x30] | var_30h_3 = r1;
0x0000aae0 blx 0x2a98 | fcn_00002a98 ();
0x0000aae4 ldr r1, [r7, 0x30] | r1 = var_30h_3;
0x0000aae6 ldr r5, [r7, 0x54] | r5 = var_54h;
| if (r0 != 0) {
0x0000aae8 cbz r0, 0xab1a |
0x0000aaea ldr r3, [pc, 0x374] |
0x0000aaec add r3, pc | r3 = 0x15952;
0x0000aaee str r3, [r7, 0x30] | var_30h_3 = r3;
0x0000aaf0 ldr r6, [r5] | r6 = *(r5);
0x0000aaf2 b 0xa9c2 | goto label_27;
| label_102:
0x0000aaf4 ldr r2, [pc, 0x36c] |
0x0000aaf6 add r2, pc | r2 = 0x1595e;
0x0000aaf8 b 0xa9e4 | goto label_28;
| label_101:
0x0000aafa ldr r6, [pc, 0x36c] |
0x0000aafc add r6, pc | r6 = 0x1596a;
0x0000aafe b 0xa9d2 | goto label_29;
| label_99:
0x0000ab00 ldr r1, [pc, 0x368] |
0x0000ab02 add r1, pc | r1 = 0x15972;
0x0000ab04 b 0xa9b4 | goto label_30;
| label_104:
0x0000ab06 ldr.w ip, [pc, 0x368] |
0x0000ab0a add ip, pc | ip = 0x15980;
0x0000ab0c b 0xaa8c | goto label_31;
| label_110:
0x0000ab0e ldr r4, [pc, 0x364] |
0x0000ab10 add r4, pc | r4 = 0x1598a;
0x0000ab12 b 0xaa04 | goto label_21;
| label_109:
0x0000ab14 ldr r5, [pc, 0x360] |
0x0000ab16 add r5, pc | r5 = 0x15992;
0x0000ab18 b 0xaa94 | goto label_32;
| }
0x0000ab1a ldr r3, [pc, 0x360] |
0x0000ab1c add r3, pc | r3 = 0x1599e;
0x0000ab1e str r3, [r7, 0x30] | var_30h_3 = r3;
0x0000ab20 ldr r6, [r5] | r6 = *(r5);
0x0000ab22 b 0xa9c2 | goto label_27;
| }
0x0000ab24 ldr r3, [pc, 0x358] |
0x0000ab26 add r3, pc | r3 = 0x159aa;
0x0000ab28 str r3, [r7, 0x28] | var_28h_2 = r3;
0x0000ab2a ldr r3, [pc, 0x358] |
0x0000ab2c add r3, pc | r3 = 0x159b6;
0x0000ab2e str r3, [r7, 0x2c] | base = r3;
0x0000ab30 b 0xa97e | goto label_26;
| label_111:
0x0000ab32 ldr.w fp, [pc, 0x354] |
0x0000ab36 add fp, pc | fp = 0x159c4;
0x0000ab38 b 0xa968 | goto label_24;
| label_79:
0x0000ab3a str r0, [r7, 0x44] | var_44h = r0;
0x0000ab3c blx 0x27cc | log_get_max_level ();
0x0000ab40 ldr r1, [r7, 0x44] | r1 = var_44h;
0x0000ab42 cmp r0, 2 |
0x0000ab44 ldr.w fp, [r7, 0x28] | fp = var_28h_2;
0x0000ab48 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
0x0000ab4c ittt le |
| if (r0 <= 2) {
0x0000ab4e rsble r4, r1, 0 | __asm ("rsble r4, r1, 0");
| }
| if (r0 <= 2) {
0x0000ab50 uxtble r4, r4 | __asm ("uxtble r4, r4");
| }
| if (r0 <= 2) {
0x0000ab52 rsble r4, r4, 0 | __asm ("rsble r4, r4, 0");
| }
| if (r0 > 2) {
0x0000ab54 bgt 0xabd2 | goto label_112;
| }
| do {
| label_34:
0x0000ab56 str r5, [r7, 0x3c] | var_3ch_2 = r5;
0x0000ab58 b 0xa58e | goto label_17;
| label_80:
0x0000ab5a mov r4, r0 | r4 = r0;
0x0000ab5c ldr.w fp, [r7, 0x28] | fp = var_28h_2;
0x0000ab60 blx 0x27cc | r0 = log_get_max_level ();
0x0000ab64 cmp r0, 2 |
0x0000ab66 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
| if (r0 > 2) {
0x0000ab6a bgt 0xabf2 | goto label_113;
| }
| label_33:
0x0000ab6c rsbs r4, r4, 0 | r4 -= ;
0x0000ab6e uxtb r4, r4 | r4 = (int8_t) r4;
0x0000ab70 rsbs r4, r4, 0 | r4 -= ;
0x0000ab72 b 0xab56 |
| } while (1);
| label_81:
0x0000ab74 mov r4, r0 | r4 = r0;
0x0000ab76 ldr.w fp, [r7, 0x28] | fp = var_28h_2;
0x0000ab7a blx 0x27cc | r0 = log_get_max_level ();
0x0000ab7e cmp r0, 2 |
0x0000ab80 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
| if (r0 <= 2) {
0x0000ab84 ble 0xab6c | goto label_33;
| }
0x0000ab86 ldr r3, [pc, 0x304] |
0x0000ab88 mov r1, r4 | r1 = r4;
0x0000ab8a movs r0, 3 | r0 = 3;
0x0000ab8c add r3, pc | r3 = 0x15a1e;
0x0000ab8e adds r2, r3, 7 | r2 = r3 + 7;
0x0000ab90 ldr r3, [pc, 0x2fc] |
0x0000ab92 add r3, pc | r3 = 0x15a26;
0x0000ab94 str r3, [sp, 4] | var_4h = r3;
0x0000ab96 ldr r3, [pc, 0x2fc] |
0x0000ab98 add r3, pc | r3 = 0x15a32;
0x0000ab9a str r3, [sp] | *(sp) = r3;
0x0000ab9c movw r3, 0x42f | r3 = 0x42f;
0x0000aba0 blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000aba4 mov r4, r0 | r4 = r0;
0x0000aba6 b 0xab56 | goto label_34;
| label_105:
0x0000aba8 ldr.w ip, [pc, 0x2ec] | ip = s;
0x0000abac add ip, pc |
0x0000abae b 0xaa00 | goto label_35;
| label_82:
0x0000abb0 ldr r3, [pc, 0x2e8] |
0x0000abb2 mov r1, r5 | r1 = r5;
0x0000abb4 movs r0, 3 | r0 = 3;
0x0000abb6 add r3, pc | r3 = 0x15a56;
0x0000abb8 adds r2, r3, 7 | r2 = r3 + 7;
0x0000abba ldr r3, [pc, 0x2e4] |
0x0000abbc add r3, pc | r3 = 0x15a62;
0x0000abbe str r3, [sp, 4] | var_4h = r3;
0x0000abc0 ldr r3, [pc, 0x2e0] |
0x0000abc2 add r3, pc | r3 = 0x15a6a;
0x0000abc4 str r3, [sp] | *(sp) = r3;
0x0000abc6 movw r3, 0x40b | r3 = 0x40b;
0x0000abca blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000abce mov r4, r0 | r4 = r0;
0x0000abd0 b 0xa58e | goto label_17;
| label_112:
0x0000abd2 ldr r3, [pc, 0x2d4] |
0x0000abd4 movs r0, 3 | r0 = 3;
0x0000abd6 add r3, pc | r3 = 0x15a84;
0x0000abd8 adds r2, r3, 7 | r2 = r3 + 7;
0x0000abda ldr r3, [pc, 0x2d0] |
0x0000abdc add r3, pc | r3 = 0x15a8e;
0x0000abde str r3, [sp, 4] | var_4h = r3;
0x0000abe0 ldr r3, [pc, 0x2cc] |
0x0000abe2 add r3, pc | r3 = 0x15a96;
0x0000abe4 str r3, [sp] | *(sp) = r3;
0x0000abe6 movw r3, 0x41e | r3 = 0x41e;
0x0000abea blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000abee mov r4, r0 | r4 = r0;
0x0000abf0 b 0xab56 | goto label_34;
| label_113:
0x0000abf2 ldr r3, [pc, 0x2c0] |
0x0000abf4 mov r1, r4 | r1 = r4;
0x0000abf6 movs r0, 3 | r0 = 3;
0x0000abf8 add r3, pc | r3 = 0x15ab2;
0x0000abfa adds r2, r3, 7 | r2 = r3 + 7;
0x0000abfc ldr r3, [pc, 0x2b8] |
0x0000abfe add r3, pc | r3 = 0x15aba;
0x0000ac00 str r3, [sp, 4] | var_4h = r3;
0x0000ac02 ldr r3, [pc, 0x2b8] |
0x0000ac04 add r3, pc | r3 = 0x15ac6;
0x0000ac06 str r3, [sp] | *(sp) = r3;
0x0000ac08 movw r3, 0x42b | r3 = 0x42b;
0x0000ac0c blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000ac10 mov r4, r0 | r4 = r0;
0x0000ac12 b 0xab56 | goto label_34;
| label_91:
0x0000ac14 ldr r3, [pc, 0x2a8] |
0x0000ac16 add r3, pc | r3 = 0x15ada;
0x0000ac18 ldr r0, [r3] | r0 = *(0x15ada);
0x0000ac1a blx 0x2a80 | fcn_00002a80 ();
0x0000ac1e ldr r3, [pc, 0x2a4] |
0x0000ac20 add r3, pc | r3 = 0x15aea;
0x0000ac22 ldrb r3, [r3] | r3 = *(r3);
| if (r3 != 0) {
0x0000ac24 cbz r3, 0xac5a |
| label_92:
0x0000ac26 ldr r3, [r7, 0x20] | r3 = var_20h_5;
0x0000ac28 movs r0, 1 | r0 = 1;
0x0000ac2a ldr r1, [pc, 0x29c] |
0x0000ac2c ldr r2, [r7, 0x3c] | r2 = var_3ch_2;
0x0000ac2e str r3, [sp, 0x10] | var_10h = r3;
0x0000ac30 ldr r3, [r7, 0x34] | r3 = var_34h_3;
0x0000ac32 add r1, pc | r1 = 0x15b00;
0x0000ac34 str r3, [sp, 8] | var_8h = r3;
0x0000ac36 ldr r3, [r7, 0x38] | r3 = var_38h_3;
0x0000ac38 str r3, [sp] | *(sp) = r3;
0x0000ac3a ldr r3, [pc, 0x290] |
0x0000ac3c add r3, pc | r3 = 0x15b0e;
0x0000ac3e str r3, [sp, 0x18] | var_18h = r3;
0x0000ac40 ldr r3, [pc, 0x28c] |
0x0000ac42 add r3, pc | r3 = 0x15b16;
0x0000ac44 str r3, [sp, 0x14] | var_14h = r3;
0x0000ac46 ldr r3, [pc, 0x28c] |
0x0000ac48 add r3, pc | r3 = 0x15b22;
0x0000ac4a str r3, [sp, 0xc] | var_ch = r3;
0x0000ac4c ldr r3, [pc, 0x288] |
0x0000ac4e add r3, pc | r3 = 0x15b2a;
0x0000ac50 str r3, [sp, 4] | var_4h = r3;
0x0000ac52 ldr r3, [pc, 0x288] |
0x0000ac54 add r3, pc | r3 = 0x15b36;
0x0000ac56 blx 0x27fc | printf_chk ()
| }
0x0000ac5a ldr r3, [r7, 0x40] | r3 = var_40h_5;
0x0000ac5c cmp r3, 0 |
| if (r3 != 0) {
0x0000ac5e bne.w 0xa8d6 | goto label_36;
| }
0x0000ac62 b 0xaa74 | goto label_37;
| label_96:
0x0000ac64 ldr r1, [pc, 0x278] |
0x0000ac66 movw r2, 0x473 | r2 = 0x473;
0x0000ac6a ldr r3, [pc, 0x278] |
0x0000ac6c movs r0, 3 | r0 = 3;
0x0000ac6e ldrd fp, r8, [r7, 8] | __asm ("ldrd fp, r8, [var_ch_4]");
0x0000ac72 add r1, pc | r1 = 0x15b56;
0x0000ac74 ldr.w sl, [r7, 4] | sl = var_4h_5;
0x0000ac78 add r3, pc | r3 = 0x15b62;
0x0000ac7a adds r1, 7 | r1 += 7;
0x0000ac7c blx 0x2ea8 | r0 = fcn_00002ea8 ();
0x0000ac80 mov r4, r0 | r4 = r0;
0x0000ac82 b 0xa61a | goto label_12;
| label_74:
0x0000ac84 mov r4, r0 | r4 = r0;
0x0000ac86 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
0x0000ac8a blx 0x27cc | r0 = log_get_max_level ();
0x0000ac8e cmp r0, 2 |
| if (r0 > 2) {
0x0000ac90 bgt 0xad38 | goto label_114;
| }
| do {
| label_41:
0x0000ac92 rsbs r4, r4, 0 | r4 -= ;
0x0000ac94 uxtb r4, r4 | r4 = (int8_t) r4;
0x0000ac96 rsbs r4, r4, 0 | r4 -= ;
| label_39:
0x0000ac98 cmp r4, 0 |
0x0000ac9a it ge |
| if (r4 < 0) {
0x0000ac9c mvnge r4, 0x55 | r4 = ~0x55;
| }
0x0000aca0 b 0xa5a2 | goto label_38;
| label_73:
0x0000aca2 mov r4, r0 | r4 = r0;
0x0000aca4 ldr.w sl, [r7, 0x38] | sl = var_38h_3;
0x0000aca8 blx 0x27cc | r0 = log_get_max_level ();
0x0000acac cmp r0, 2 |
0x0000acae ble 0xac92 |
| } while (r0 <= 2);
0x0000acb0 ldr r3, [r7, 0x54] | r3 = var_54h;
0x0000acb2 mov r1, r4 | r1 = r4;
0x0000acb4 mov r0, sl | r0 = sl;
0x0000acb6 ldr r5, [r3, 4] | r5 = *((r3 + 4));
0x0000acb8 blx 0x2688 | bus_error_message ();
0x0000acbc ldr r2, [pc, 0x228] |
0x0000acbe mov r1, r4 | r1 = r4;
0x0000acc0 ldr r3, [pc, 0x228] |
0x0000acc2 str r0, [sp, 0xc] | var_ch = r0;
0x0000acc4 movs r0, 3 | r0 = 3;
0x0000acc6 add r2, pc | r2 = 0x15bb2;
0x0000acc8 str r2, [sp] | *(sp) = r2;
0x0000acca add r3, pc | r3 = 0x15bba;
0x0000accc ldr r2, [pc, 0x220] |
0x0000acce strd r3, r5, [sp, 4] | __asm ("strd r3, r5, [var_4h]");
0x0000acd2 movw r3, 0x3fb | r3 = 0x3fb;
0x0000acd6 add r2, pc | r2 = 0x15bca;
0x0000acd8 adds r2, 7 | r2 += 7;
0x0000acda blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000acde mov r4, r0 | r4 = r0;
0x0000ace0 b 0xac98 | goto label_39;
| label_85:
0x0000ace2 lsrs r3, r0, 0x1e | r3 = r0 >> 0x1e;
| if (r3 != r0) {
0x0000ace4 bne 0xad5a | goto label_115;
| }
0x0000ace6 lsls r0, r0, 2 | r0 <<= 2;
0x0000ace8 cmp.w r0, 0x400000 |
| if (r0 < 0x400000) {
0x0000acec bls.w 0xa6fe | goto label_40;
| }
0x0000acf0 ldr r1, [pc, 0x200] |
0x0000acf2 movw r2, 0x43c | r2 = 0x43c;
0x0000acf6 ldr r3, [pc, 0x200] |
0x0000acf8 ldr r0, [pc, 0x200] |
0x0000acfa add r1, pc | r1 = 0x15bf2;
0x0000acfc add r3, pc | r3 = 0x15bfa;
0x0000acfe adds r1, 7 | r1 += 7;
0x0000ad00 add r0, pc | r0 = 0x15c00;
0x0000ad02 blx 0x2a34 | fcn_00002a34 ();
| label_90:
0x0000ad06 blx 0x27cc | r0 = log_get_max_level ();
0x0000ad0a cmp r0, 2 |
0x0000ad0c ldr.w sl, [r7, 0x38] | sl = var_38h_3;
| if (r0 <= 2) {
0x0000ad10 ble 0xac92 | goto label_41;
| }
0x0000ad12 ldr r3, [pc, 0x1ec] |
0x0000ad14 mov r1, r4 | r1 = r4;
0x0000ad16 ldr r2, [pc, 0x1ec] |
0x0000ad18 movs r0, 3 | r0 = 3;
0x0000ad1a add r3, pc | r3 = 0x15c20;
0x0000ad1c str r3, [sp, 4] | var_4h = r3;
0x0000ad1e add r2, pc | r2 = 0x15c28;
0x0000ad20 ldr r3, [pc, 0x1e4] |
0x0000ad22 adds r2, 7 | r2 += 7;
0x0000ad24 add r3, pc | r3 = 0x15c30;
0x0000ad26 str r3, [sp] | *(sp) = r3;
0x0000ad28 movw r3, 0x434 | r3 = 0x434;
0x0000ad2c blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000ad30 mov r4, r0 | r4 = r0;
0x0000ad32 b 0xac98 | goto label_39;
| label_83:
0x0000ad34 blx 0x2c24 | fcn_00002c24 ();
| label_114:
0x0000ad38 ldr r3, [pc, 0x1d0] |
0x0000ad3a mov r1, r4 | r1 = r4;
0x0000ad3c ldr r2, [pc, 0x1d0] |
0x0000ad3e movs r0, 3 | r0 = 3;
0x0000ad40 add r3, pc | r3 = 0x15c50;
0x0000ad42 str r3, [sp, 4] | var_4h = r3;
0x0000ad44 add r2, pc | r2 = 0x15c58;
0x0000ad46 ldr r3, [pc, 0x1cc] |
0x0000ad48 adds r2, 7 | r2 += 7;
0x0000ad4a add r3, pc | r3 = 0x15c64;
0x0000ad4c str r3, [sp] | *(sp) = r3;
0x0000ad4e mov.w r3, 0x400 | r3 = 0x400;
0x0000ad52 blx 0x2c54 | r0 = fcn_00002c54 ();
0x0000ad56 mov r4, r0 | r4 = r0;
0x0000ad58 b 0xac98 | goto label_39;
| label_115:
0x0000ad5a ldr r1, [pc, 0x1bc] |
0x0000ad5c movw r2, 0x43c | r2 = 0x43c;
0x0000ad60 ldr r3, [pc, 0x1b8] |
0x0000ad62 ldr r0, [pc, 0x1bc] |
0x0000ad64 add r1, pc | r1 = 0x15c82;
0x0000ad66 add r3, pc | r3 = 0x15c86;
0x0000ad68 adds r1, 7 | r1 += 7;
0x0000ad6a add r0, pc | r0 = 0x15c90;
0x0000ad6c blx 0x2a34 | fcn_00002a34 ();
0x0000ad70 ldr r1, [pc, 0x268] | r1 = *(0xafdc);
0x0000ad72 movs r1, r0 | r1 = r0;
0x0000ad74 lsls r0, r0, 0xc | r0 <<= 0xc;
0x0000ad76 movs r0, r0 |
0x0000ad78 cmp r0, ip |
0x0000ad7a movs r1, r0 | r1 = r0;
0x0000ad7c adds r2, 0xac | r2 += 0xac;
0x0000ad7e movs r0, r0 |
0x0000ad80 adds r2, 0x7a | r2 += 0x7a;
0x0000ad82 movs r0, r0 |
0x0000ad84 adds r7, 0xd4 | r7 += 0xd4;
0x0000ad86 movs r0, r0 |
0x0000ad88 ldr r4, [pc, 0x230] | r4 = *(0xafbc);
0x0000ad8a movs r1, r0 | r1 = r0;
0x0000ad8c cmp r2, r0 |
0x0000ad8e movs r1, r0 | r1 = r0;
0x0000ad90 subs r3, 0x7c | r3 -= 0x7c;
0x0000ad92 movs r0, r0 |
0x0000ad94 adds r1, 0x70 | r1 += 0x70;
0x0000ad96 movs r0, r0 |
0x0000ad98 adds r7, 0x78 | r7 += 0x78;
0x0000ad9a movs r0, r0 |
0x0000ad9c subs r3, 0x64 | r3 -= 0x64;
0x0000ad9e movs r0, r0 |
0x0000ada0 adds r7, 0x22 | r7 += 0x22;
0x0000ada2 movs r0, r0 |
0x0000ada4 adds r7, 0xa6 | r7 += 0xa6;
0x0000ada6 movs r0, r0 |
0x0000ada8 adds r7, 0xc0 | r7 += 0xc0;
0x0000adaa movs r0, r0 |
0x0000adac adds r7, 0xb2 | r7 += 0xb2;
0x0000adae movs r0, r0 |
0x0000adb0 bx r0 | return uint32_t (*r0)() ();
| }
[*] Function printf used 6 times busctl