[*] Binary protection state of libsystemd-core-251.so

  
  	Full RELRO     Canary found      NX enabled   DSO          No RPATH     No RUNPATH   No Symbols


[*] Function sprintf tear down of libsystemd-core-251.so

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/systemd/libsystemd-core-251.so @ 0x54830 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.bus_unit_method_attach_processes ()              | void bus_unit_method_attach_processes (int16_t arg_b8h, int16_t arg_238h, int16_t arg_288h, int16_t arg_300h, int16_t arg_348h, int16_t arg_370h, int16_t arg_340h, int16_t arg_3b8h_2, int16_t arg_390h, int16_t arg_3b8h, uint32_t arg1, int16_t arg2, int16_t arg3) {
                                                                 |     int16_t var_0h_3;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch_3;
                                                                 |     int16_t var_0h_2;
                                                                 |     int32_t var_8h_2;
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_0h;
                                                                 |     int32_t var_20h_4;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_20h;
                                                                 |     int32_t var_20h_3;
                                                                 |     int16_t var_ch_4;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t mode;
                                                                 |     int16_t var_20h_2;
                                                                 |     int16_t var_24h;
                                                                 |     int16_t fd;
                                                                 |     int16_t var_2ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
    0x00054830 svcmi 0xf0e92d                                    |     __asm ("svcmi aav.0x000000ff");
    0x00054834 mov r5, r1                                        |     r5 = r1;
    0x00054836 ldr r1, [pc, 0x284]                               |     
    0x00054838 mov r6, r2                                        |     r6 = r2;
    0x0005483a sub sp, 0x34                                      |     
    0x0005483c movs r3, 0                                        |     r3 = 0;
    0x0005483e ldr r2, [pc, 0x280]                               |     r2 = *(0x54ac2);
    0x00054840 add r1, pc                                        |     r1 = 0xa9302;
    0x00054842 ldr r2, [r1, r2]                                  |     
    0x00054844 ldr r2, [r2]                                      |     r2 = *(0xa9302);
    0x00054846 str r2, [sp, 0x2c]                                |     var_2ch = r2;
    0x00054848 mov.w r2, 0                                       |     r2 = 0;
    0x0005484c str r3, [sp, 0x14]                                |     var_14h = r3;
    0x0005484e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00054850 beq.w 0x549c0                                     |         goto label_9;
                                                                 |     }
    0x00054854 mov r4, r0                                        |     r4 = r0;
    0x00054856 mov r0, r5                                        |     r0 = r5;
    0x00054858 blx 0x24f94                                       |     bus_check_peercred ();
    0x0005485c ldr r3, [pc, 0x264]                               |     
    0x0005485e mov r1, r0                                        |     r1 = r0;
    0x00054860 ldr r2, [pc, 0x264]                               |     
    0x00054862 mov r0, r4                                        |     r0 = r4;
    0x00054864 str r6, [sp]                                      |     *(sp) = r6;
    0x00054866 add r3, pc                                        |     r3 = 0xa932e;
    0x00054868 add r2, pc                                        |     r2 = 0xa9334;
    0x0005486a blx 0x25eb4                                       |     r0 = fcn_00025eb4 ();
    0x0005486e subs.w fp, r0, 0                                  |     
                                                                 |     if (fp < r0) {
    0x00054872 blt 0x54960                                       |         goto label_2;
                                                                 |     }
    0x00054874 ldr r1, [pc, 0x254]                               |     
    0x00054876 add r2, sp, 0x18                                  |     r2 += var_18h;
    0x00054878 mov r0, r4                                        |     r0 = r4;
    0x0005487a add r1, pc                                        |     r1 = 0xa934a;
    0x0005487c blx 0x279ec                                       |     r0 = fcn_000279ec ();
    0x00054880 subs.w fp, r0, 0                                  |     
                                                                 |     if (fp < r0) {
    0x00054884 blt 0x54960                                       |         goto label_2;
                                                                 |     }
    0x00054886 ldr r7, [sp, 0x18]                                |     r7 = var_18h;
    0x00054888 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x0005488a beq 0x54986                                       |         goto label_10;
                                                                 |     }
    0x0005488c ldrb r3, [r7]                                     |     r3 = *(r7);
    0x0005488e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00054890 beq 0x54986                                       |         goto label_10;
                                                                 |     }
    0x00054892 cmp r3, 0x2f                                      |     
                                                                 |     if (r3 != 0x2f) {
    0x00054894 bne.w 0x549a6                                     |         goto label_11;
                                                                 |     }
    0x00054898 mov r0, r7                                        |     r0 = r7;
    0x0005489a blx 0x248cc                                       |     r0 = fcn_000248cc ();
    0x0005489e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000548a0 beq.w 0x549e8                                     |         goto label_12;
                                                                 |     }
    0x000548a4 mov r0, r5                                        |     r0 = r5;
    0x000548a6 blx 0x25de8                                       |     r0 = fcn_00025de8 ();
    0x000548aa cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000548ac beq 0x54994                                       |         goto label_13;
                                                                 |     }
                                                                 | label_1:
    0x000548ae mov r0, r5                                        |     r0 = r5;
    0x000548b0 blx 0x27980                                       |     fcn_00027980 ();
    0x000548b4 subs r0, 2                                        |     r0 -= 2;
    0x000548b6 cmp r0, 1                                         |     
                                                                 |     if (r0 < 1) {
    0x000548b8 bls.w 0x549d6                                     |         goto label_14;
                                                                 |     }
    0x000548bc add r3, sp, 0x14                                  |     r3 += var_14h;
    0x000548be movs r2, 0x11                                     |     r2 = 0x11;
    0x000548c0 str r3, [sp]                                      |     *(sp) = r3;
    0x000548c2 mov r0, r4                                        |     r0 = r4;
    0x000548c4 movs r3, 0                                        |     r3 = 0;
    0x000548c6 blx 0x25f20                                       |     r0 = fcn_00025f20 ();
    0x000548ca subs.w fp, r0, 0                                  |     
                                                                 |     if (fp < r0) {
    0x000548ce blt 0x54960                                       |         goto label_2;
                                                                 |     }
    0x000548d0 ldr.w r8, [pc, 0x1fc]                             |     
    0x000548d4 movs r1, 0x61                                     |     r1 = 0x61;
    0x000548d6 mov r0, r4                                        |     r0 = r4;
    0x000548d8 add r8, pc                                        |     r8 = 0xa93ac;
    0x000548da mov r2, r8                                        |     r2 = r8;
    0x000548dc blx 0x26c2c                                       |     r0 = fcn_00026c2c ();
    0x000548e0 subs.w fp, r0, 0                                  |     
                                                                 |     if (fp < r0) {
    0x000548e4 blt 0x54960                                       |         goto label_2;
                                                                 |     }
    0x000548e6 movs r7, 0                                        |     r7 = 0;
    0x000548e8 add.w sb, sp, 0x24                                |     sb += var_24h;
    0x000548ec add.w sl, sp, 0x20                                |     sl += var_20h_2;
    0x000548f0 add r3, sp, 0x28                                  |     r3 += fd;
    0x000548f2 str r3, [sp, 0xc]                                 |     var_ch_4 = r3;
                                                                 |     do {
                                                                 | label_0:
    0x000548f4 mov r2, sb                                        |         r2 = sb;
    0x000548f6 mov r1, r8                                        |         r1 = r8;
    0x000548f8 mov r0, r4                                        |         r0 = r4;
    0x000548fa blx 0x279ec                                       |         r0 = fcn_000279ec ();
    0x000548fe subs.w fp, r0, 0                                  |         
                                                                 |         if (fp < r0) {
    0x00054902 blt 0x54954                                       |             goto label_6;
                                                                 |         }
                                                                 |         if (fp == r0) {
    0x00054904 beq.w 0x54a5c                                     |             goto label_15;
                                                                 |         }
    0x00054908 ldr r1, [sp, 0x24]                                |         r1 = var_24h;
    0x0005490a cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x0005490c beq.w 0x54a36                                     |             goto label_16;
                                                                 |         }
    0x00054910 str r1, [sp, 0x28]                                |         fd = r1;
                                                                 | label_7:
    0x00054912 mov r0, r7                                        |         r0 = r7;
    0x00054914 blx 0x286e4                                       |         inotify_init1 ();
    0x00054916 cdp p8, 0xe, c2, c6, c0, 0                        |         __asm ("cdp p8, 0xe, c2, c6, c0, 0");
    0x0005491a bne 0x548f4                                       |         
                                                                 |     } while (r1 != 0);
    0x0005491c ldr r1, [sp, 0x28]                                |     r1 = fd;
    0x0005491e mov r2, r6                                        |     r2 = r6;
    0x00054920 mov r0, r5                                        |     r0 = r5;
    0x00054922 blx 0x273dc                                       |     r0 = asprintf_chk ()
    0x00054926 subs.w fp, r0, 0                                  |     
                                                                 |     if (fp < r0) {
    0x0005492a blt 0x54954                                       |         goto label_6;
                                                                 |     }
    0x0005492c ldr r0, [sp, 0x14]                                |     r0 = var_14h;
    0x0005492e mov r1, sl                                        |     r1 = sl;
    0x00054930 blx 0x253a4                                       |     r0 = fcn_000253a4 ();
    0x00054934 subs.w fp, r0, 0                                  |     
                                                                 |     if (fp < r0) {
    0x00054938 blt 0x54954                                       |         goto label_6;
                                                                 |     }
    0x0005493a ldr r3, [sp, 0x20]                                |     r3 = var_20h_2;
    0x0005493c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0005493e bne 0x549fc                                       |         goto label_17;
                                                                 |     }
                                                                 | label_5:
    0x00054940 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x00054942 beq.w 0x54a48                                     |         goto label_18;
                                                                 |     }
                                                                 | label_8:
    0x00054946 ldr r1, [sp, 0x28]                                |     r1 = fd;
    0x00054948 mov r0, r7                                        |     r0 = r7;
    0x0005494a blx 0x25b38                                       |     r0 = fcn_00025b38 ();
    0x0005494e subs.w fp, r0, 0                                  |     
                                                                 |     if (fp >= r0) {
    0x00054952 bge 0x548f4                                       |         goto label_0;
                                                                 |     }
                                                                 |     if (r7 != 0) {
                                                                 | label_6:
    0x00054954 cbz r7, 0x54960                                   |         
    0x00054956 movs r2, 0                                        |         r2 = 0;
    0x00054958 mov r0, r7                                        |         r0 = r7;
    0x0005495a mov r1, r2                                        |         r1 = r2;
    0x0005495c blx 0x26f50                                       |         varlink_set_userdata ();
                                                                 |     }
                                                                 | label_2:
    0x00054960 ldr r0, [sp, 0x14]                                |     r0 = var_14h;
                                                                 |     if (r0 != 0) {
    0x00054962 cbz r0, 0x54968                                   |         
                                                                 | label_3:
    0x00054964 blx 0x26ce8                                       |         fcn_00026ce8 ();
                                                                 |     }
                                                                 | label_4:
    0x00054968 ldr r1, [pc, 0x168]                               |     
    0x0005496a ldr r2, [pc, 0x154]                               |     r2 = *(0x54ac2);
    0x0005496c add r1, pc                                        |     r1 = 0xa9444;
    0x0005496e ldr r2, [r1, r2]                                  |     r2 = *(0xa9444);
    0x00054970 ldr r1, [r2]                                      |     r1 = *(0xa9444);
    0x00054972 ldr r2, [sp, 0x2c]                                |     r2 = var_2ch;
    0x00054974 eors r1, r2                                       |     r1 ^= r2;
    0x00054976 mov.w r2, 0                                       |     r2 = 0;
                                                                 |     if (r1 != r2) {
    0x0005497a bne.w 0x54ab6                                     |         goto label_19;
                                                                 |     }
    0x0005497e mov r0, fp                                        |     r0 = fp;
    0x00054980 add sp, 0x34                                      |     
    0x00054982 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_10:
    0x00054986 movs r3, 0                                        |     r3 = 0;
    0x00054988 mov r0, r5                                        |     r0 = r5;
    0x0005498a str r3, [sp, 0x18]                                |     var_18h = r3;
    0x0005498c blx 0x25de8                                       |     r0 = fcn_00025de8 ();
    0x00054990 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00054992 bne 0x548ae                                       |         goto label_1;
                                                                 |     }
                                                                 | label_13:
    0x00054994 ldr r2, [pc, 0x140]                               |     
    0x00054996 mov r0, r6                                        |     r0 = r6;
    0x00054998 ldr r1, [pc, 0x140]                               |     
    0x0005499a add r2, pc                                        |     r2 = 0xa9476;
    0x0005499c add r1, pc                                        |     r1 = 0xa947c;
    0x0005499e blx 0x27538                                       |     r0 = fcn_00027538 ();
    0x000549a2 mov fp, r0                                        |     
    0x000549a4 b 0x54960                                         |     goto label_2;
                                                                 | label_11:
    0x000549a6 ldr r2, [pc, 0x138]                               |     
    0x000549a8 mov r3, r7                                        |     r3 = r7;
    0x000549aa ldr r1, [pc, 0x138]                               |     
    0x000549ac mov r0, r6                                        |     r0 = r6;
    0x000549ae add r2, pc                                        |     r2 = 0xa9494;
    0x000549b0 add r1, pc                                        |     r1 = 0xa949a;
    0x000549b2 blx 0x28364                                       |     r0 = fcn_00028364 ();
    0x000549b6 mov fp, r0                                        |     
    0x000549b8 ldr r0, [sp, 0x14]                                |     r0 = var_14h;
    0x000549ba cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000549bc bne 0x54964                                       |         goto label_3;
                                                                 |     }
    0x000549be b 0x54968                                         |     goto label_4;
                                                                 | label_9:
    0x000549c0 ldr r1, [pc, 0x124]                               |     
    0x000549c2 movw r2, 0x5ac                                    |     r2 = 0x5ac;
    0x000549c6 ldr r3, [pc, 0x124]                               |     
    0x000549c8 ldr r0, [pc, 0x124]                               |     
    0x000549ca add r1, pc                                        |     r1 = 0xa94b6;
    0x000549cc add r3, pc                                        |     r3 = 0xa94be;
    0x000549ce adds r1, 7                                        |     r1 += 7;
    0x000549d0 add r0, pc                                        |     r0 = 0xa94c4;
    0x000549d2 blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_14:
    0x000549d6 ldr r2, [pc, 0x11c]                               |     
    0x000549d8 mov r0, r6                                        |     r0 = r6;
    0x000549da ldr r1, [pc, 0x11c]                               |     
    0x000549dc add r2, pc                                        |     r2 = 0xa94d6;
    0x000549de add r1, pc                                        |     r1 = 0xa94dc;
    0x000549e0 blx 0x27538                                       |     r0 = fcn_00027538 ();
    0x000549e4 mov fp, r0                                        |     
    0x000549e6 b 0x54960                                         |     goto label_2;
                                                                 | label_12:
    0x000549e8 ldr r2, [pc, 0x110]                               |     
    0x000549ea mov r3, r7                                        |     r3 = r7;
    0x000549ec ldr r1, [pc, 0x110]                               |     
    0x000549ee mov r0, r6                                        |     r0 = r6;
    0x000549f0 add r2, pc                                        |     r2 = 0xa94f0;
    0x000549f2 add r1, pc                                        |     r1 = 0xa94f6;
    0x000549f4 blx 0x28364                                       |     r0 = fcn_00028364 ();
    0x000549f8 mov fp, r0                                        |     
    0x000549fa b 0x54960                                         |     goto label_2;
                                                                 | label_17:
    0x000549fc blx 0x277d4                                       |     fcn_000277d4 ();
    0x00054a00 ldr r3, [sp, 0x20]                                |     r3 = var_20h_2;
    0x00054a02 cmp r0, r3                                        |     
                                                                 |     if (r0 == r3) {
    0x00054a04 beq 0x54940                                       |         goto label_5;
                                                                 |     }
    0x00054a06 ldr r0, [sp, 0x28]                                |     r0 = fd;
    0x00054a08 add r1, sp, 0x1c                                  |     r1 += mode;
    0x00054a0a blx 0x26a7c                                       |     r0 = fchmod (r0, r1);
    0x00054a0e cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x00054a10 blt 0x54aa6                                       |         goto label_20;
                                                                 |     }
    0x00054a12 ldrd r3, r2, [sp, 0x1c]                           |     __asm ("ldrd r3, r2, [var_20h_2]");
    0x00054a16 cmp r3, r2                                        |     
                                                                 |     if (r3 != r2) {
    0x00054a18 bne 0x54a92                                       |         goto label_21;
                                                                 |     }
    0x00054a1a ldr.w r2, [r5, 0x1d8]                             |     r2 = *((r5 + 0x1d8));
    0x00054a1e cmp r3, r2                                        |     
                                                                 |     if (r3 == r2) {
    0x00054a20 beq 0x54940                                       |         goto label_5;
                                                                 |     }
    0x00054a22 ldr r2, [pc, 0xe0]                                |     
    0x00054a24 mov r0, r6                                        |     r0 = r6;
    0x00054a26 ldr r1, [pc, 0xe0]                                |     
    0x00054a28 ldr r3, [sp, 0x28]                                |     r3 = fd;
    0x00054a2a add r2, pc                                        |     r2 = 0xa9534;
    0x00054a2c add r1, pc                                        |     r1 = 0xa953a;
    0x00054a2e blx 0x28364                                       |     r0 = fcn_00028364 ();
    0x00054a32 mov fp, r0                                        |     
    0x00054a34 b 0x54954                                         |     goto label_6;
                                                                 | label_16:
    0x00054a36 ldr r0, [sp, 0x14]                                |     r0 = var_14h;
    0x00054a38 ldr r1, [sp, 0xc]                                 |     r1 = var_ch_4;
    0x00054a3a blx 0x25e3c                                       |     r0 = fcn_00025e3c ();
    0x00054a3e subs.w fp, r0, 0                                  |     
                                                                 |     if (fp < r0) {
    0x00054a42 blt 0x54954                                       |         goto label_6;
                                                                 |     }
    0x00054a44 ldr r1, [sp, 0x28]                                |     r1 = fd;
    0x00054a46 b 0x54912                                         |     goto label_7;
                                                                 | label_18:
    0x00054a48 mov r0, r7                                        |     r0 = r7;
    0x00054a4a blx 0x25cf4                                       |     r0 = fcn_00025cf4 ();
    0x00054a4e mov r7, r0                                        |     r7 = r0;
    0x00054a50 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00054a52 bne.w 0x54946                                     |         goto label_8;
                                                                 |     }
    0x00054a56 mvn fp, 0xb                                       |     
    0x00054a5a b 0x54960                                         |     goto label_2;
                                                                 | label_15:
    0x00054a5c mov r0, r4                                        |     r0 = r4;
    0x00054a5e blx 0x269f8                                       |     r0 = kmod_unref ();
    0x00054a62 subs.w fp, r0, 0                                  |     
                                                                 |     if (fp < r0) {
    0x00054a66 blt.w 0x54954                                     |         goto label_6;
                                                                 |     }
    0x00054a6a mov r1, r7                                        |     r1 = r7;
    0x00054a6c ldr r2, [sp, 0x18]                                |     r2 = var_18h;
    0x00054a6e mov r0, r5                                        |     r0 = r5;
    0x00054a70 blx 0x27c58                                       |     r0 = fcn_00027c58 ();
    0x00054a74 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 >= r0) {
    0x00054a76 blt 0x54a84                                       |         
    0x00054a78 movs r1, 0                                        |         r1 = 0;
    0x00054a7a mov r0, r4                                        |         r0 = r4;
    0x00054a7c blx 0x26688                                       |         r0 = fcn_00026688 ();
    0x00054a80 mov fp, r0                                        |         
    0x00054a82 b 0x54954                                         |         goto label_6;
                                                                 |     }
    0x00054a84 ldr r2, [pc, 0x84]                                |     
    0x00054a86 mov r0, r6                                        |     r0 = r6;
    0x00054a88 add r2, pc                                        |     r2 = 0xa9598;
    0x00054a8a blx 0x28924                                       |     r0 = touch_file ();
    0x00054a8e mov fp, r0                                        |     
    0x00054a90 b 0x54954                                         |     goto label_6;
                                                                 | label_21:
    0x00054a92 ldr r2, [pc, 0x7c]                                |     
    0x00054a94 mov r0, r6                                        |     r0 = r6;
    0x00054a96 ldr r1, [pc, 0x7c]                                |     
    0x00054a98 ldr r3, [sp, 0x28]                                |     r3 = fd;
    0x00054a9a add r2, pc                                        |     r2 = 0xa95b0;
    0x00054a9c add r1, pc                                        |     r1 = 0xa95b6;
    0x00054a9e blx 0x28364                                       |     r0 = fcn_00028364 ();
    0x00054aa2 mov fp, r0                                        |     
    0x00054aa4 b 0x54954                                         |     goto label_6;
                                                                 | label_20:
    0x00054aa6 ldr r2, [pc, 0x70]                                |     
    0x00054aa8 mov r1, r0                                        |     r1 = r0;
    0x00054aaa mov r0, r6                                        |     r0 = r6;
    0x00054aac add r2, pc                                        |     r2 = 0xa95ca;
    0x00054aae blx 0x28924                                       |     r0 = touch_file ();
    0x00054ab2 mov fp, r0                                        |     
    0x00054ab4 b 0x54954                                         |     goto label_6;
                                                                 | label_19:
    0x00054ab6 blx 0x26e98                                       |     fcn_00026e98 ();
    0x00054aba nop                                               |     
    0x00054abc cmp r4, 8                                         |     
    0x00054abe movs r6, r1                                       |     r6 = r1;
    0x00054ac0 subs r0, r1, r1                                   |     r0 = r1 - r1;
    0x00054ac2 movs r0, r0                                       |     
    0x00054ac4 movs r3, 0x9a                                     |     r3 = 0x9a;
    0x00054ac6 movs r1, r1                                       |     
    0x00054ac8 adr r7, 0x10                                      |     r7 = 0x10;
    0x00054aca movs r1, r1                                       |     
    0x00054acc ldr r1, [pc, 0xb8]                                |     r1 = *(0x54b88);
    0x00054ace movs r0, r1                                       |     r0 = r1;
    0x00054ad0 subs r4, r4, 5                                    |     r4 -= 5;
    0x00054ad2 movs r3, r1                                       |     r3 = r1;
    0x00054ad4 cmp r2, 0xdc                                      |     
    0x00054ad6 movs r6, r1                                       |     r6 = r1;
    0x00054ad8 lsrs r6, r6, 0xc                                  |     r6 >>= 0xc;
    0x00054ada movs r1, r1                                       |     
    0x00054adc ldr r0, [sp, 0x390]                               |     r0 = *(arg_390h);
    0x00054ade movs r0, r1                                       |     r0 = r1;
    0x00054ae0 lsrs r6, r1, 0xb                                  |     r6 = r1 >> 0xb;
    0x00054ae2 movs r1, r1                                       |     
    0x00054ae4 ldr r0, [sp, 0x340]                               |     r0 = *(arg_340h);
    0x00054ae6 movs r0, r1                                       |     r0 = r1;
    0x00054ae8 lsrs r2, r4, 0x20                                 |     r2 = r4 >> 0x20;
    0x00054aea movs r1, r1                                       |     
    0x00054aec movs r2, 0x58                                     |     r2 = 0x58;
    0x00054aee movs r1, r1                                       |     
    0x00054af0 asrs r0, r2, 0x20                                 |     r0 = r2 >> 0x20;
    0x00054af2 movs r1, r1                                       |     
    0x00054af4 lsrs r4, r5, 0xc                                  |     r4 = r5 >> 0xc;
    0x00054af6 movs r1, r1                                       |     
    0x00054af8 ldr r0, [sp, 0x288]                               |     r0 = *(arg_288h);
    0x00054afa movs r0, r1                                       |     r0 = r1;
    0x00054afc lsrs r4, r6, 0xa                                  |     r4 = r6 >> 0xa;
    0x00054afe movs r1, r1                                       |     
    0x00054b00 ldr r0, [sp, 0x238]                               |     r0 = *(arg_238h);
    0x00054b02 movs r0, r1                                       |     r0 = r1;
    0x00054b04 lsrs r2, r7, 0xd                                  |     r2 = r7 >> 0xd;
    0x00054b06 movs r1, r1                                       |     
    0x00054b08 lsrs r0, r2, 0xd                                  |     r0 = r2 >> 0xd;
    0x00054b0a movs r1, r1                                       |     
    0x00054b0c lsrs r4, r2, 0xd                                  |     r4 = r2 >> 0xd;
    0x00054b0e movs r1, r1                                       |     
    0x00054b10 lsrs r2, r6, 0xa                                  |     r2 = r6 >> 0xa;
    0x00054b12 movs r1, r1                                       |     
    0x00054b14 lsrs r0, r4, 0xb                                  |     r0 = r4 >> 0xb;
    0x00054b16 movs r1, r1                                       |     
    0x00054b18 lsrs r4, r7, 9                                    |     r4 = r7 >> 9;
    0x00054b1a movs r1, r1                                       |     
    0x00054b1c ldr r1, [pc, 0xdc]                                |     
    0x00054b1e mov r2, r3                                        |     r2 = r3;
    0x00054b20 ldr r3, [pc, 0xdc]                                |     r3 = *(0x54c00);
    0x00054b22 push {r4, r5, lr}                                 |     
    0x00054b24 sub sp, 0x14                                      |     
    0x00054b26 add r1, pc                                        |     r1 = 0xa9726;
    0x00054b28 vmov.i8 d16, 0xff                                 |     __asm ("vmov.i8 d16, 0xff");
    0x00054b2c ldr r3, [r1, r3]                                  |     
    0x00054b2e ldrd r4, r5, [sp, 0x20]                           |     __asm ("ldrd r4, r5, [var_20h]");
    0x00054b32 ldr r3, [r3]                                      |     r3 = *(0xa9726);
    0x00054b34 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00054b36 mov.w r3, 0                                       |     r3 = 0;
    0x00054b3a vstr d16, [sp]                                    |     __asm ("vstr d16, [sp]");
                                                                 |     if (r0 != 0) {
    0x00054b3e cbz r0, 0x54b88                                   |         
                                                                 |         if (r4 == 0) {
    0x00054b40 cbz r4, 0x54b9e                                   |             goto label_22;
                                                                 |         }
    0x00054b42 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x00054b44 beq 0x54bb4                                       |             goto label_23;
                                                                 |         }
    0x00054b46 cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x00054b48 beq 0x54bca                                       |             goto label_24;
                                                                 |         }
    0x00054b4a ldr r0, [pc, 0xb8]                                |         
    0x00054b4c movs r1, 4                                        |         r1 = 4;
    0x00054b4e add r0, pc                                        |         r0 = 0xa9758;
    0x00054b50 blx 0x261e8                                       |         r0 = safe_fork_full ();
    0x00054b54 subs r1, r0, 0                                    |         r1 = r0 - 0;
                                                                 |         if (r1 < r0) {
    0x00054b56 blt 0x54be0                                       |             goto label_25;
                                                                 |         }
    0x00054b58 mov r3, sp                                        |         r3 = sp;
    0x00054b5a movs r2, 0                                        |         r2 = 0;
    0x00054b5c mov r0, r5                                        |         r0 = r5;
    0x00054b5e blx 0x28ab0                                       |         sprintf_chk ()
    0x00054b62 ldr r1, [pc, 0xa4]                                |         
    0x00054b64 mov r0, r4                                        |         r0 = r4;
    0x00054b66 ldrd r2, r3, [sp]                                 |         __asm ("ldrd r2, r3, [sp]");
    0x00054b6a add r1, pc                                        |         r1 = 0xa9778;
    0x00054b6c blx 0x28fe0                                       |         fcn_00028fe0 ();
    0x00054b70 ldr r2, [pc, 0x98]                                |         
    0x00054b72 ldr r3, [pc, 0x8c]                                |         r3 = *(0x54c02);
    0x00054b74 add r2, pc                                        |         r2 = 0xa9784;
    0x00054b76 ldr r3, [r2, r3]                                  |         r3 = *(0xa9784);
    0x00054b78 ldr r2, [r3]                                      |         r2 = *(0xa9784);
    0x00054b7a ldr r3, [sp, 0xc]                                 |         r3 = var_ch;
    0x00054b7c eors r2, r3                                       |         r2 ^= r3;
    0x00054b7e mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00054b82 bne 0x54bf6                                       |             goto label_26;
                                                                 |         }
    0x00054b84 add sp, 0x14                                      |         
    0x00054b86 pop {r4, r5, pc}                                  |         
                                                                 |     }
    0x00054b88 ldr r1, [pc, 0x84]                                |     
    0x00054b8a movw r2, 0x59a                                    |     r2 = 0x59a;
    0x00054b8e ldr r3, [pc, 0x84]                                |     
    0x00054b90 ldr r0, [pc, 0x84]                                |     
    0x00054b92 add r1, pc                                        |     r1 = 0xa97a6;
    0x00054b94 add r3, pc                                        |     r3 = 0xa97ae;
    0x00054b96 adds r1, 7                                        |     r1 += 7;
    0x00054b98 add r0, pc                                        |     r0 = 0xa97b4;
    0x00054b9a blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_22:
    0x00054b9e ldr r1, [pc, 0x7c]                                |     
    0x00054ba0 movw r2, 0x59b                                    |     r2 = 0x59b;
    0x00054ba4 ldr r3, [pc, 0x78]                                |     
    0x00054ba6 ldr r0, [pc, 0x7c]                                |     
    0x00054ba8 add r1, pc                                        |     r1 = 0xa97ca;
    0x00054baa add r3, pc                                        |     r3 = 0xa97ce;
    0x00054bac adds r1, 7                                        |     r1 += 7;
    0x00054bae add r0, pc                                        |     r0 = 0xa97d8;
    0x00054bb0 blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_23:
    0x00054bb4 ldr r1, [pc, 0x70]                                |     
    0x00054bb6 movw r2, 0x59c                                    |     r2 = 0x59c;
    0x00054bba ldr r3, [pc, 0x70]                                |     
    0x00054bbc ldr r0, [pc, 0x70]                                |     
    0x00054bbe add r1, pc                                        |     r1 = 0xa97ea;
    0x00054bc0 add r3, pc                                        |     r3 = 0xa97f2;
    0x00054bc2 adds r1, 7                                        |     r1 += 7;
    0x00054bc4 add r0, pc                                        |     r0 = 0xa97f8;
    0x00054bc6 blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_24:
    0x00054bca ldr r1, [pc, 0x68]                                |     
    0x00054bcc movw r2, 0x59d                                    |     r2 = 0x59d;
    0x00054bd0 ldr r3, [pc, 0x64]                                |     
    0x00054bd2 ldr r0, [pc, 0x68]                                |     
    0x00054bd4 add r1, pc                                        |     r1 = 0xa980e;
    0x00054bd6 add r3, pc                                        |     r3 = 0xa9812;
    0x00054bd8 adds r1, 7                                        |     r1 += 7;
    0x00054bda add r0, pc                                        |     r0 = 0xa981c;
    0x00054bdc blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_25:
    0x00054be0 ldr r1, [pc, 0x5c]                                |     
    0x00054be2 movw r2, 0x59f                                    |     r2 = 0x59f;
    0x00054be6 ldr r3, [pc, 0x5c]                                |     
    0x00054be8 ldr r0, [pc, 0x5c]                                |     
    0x00054bea add r1, pc                                        |     r1 = 0xa982e;
    0x00054bec add r3, pc                                        |     r3 = 0xa9836;
    0x00054bee adds r1, 7                                        |     r1 += 7;
    0x00054bf0 add r0, pc                                        |     r0 = 0xa983c;
    0x00054bf2 blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_26:
    0x00054bf6 blx 0x26e98                                       |     fcn_00026e98 ();
    0x00054bfa nop                                               |     
    0x00054bfc cmp r1, 0x22                                      |     
    0x00054bfe movs r6, r1                                       |     r6 = r1;
    0x00054c00 subs r0, r1, r1                                   |     r0 = r1 - r1;
    0x00054c02 movs r0, r0                                       |     
    0x00054c04 ldrh r6, [r1, 0x3e]                               |     r6 = *((r1 + 0x3e));
    0x00054c06 movs r3, r1                                       |     r3 = r1;
    0x00054c08 ldr r1, [sp, 0xb8]                                |     r1 = *(arg_b8h);
    0x00054c0a movs r7, r0                                       |     r7 = r0;
    0x00054c0c cmp r0, 0xd4                                      |     
    0x00054c0e movs r6, r1                                       |     r6 = r1;
    0x00054c10 lsls r2, r3, 0x19                                 |     r2 = r3 << 0x19;
    0x00054c12 movs r1, r1                                       |     
    0x00054c14 movs r0, 0x40                                     |     r0 = 0x40;
    0x00054c16 movs r1, r1                                       |     
    0x00054c18 str r6, [sp]                                      |     *(sp) = r6;
    0x00054c1a movs r0, r1                                       |     r0 = r1;
    0x00054c1c lsls r4, r0, 0x19                                 |     r4 = r0 << 0x19;
    0x00054c1e movs r1, r1                                       |     
    0x00054c20 movs r0, 0x2a                                     |     r0 = 0x2a;
    0x00054c22 movs r1, r1                                       |     
    0x00054c24 str r5, [sp, 0x3b8]                               |     *(arg_3b8h) = r5;
    0x00054c26 movs r0, r1                                       |     r0 = r1;
    0x00054c28 lsls r6, r5, 0x18                                 |     r6 = r5 << 0x18;
    0x00054c2a movs r1, r1                                       |     
    0x00054c2c movs r0, 0x14                                     |     r0 = 0x14;
    0x00054c2e movs r1, r1                                       |     
    0x00054c30 asrs r4, r1, 0x13                                 |     r4 = r1 >> 0x13;
    0x00054c32 movs r1, r1                                       |     
    0x00054c34 lsls r0, r3, 0x18                                 |     r0 = r3 << 0x18;
    0x00054c36 movs r1, r1                                       |     
    0x00054c38 subs r6, r7, 7                                    |     r6 = r7 - 7;
    0x00054c3a movs r1, r1                                       |     
    0x00054c3c adds r2, r4, 1                                    |     r2 = r4 + 1;
    0x00054c3e movs r3, r1                                       |     r3 = r1;
    0x00054c40 lsls r2, r0, 0x18                                 |     r2 = r0 << 0x18;
    0x00054c42 movs r1, r1                                       |     
    0x00054c44 subs r0, r5, 7                                    |     r0 = r5 - 7;
    0x00054c46 movs r1, r1                                       |     
    0x00054c48 lsrs r4, r3, 8                                    |     r4 = r3 >> 8;
    0x00054c4a movs r1, r1                                       |     
    0x00054c4c ldr r1, [pc, 0xd8]                                |     
    0x00054c4e mov r2, r3                                        |     r2 = r3;
    0x00054c50 ldr r3, [pc, 0xd8]                                |     r3 = *(0x54d2c);
    0x00054c52 push {r4, r5, lr}                                 |     
    0x00054c54 sub sp, 0x14                                      |     
    0x00054c56 add r1, pc                                        |     r1 = 0xa9982;
    0x00054c58 vmov.i8 d16, 0xff                                 |     __asm ("vmov.i8 d16, 0xff");
    0x00054c5c ldr r3, [r1, r3]                                  |     
    0x00054c5e ldrd r4, r5, [sp, 0x20]                           |     __asm ("ldrd r4, r5, [var_0h]");
    0x00054c62 ldr r3, [r3]                                      |     r3 = *(0xa9982);
    0x00054c64 str r3, [sp, 0xc]                                 |     var_ch_2 = r3;
    0x00054c66 mov.w r3, 0                                       |     r3 = 0;
    0x00054c6a vstr d16, [sp]                                    |     __asm ("vstr d16, [sp]");
    0x00054c6c lsrs r0, r0, 0xc                                  |     r0 >>= 0xc;
                                                                 |     if (r0 != 0) {
    0x00054c6e cbz r0, 0x54cb6                                   |         
                                                                 |         if (r4 == 0) {
    0x00054c70 cbz r4, 0x54ccc                                   |             goto label_27;
                                                                 |         }
    0x00054c72 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x00054c74 beq 0x54ce2                                       |             goto label_28;
                                                                 |         }
    0x00054c76 cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x00054c78 beq 0x54cf8                                       |             goto label_29;
                                                                 |         }
    0x00054c7a ldr r0, [pc, 0xb4]                                |         
    0x00054c7c movs r1, 4                                        |         r1 = 4;
    0x00054c7e add r0, pc                                        |         r0 = 0xa99b4;
    0x00054c80 blx 0x261e8                                       |         r0 = safe_fork_full ();
    0x00054c84 subs r1, r0, 0                                    |         r1 = r0 - 0;
                                                                 |         if (r1 < r0) {
    0x00054c86 blt 0x54d0e                                       |             goto label_30;
                                                                 |         }
    0x00054c88 mov r2, sp                                        |         r2 = sp;
    0x00054c8a mov r0, r5                                        |         r0 = r5;
    0x00054c8c blx 0x292f8                                       |         fcn_000292f8 ();
    0x00054c90 ldr r1, [pc, 0xa0]                                |         
    0x00054c92 mov r0, r4                                        |         r0 = r4;
    0x00054c94 ldrd r2, r3, [sp]                                 |         __asm ("ldrd r2, r3, [sp]");
    0x00054c98 add r1, pc                                        |         r1 = 0xa99d0;
    0x00054c9a blx 0x28fe0                                       |         fcn_00028fe0 ();
    0x00054c9e ldr r2, [pc, 0x98]                                |         
    0x00054ca0 ldr r3, [pc, 0x88]                                |         r3 = *(0x54d2c);
    0x00054ca2 add r2, pc                                        |         r2 = 0xa99e0;
    0x00054ca4 ldr r3, [r2, r3]                                  |         r3 = *(0xa99e0);
    0x00054ca6 ldr r2, [r3]                                      |         r2 = *(0xa99e0);
    0x00054ca8 ldr r3, [sp, 0xc]                                 |         r3 = var_ch_2;
    0x00054caa eors r2, r3                                       |         r2 ^= r3;
    0x00054cac mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00054cb0 bne 0x54d24                                       |             goto label_31;
                                                                 |         }
    0x00054cb2 add sp, 0x14                                      |         
    0x00054cb4 pop {r4, r5, pc}                                  |         
                                                                 |     }
    0x00054cb6 ldr r1, [pc, 0x84]                                |     
    0x00054cb8 movw r2, 0x57c                                    |     r2 = 0x57c;
    0x00054cbc ldr r3, [pc, 0x80]                                |     
    0x00054cbe ldr r0, [pc, 0x84]                                |     
    0x00054cc0 add r1, pc                                        |     r1 = 0xa9a02;
    0x00054cc2 add r3, pc                                        |     r3 = 0xa9a06;
    0x00054cc4 adds r1, 7                                        |     r1 += 7;
    0x00054cc6 add r0, pc                                        |     r0 = 0xa9a10;
    0x00054cc8 blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_27:
    0x00054ccc ldr r1, [pc, 0x78]                                |     
    0x00054cce movw r2, 0x57d                                    |     r2 = 0x57d;
    0x00054cd2 ldr r3, [pc, 0x78]                                |     
    0x00054cd4 ldr r0, [pc, 0x78]                                |     
    0x00054cd6 add r1, pc                                        |     r1 = 0xa9a22;
    0x00054cd8 add r3, pc                                        |     r3 = 0xa9a2a;
    0x00054cda adds r1, 7                                        |     r1 += 7;
    0x00054cdc add r0, pc                                        |     r0 = 0xa9a30;
    0x00054cde blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_28:
    0x00054ce2 ldr r1, [pc, 0x70]                                |     
    0x00054ce4 movw r2, 0x57e                                    |     r2 = 0x57e;
    0x00054ce8 ldr r3, [pc, 0x6c]                                |     
    0x00054cea ldr r0, [pc, 0x70]                                |     
    0x00054cec add r1, pc                                        |     r1 = 0xa9a46;
    0x00054cee add r3, pc                                        |     r3 = 0xa9a4a;
    0x00054cf0 adds r1, 7                                        |     r1 += 7;
    0x00054cf2 add r0, pc                                        |     r0 = 0xa9a54;
    0x00054cf4 blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_29:
    0x00054cf8 ldr r1, [pc, 0x64]                                |     
    0x00054cfa movw r2, 0x57f                                    |     r2 = 0x57f;
    0x00054cfe ldr r3, [pc, 0x64]                                |     
    0x00054d00 ldr r0, [pc, 0x64]                                |     
    0x00054d02 add r1, pc                                        |     r1 = 0xa9a66;
    0x00054d04 add r3, pc                                        |     r3 = 0xa9a6e;
    0x00054d06 adds r1, 7                                        |     r1 += 7;
    0x00054d08 add r0, pc                                        |     r0 = 0xa9a74;
    0x00054d0a blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_30:
    0x00054d0e ldr r1, [pc, 0x5c]                                |     
    0x00054d10 movw r2, 0x581                                    |     r2 = 0x581;
    0x00054d14 ldr r3, [pc, 0x58]                                |     
    0x00054d16 ldr r0, [pc, 0x5c]                                |     
    0x00054d18 add r1, pc                                        |     r1 = 0xa9a8a;
    0x00054d1a add r3, pc                                        |     r3 = 0xa9a8e;
    0x00054d1c adds r1, 7                                        |     r1 += 7;
    0x00054d1e add r0, pc                                        |     r0 = 0xa9a98;
    0x00054d20 blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_31:
    0x00054d24 blx 0x26e98                                       |     fcn_00026e98 ();
    0x00054d28 movs r7, 0xf2                                     |     r7 = 0xf2;
    0x00054d2a movs r6, r1                                       |     r6 = r1;
    0x00054d2c subs r0, r1, r1                                   |     r0 = r1 - r1;
    0x00054d2e movs r0, r0                                       |     
    0x00054d30 ldrh r6, [r1, 0x34]                               |     r6 = *((r1 + 0x34));
    0x00054d32 movs r3, r1                                       |     r3 = r1;
    0x00054d34 ldr r0, [sp]                                      |     r0 = *(sp);
    0x00054d36 movs r7, r0                                       |     r7 = r0;
    0x00054d38 movs r7, 0xa6                                     |     r7 = 0xa6;
    0x00054d3a movs r6, r1                                       |     r6 = r1;
    0x00054d3c lsls r4, r5, 0x14                                 |     r4 = r5 << 0x14;
    0x00054d3e movs r1, r1                                       |     
    0x00054d40 subs r2, r7, 3                                    |     r2 = r7 - 3;
    0x00054d42 movs r1, r1                                       |     
    0x00054d44 str r4, [sp, 0x348]                               |     *(arg_348h) = r4;
    0x00054d46 movs r0, r1                                       |     r0 = r1;
    0x00054d48 lsls r6, r2, 0x14                                 |     r6 = r2 << 0x14;
    0x00054d4a movs r1, r1                                       |     
    0x00054d4c subs r4, r4, 3                                    |     r4 -= 3;
    0x00054d4e movs r1, r1                                       |     
    0x00054d50 str r4, [sp, 0x300]                               |     *(arg_300h) = r4;
    0x00054d52 movs r0, r1                                       |     r0 = r1;
    0x00054d54 lsls r0, r0, 0x14                                 |     r0 <<= 0x14;
    0x00054d56 movs r1, r1                                       |     
    0x00054d58 subs r6, r1, 3                                    |     r6 = r1 - 3;
    0x00054d5a movs r1, r1                                       |     
    0x00054d5c asrs r6, r3, 0xe                                  |     r6 = r3 >> 0xe;
    0x00054d5e movs r1, r1                                       |     
    0x00054d60 lsls r2, r5, 0x13                                 |     r2 = r5 << 0x13;
    0x00054d62 movs r1, r1                                       |     
    0x00054d64 subs r0, r7, 2                                    |     r0 = r7 - 2;
    0x00054d66 movs r1, r1                                       |     
    0x00054d68 subs r4, r6, r4                                   |     r4 = r6 - r4;
    0x00054d6a movs r3, r1                                       |     r3 = r1;
    0x00054d6c lsls r4, r2, 0x13                                 |     r4 = r2 << 0x13;
    0x00054d6e movs r1, r1                                       |     
    0x00054d70 subs r2, r4, 2                                    |     r2 = r4 - 2;
    0x00054d72 movs r1, r1                                       |     
    0x00054d74 lsrs r6, r5, 3                                    |     r6 = r5 >> 3;
    0x00054d76 movs r1, r1                                       |     
    0x00054d78 push {r4, lr}                                     |     
    0x00054d7a ldrd r4, r3, [sp, 8]                              |     __asm ("ldrd r4, r3, [var_0h_2]");
                                                                 |     if (r0 != 0) {
    0x00054d7e cbz r0, 0x54d9a                                   |         
                                                                 |         if (r4 == 0) {
    0x00054d80 cbz r4, 0x54db0                                   |             goto label_32;
                                                                 |         }
                                                                 |         if (r3 == 0) {
    0x00054d82 cbz r3, 0x54dc6                                   |             goto label_33;
                                                                 |         }
    0x00054d84 mov r0, r3                                        |         r0 = r3;
    0x00054d86 blx 0x25f14                                       |         fcn_00025f14 ();
    0x00054d8a ldr r1, [pc, 0x50]                                |         
    0x00054d8c mov r2, r0                                        |         r2 = r0;
    0x00054d8e mov r0, r4                                        |         r0 = r4;
    0x00054d90 pop.w {r4, lr}                                    |         
    0x00054d94 add r1, pc                                        |         r1 = 0xa9b76;
    0x00054d96 b.w 0x28fdc                                       |         void (*0x28fdc)() ();
                                                                 |     }
    0x00054d9a ldr r1, [pc, 0x44]                                |     
    0x00054d9c movw r2, 0x422                                    |     r2 = 0x422;
    0x00054da0 ldr r3, [pc, 0x40]                                |     
    0x00054da2 ldr r0, [pc, 0x44]                                |     
    0x00054da4 add r1, pc                                        |     r1 = 0xa9b8a;
    0x00054da6 add r3, pc                                        |     r3 = 0xa9b8e;
    0x00054da8 adds r1, 7                                        |     r1 += 7;
    0x00054daa add r0, pc                                        |     r0 = 0xa9b98;
    0x00054dac blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_32:
    0x00054db0 ldr r1, [pc, 0x38]                                |     
    0x00054db2 movw r2, 0x423                                    |     r2 = 0x423;
    0x00054db6 ldr r3, [pc, 0x38]                                |     
    0x00054db8 ldr r0, [pc, 0x38]                                |     
    0x00054dba add r1, pc                                        |     r1 = 0xa9baa;
    0x00054dbc add r3, pc                                        |     r3 = 0xa9bb2;
    0x00054dbe adds r1, 7                                        |     r1 += 7;
    0x00054dc0 add r0, pc                                        |     r0 = 0xa9bb8;
    0x00054dc2 blx 0x24ac4                                       |     fcn_00024ac4 ();
                                                                 | label_33:
    0x00054dc6 ldr r1, [pc, 0x30]                                |     
    0x00054dc8 movw r2, 0x424                                    |     r2 = 0x424;
    0x00054dcc ldr r3, [pc, 0x2c]                                |     
    0x00054dce ldr r0, [pc, 0x30]                                |     
    0x00054dd0 add r1, pc                                        |     r1 = 0xa9bce;
    0x00054dd2 add r3, pc                                        |     r3 = 0xa9bd2;
    0x00054dd4 adds r1, 7                                        |     r1 += 7;
    0x00054dd6 add r0, pc                                        |     r0 = 0xa9bdc;
    0x00054dd8 blx 0x24ac4                                       |     fcn_00024ac4 ();
    0x00054ddc add r4, r2                                        |     r4 += r2;
    0x00054dde movs r0, r1                                       |     r0 = r1;
    0x00054de0 lsls r0, r1, 0x11                                 |     r0 = r1 << 0x11;
    0x00054de2 movs r1, r1                                       |     
    0x00054de4 asrs r2, r3, 0x18                                 |     r2 = r3 >> 0x18;
    0x00054de6 movs r1, r1                                       |     
    0x00054de8 str r3, [sp, 0x3b8]                               |     *(arg_3b8h_2) = r3;
    0x00054dea movs r0, r1                                       |     r0 = r1;
    0x00054dec lsls r2, r6, 0x10                                 |     r2 = r6 << 0x10;
    0x00054dee movs r1, r1                                       |     
    0x00054df0 asrs r4, r0, 0x18                                 |     r4 = r0 >> 0x18;
    0x00054df2 movs r1, r1                                       |     
    0x00054df4 str r3, [sp, 0x370]                               |     *(arg_370h) = r3;
    0x00054df6 movs r0, r1                                       |     r0 = r1;
    0x00054df8 lsls r4, r3, 0x10                                 |     r4 = r3 << 0x10;
    0x00054dfa movs r1, r1                                       |     
    0x00054dfc asrs r6, r5, 0x17                                 |     r6 = r5 >> 0x17;
    0x00054dfe movs r1, r1                                       |     
    0x00054e00 subs r6, r4, r1                                   |     r6 = r4 - r1;
    0x00054e02 movs r3, r1                                       |     r3 = r1;
    0x00054e04 ldr r2, [pc, 0xcc]                                |     
    0x00054e06 ldr r3, [pc, 0xd0]                                |     r3 = *(0x54eda);
    0x00054e08 push.w {r4, r5, r6, r7, r8, lr}                   |     
    0x00054e0c mov.w r8, 0                                       |     r8 = 0;
    0x00054e10 add r2, pc                                        |     r2 = 0xa9ce8;
    0x00054e12 sub sp, 0x10                                      |     
    0x00054e14 ldr r3, [r2, r3]                                  |     
    0x00054e16 ldr r3, [r3]                                      |     r3 = *(0xa9ce8);
    0x00054e18 str r3, [sp, 0xc]                                 |     var_ch_3 = r3;
    0x00054e1a mov.w r3, 0                                       |     r3 = 0;
    0x00054e1e str.w r8, [sp, 8]                                 |     __asm ("str.w r8, [var_8h]");
    0x00054e22 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00054e24 beq 0x54e9c                                       |         goto label_34;
                                                                 |     }
    0x00054e26 mov r5, r1                                        |     r5 = r1;
    0x00054e28 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00054e2a beq 0x54eb2                                       |         goto label_35;
                                                                 |     }
    0x00054e2c mov r6, r0                                        |     r6 = r0;
    0x00054e2e mov r0, r1                                        |     r0 = r1;
    0x00054e30 blx 0x24b18                                       |     r0 = fcn_00024b18 ();
    0x00054e34 mov r7, r0                                        |     r7 = r0;
    0x00054e36 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00054e38 beq 0x54ec8                                       |         goto label_36;
                                                                 |     }
    0x00054e3a ldr r3, [pc, 0xa0]                                |     
    0x00054e3c add r1, sp, 8                                     |     r1 += var_8h;
    0x00054e3e ldr r2, [pc, 0xa0]                                |     
    0x00054e40 mov r0, r6                                        |     r0 = r6;
    0x00054e42 add r3, pc                                        |     r3 = 0xa9d24;
    0x00054e44 str r3, [sp]                                      |     *(sp) = r3;
    0x00054e46 add r2, pc                                        |     r2 = 0xa9d2c;
    0x00054e48 ldr r3, [pc, 0x98]                                |     
    0x00054e4a add r3, pc                                        |     r3 = 0xa9d32;
    0x00054e4c blx 0x25660                                       |     r0 = chmod_and_chown ();
    0x00054e50 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00054e52 blt 0x54e72                                       |         goto label_37;
                                                                 |     }
    0x00054e54 ldr r1, [pc, 0x90]                                |     
    0x00054e56 mov r3, r7                                        |     r3 = r7;
    0x00054e58 ldr r2, [r5, 0x10]                                |     r2 = *((r5 + 0x10));
    0x00054e5a ldr r0, [sp, 8]                                   |     r0 = var_8h;
    0x00054e5c add r1, pc                                        |     r1 = 0xa9d48;
    0x00054e5e blx 0x28fe0                                       |     r0 = fcn_00028fe0 ();
    0x00054e62 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00054e64 blt 0x54e72                                       |         goto label_37;
                                                                 |     }
    0x00054e66 ldr r1, [sp, 8]                                   |     r1 = var_8h;
    0x00054e68 mov r2, r8                                        |     r2 = r8;
    0x00054e6a mov r0, r6                                        |     r0 = r6;
    0x00054e6c blx 0x26594                                       |     r0 = fcn_00026594 ();
    0x00054e70 mov r4, r0                                        |     r4 = r0;
                                                                 |     do {
                                                                 | label_37:
    0x00054e72 mov r0, r7                                        |         r0 = r7;
    0x00054e74 blx 0x24bac                                       |         fcn_00024bac ();
    0x00054e78 ldr r0, [sp, 8]                                   |         r0 = var_8h;
                                                                 |         if (r0 != 0) {
    0x00054e7a cbz r0, 0x54e80                                   |             
    0x00054e7c blx 0x2778c                                       |             fcn_0002778c ();
                                                                 |         }
    0x00054e80 ldr r2, [pc, 0x68]                                |         
    0x00054e82 ldr r3, [pc, 0x54]                                |         r3 = *(0x54eda);
    0x00054e84 add r2, pc                                        |         r2 = 0xa9d74;
    0x00054e86 ldr r3, [r2, r3]                                  |         r3 = *(0xa9d74);
    0x00054e88 ldr r2, [r3]                                      |         r2 = *(0xa9d74);
    0x00054e8a ldr r3, [sp, 0xc]                                 |         r3 = var_ch_3;
    0x00054e8c eors r2, r3                                       |         r2 ^= r3;
    0x00054e8e mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00054e92 bne 0x54ece                                       |             goto label_38;
                                                                 |         }
    0x00054e94 mov r0, r4                                        |         r0 = r4;
    0x00054e96 add sp, 0x10                                      |         
    0x00054e98 pop.w {r4, r5, r6, r7, r8, pc}                    |         
                                                                 | label_34:
    0x00054e9c ldr r1, [pc, 0x50]                                |         
    0x00054e9e movw r2, 0x63d                                    |         r2 = 0x63d;
    0x00054ea2 ldr r3, [pc, 0x50]                                |         
    0x00054ea4 ldr r0, [pc, 0x50]                                |         
    0x00054ea6 add r1, pc                                        |         r1 = 0xa9d9a;
    0x00054ea8 add r3, pc                                        |         r3 = 0xa9da2;
    0x00054eaa adds r1, 7                                        |         r1 += 7;
    0x00054eac add r0, pc                                        |         r0 = 0xa9da8;
    0x00054eae blx 0x24ac4                                       |         fcn_00024ac4 ();
                                                                 | label_35:
    0x00054eb2 ldr r1, [pc, 0x48]                                |         
    0x00054eb4 movw r2, 0x63e                                    |         r2 = 0x63e;
    0x00054eb8 ldr r3, [pc, 0x44]                                |         
    0x00054eba ldr r0, [pc, 0x48]                                |         
    0x00054ebc add r1, pc                                        |         r1 = 0xa9dbe;
    0x00054ebe add r3, pc                                        |         r3 = 0xa9dc2;
    0x00054ec0 adds r1, 7                                        |         r1 += 7;
    0x00054ec2 add r0, pc                                        |         r0 = 0xa9dcc;
    0x00054ec4 blx 0x24ac4                                       |         fcn_00024ac4 ();
                                                                 | label_36:
    0x00054ec8 mvn r4, 0xb                                       |         r4 = ~0xb;
    0x00054ecc b 0x54e72                                         |         
                                                                 |     } while (1);
                                                                 | label_38:
    0x00054ece blx 0x26e98                                       |     fcn_00026e98 ();
    0x00054ed2 nop                                               |     
    0x00054ed4 movs r6, 0x38                                     |     r6 = 0x38;
    0x00054ed6 movs r6, r1                                       |     r6 = r1;
    0x00054ed8 subs r0, r1, r1                                   |     r0 = r1 - r1;
    0x00054eda movs r0, r0                                       |     
    0x00054edc invalid                                           |     
                                                                 | }

[*] Function sprintf used 3 times libsystemd-core-251.so