[*] Binary protection state of flashaudit

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


[*] Function printf tear down of flashaudit

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/flashaudit @ 0x153c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0000153c ()                                      | void fcn_0000153c (int16_t arg_340h, int16_t arg_2300h, int16_t arg1, int16_t arg2, int16_t arg3) {
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t var_78h;
                                                                 |     int16_t var_2300h;
                                                                 |     int16_t var_11ch;
                                                                 |     int32_t var_0h_2;
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h_2;
                                                                 |     int16_t var_4h_3;
                                                                 |     int32_t var_4h_4;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h_2;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_40h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 | label_6:
    0x00000bc0 bx pc                                             |     return void (*pc)() ();
                                                                 | label_16:
    0x00000bf4 bx pc                                             |     return void (*pc)() ();
    0x0000153c push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00001540 mov r8, r2                                        |     r8 = r2;
    0x00001542 ldr r2, [pc, 0x240]                               |     
    0x00001544 mov r6, r1                                        |     r6 = r1;
    0x00001546 sub sp, 0x1c                                      |     
    0x00001548 mov r7, r0                                        |     r7 = r0;
    0x0000154a ldr r3, [pc, 0x23c]                               |     r3 = *(0x178a);
    0x0000154c movs r1, 0x2e                                     |     r1 = 0x2e;
    0x0000154e add r2, pc                                        |     r2 = 0x2cd8;
    0x00001550 mov r0, r6                                        |     r0 = r6;
    0x00001552 ldr r3, [r2, r3]                                  |     
    0x00001554 ldr r3, [r3]                                      |     r3 = *(0x2cd8);
    0x00001556 str r3, [sp, 0x14]                                |     var_14h = r3;
    0x00001558 mov.w r3, 0                                       |     r3 = 0;
    0x0000155c blx 0xbb4                                         |     r0 = fcn_00000bb4 ();
    0x00001560 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001562 beq 0x15fc                                        |         goto label_3;
                                                                 |     }
    0x00001564 ldr r1, [pc, 0x224]                               |     
    0x00001566 adds r5, r0, 1                                    |     r5 = r0 + 1;
    0x00001568 mov r4, r0                                        |     r4 = r0;
    0x0000156a mov r0, r5                                        |     r0 = r5;
    0x0000156c add r1, pc                                        |     r1 = 0x2cfc;
    0x0000156e blx 0xd20                                         |     r0 = fcn_00000d20 ();
                                                                 |     if (r0 == 0) {
    0x00001572 cbz r0, 0x158c                                    |         goto label_0;
                                                                 |     }
    0x00001574 ldr r1, [pc, 0x218]                               |     
    0x00001576 mov r0, r5                                        |     r0 = r5;
    0x00001578 add r1, pc                                        |     r1 = 0x2d0c;
    0x0000157a blx 0xd20                                         |     r0 = fcn_00000d20 ();
                                                                 |     if (r0 == 0) {
    0x0000157e cbz r0, 0x158c                                    |         goto label_0;
                                                                 |     }
    0x00001580 ldr r1, [pc, 0x210]                               |     
    0x00001582 mov r0, r6                                        |     r0 = r6;
    0x00001584 add r1, pc                                        |     r1 = 0x2d1c;
    0x00001586 blx 0xc4c                                         |     r0 = realpath ();
    0x0000158a cbz r0, 0x15d8                                    |     
                                                                 |     while (r0 != 0) {
                                                                 | label_0:
    0x0000158c ldr r3, [pc, 0x208]                               |         
    0x0000158e add r3, pc                                        |         
    0x00001590 ldr r3, [r3]                                      |         r3 = *(0x2d2a);
                                                                 |         if (r3 == 0) {
    0x00001592 cbnz r3, 0x15b0                                   |             
                                                                 | label_5:
    0x00001594 ldr r2, [pc, 0x204]                               |             
    0x00001596 ldr r3, [pc, 0x1f0]                               |             r3 = *(0x178a);
    0x00001598 add r2, pc                                        |             r2 = 0x2d38;
    0x0000159a ldr r3, [r2, r3]                                  |             r3 = *(0x2d38);
    0x0000159c ldr r2, [r3]                                      |             r2 = *(0x2d38);
    0x0000159e ldr r3, [sp, 0x14]                                |             r3 = var_14h;
    0x000015a0 eors r2, r3                                       |             r2 ^= r3;
    0x000015a2 mov.w r3, 0                                       |             r3 = 0;
                                                                 |             if (r2 != r3) {
    0x000015a6 bne.w 0x177e                                      |                 goto label_17;
                                                                 |             }
    0x000015aa add sp, 0x1c                                      |             
    0x000015ac pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |             
                                                                 |         }
    0x000015b0 ldr r2, [pc, 0x1ec]                               |         
    0x000015b2 ldr r3, [pc, 0x1d4]                               |         r3 = *(0x178a);
    0x000015b4 add r2, pc                                        |         r2 = 0x2d58;
    0x000015b6 ldr r3, [r2, r3]                                  |         r3 = *(0x2d58);
    0x000015b8 ldr r2, [r3]                                      |         r2 = *(0x2d58);
    0x000015ba ldr r3, [sp, 0x14]                                |         r3 = var_14h;
    0x000015bc eors r2, r3                                       |         r2 ^= r3;
    0x000015be mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000015c2 bne.w 0x177e                                      |             goto label_17;
                                                                 |         }
    0x000015c6 ldr r1, [pc, 0x1dc]                               |         
    0x000015c8 mov r2, r6                                        |         r2 = r6;
    0x000015ca movs r0, 1                                        |         r0 = 1;
    0x000015cc add r1, pc                                        |         r1 = 0x2d76;
    0x000015ce add sp, 0x1c                                      |         
    0x000015d0 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}        |         
    0x000015d4 b.w 0xb80                                         |         void (*0xb80)() ();
    0x000015d8 ldr r1, [pc, 0x1cc]                               |         
    0x000015da mov r0, r6                                        |         r0 = r6;
    0x000015dc add r1, pc                                        |         r1 = 0x2d88;
    0x000015de blx 0xc4c                                         |         r0 = realpath ();
    0x000015e2 cmp r0, 0                                         |         
    0x000015e4 bne 0x158c                                        |         
                                                                 |     }
    0x000015e6 mov r0, r5                                        |     r0 = r5;
    0x000015e8 blx 0xc1c                                         |     memcpy (r0, r1, r2);
    0x000015ec movw r3, 0xfffa                                   |     
    0x000015f0 subs r2, r0, 5                                    |     r2 = r0 - 5;
    0x000015f2 movt r3, 0x7fff                                   |     r3 = 0x7ffffffa;
    0x000015f6 mov r5, r0                                        |     r5 = r0;
    0x000015f8 cmp r2, r3                                        |     
                                                                 |     if (r2 < r3) {
    0x000015fa bls 0x169c                                        |         goto label_18;
                                                                 |     }
                                                                 | label_3:
    0x000015fc ldr r5, [pc, 0x1ac]                               |     
    0x000015fe add r5, pc                                        |     r5 = 0x2dae;
    0x00001600 ldr.w sb, [r5, 0x1c]                              |     sb = *(0x2dca);
    0x00001604 cmp.w sb, 0                                       |     
                                                                 |     if (sb <= 0) {
    0x00001608 ble 0x1622                                        |         goto label_19;
                                                                 |     }
    0x0000160a adds r5, 0x20                                     |     r5 += 0x20;
    0x0000160c movs r4, 0                                        |     r4 = 0;
                                                                 | label_1:
    0x0000160e ldr r1, [r5], 4                                   |     r1 = *(r5);
                                                                 |     r5 += 4;
    0x00001612 mov r0, r7                                        |     r0 = r7;
    0x00001614 blx 0xd20                                         |     fcn_00000d20 ();
    0x00001616 invalid                                           |     
                                                                 |     if (r4 == 0) {
    0x0000161a beq 0x158c                                        |         goto label_0;
                                                                 |     }
    0x0000161c adds r4, 1                                        |     r4++;
    0x0000161e cmp r4, sb                                        |     
                                                                 |     if (r4 != sb) {
    0x00001620 bne 0x160e                                        |         goto label_1;
                                                                 |     }
                                                                 | label_19:
    0x00001622 ldr r5, [pc, 0x18c]                               |     
    0x00001624 add r5, pc                                        |     r5 = 0x2dda;
    0x00001626 ldr.w sl, [r5, 0x48]                              |     sl = *(0x2e22);
    0x0000162a cmp.w sl, 0                                       |     
                                                                 |     if (sl <= 0) {
    0x0000162e ble 0x166a                                        |         goto label_20;
                                                                 |     }
    0x00001630 adds r5, 0x50                                     |     r5 += 0x50;
    0x00001632 mov.w sb, 0                                       |     sb = 0;
                                                                 | label_2:
    0x00001636 ldr r4, [r5], 4                                   |     r4 = *(r5);
                                                                 |     r5 += 4;
    0x0000163a mov r0, r6                                        |     r0 = r6;
    0x0000163c mov r1, r4                                        |     r1 = r4;
    0x0000163e blx 0xc4c                                         |     r0 = realpath ();
    0x00001642 mov r3, r0                                        |     r3 = r0;
                                                                 |     if (r0 == 0) {
    0x00001644 cbz r0, 0x1662                                    |         goto label_21;
                                                                 |     }
    0x00001646 mov r0, r4                                        |     r0 = r4;
    0x00001648 subs r4, r3, r6                                   |     r4 = r3 - r6;
    0x0000164a blx 0xc1c                                         |     memcpy (r0, r1, r2);
    0x0000164e add r0, r6                                        |     r0 += r6;
    0x00001650 ldrb r3, [r0, r4]                                 |     r3 = *((r0 + r4));
                                                                 |     if (r3 != 0) {
    0x00001652 cbnz r3, 0x1662                                   |         goto label_21;
                                                                 |     }
    0x00001654 cmp r4, 0                                         |     
                                                                 |     if (r4 <= 0) {
    0x00001656 ble 0x158c                                        |         goto label_0;
                                                                 |     }
    0x00001658 adds r3, r6, r4                                   |     r3 = r6 + r4;
    0x0000165a ldrb r3, [r3, -0x1]                               |     r3 = *((r3 - 0x1));
    0x0000165e cmp r3, 0x2f                                      |     
                                                                 |     if (r3 == 0x2f) {
    0x00001660 beq 0x158c                                        |         goto label_0;
                                                                 |     }
                                                                 | label_21:
    0x00001662 add.w sb, sb, 1                                   |     sb++;
    0x00001666 cmp sb, sl                                        |     
                                                                 |     if (sb != sl) {
    0x00001668 bne 0x1636                                        |         goto label_2;
                                                                 |     }
                                                                 | label_20:
    0x0000166a cmp.w r8, 0                                       |     
                                                                 |     if (r8 != 0) {
    0x0000166e beq 0x167a                                        |         
    0x00001670 ldr r5, [pc, 0x140]                               |         
    0x00001672 add r5, pc                                        |         r5 = 0x2e2a;
    0x00001674 ldr.w r3, [r5, 0x8c]                              |         r3 = *(0x2eb6);
                                                                 |         if (r3 != 0) {
    0x00001678 cbnz r3, 0x16ba                                   |             goto label_22;
                                                                 |         }
                                                                 |     }
    0x0000167a ldr r2, [pc, 0x13c]                               |     
    0x0000167c ldr r3, [pc, 0x108]                               |     r3 = *(0x1788);
    0x0000167e add r2, pc                                        |     r2 = 0x2e3c;
    0x00001680 ldr r3, [r2, r3]                                  |     r3 = *(0x2e3c);
    0x00001682 ldr r2, [r3]                                      |     r2 = *(0x2e3c);
    0x00001684 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x00001686 eors r2, r3                                       |     r2 ^= r3;
    0x00001688 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x0000168c bne 0x177e                                        |         goto label_17;
                                                                 |     }
    0x0000168e mov r2, r8                                        |     r2 = r8;
    0x00001690 mov r1, r6                                        |     r1 = r6;
    0x00001692 mov r0, r7                                        |     r0 = r7;
    0x00001694 add sp, 0x1c                                      |     
    0x00001696 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}        |     
    0x0000169a b 0x141c                                          |     void (*0x141c)() ();
                                                                 | label_18:
    0x0000169c blx 0xc80                                         |     fcn_00000c80 ();
    0x000016a0 adds r2, r4, r5                                   |     r2 = r4 + r5;
    0x000016a2 ldr r1, [r0]                                      |     r1 = *(r0);
    0x000016a4 b 0x16aa                                          |     goto label_23;
                                                                 | label_4:
    0x000016a6 cmp r4, r2                                        |     
                                                                 |     if (r4 == r2) {
    0x000016a8 beq 0x15fc                                        |         goto label_3;
                                                                 |     }
                                                                 | label_23:
    0x000016aa ldrb r3, [r4, 1]!                                 |     r3 = *((r4 += 1));
    0x000016ae ldrh.w r3, [r1, r3, lsl 1]                        |     offset_0 = r3 << 1;
                                                                 |     r3 = *((r1 + offset_0));
    0x000016b2 lsls r3, r3, 0x17                                 |     r3 <<= 0x17;
                                                                 |     if (r3 < r3) {
    0x000016b4 bmi.w 0x158c                                      |         goto label_0;
                                                                 |     }
    0x000016b8 b 0x16a6                                          |     goto label_4;
                                                                 | label_22:
    0x000016ba mov.w sb, 0                                       |     sb = 0;
    0x000016be mov r0, r6                                        |     r0 = r6;
    0x000016c0 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x000016c2 add.w fp, sp, 4                                   |     
    0x000016c6 strd sb, sb, [sp, 4]                              |     __asm ("strd sb, sb, [var_4h_3]");
    0x000016ca str.w sb, [sp, 0x10]                              |     __asm ("str.w sb, [var_10h_2]");
    0x000016ce blx 0xc1c                                         |     r0 = memcpy (r0, r1, r2);
    0x000016d2 mov r8, r0                                        |     r8 = r0;
    0x000016d4 mov r0, r7                                        |     r0 = r7;
    0x000016d6 blx 0xc1c                                         |     r0 = memcpy (r0, r1, r2);
    0x000016da mov sl, r0                                        |     sl = r0;
    0x000016dc add r0, r8                                        |     r0 += r8;
    0x000016de adds r0, 0x2a                                     |     r0 += 0x2a;
    0x000016e0 blx 0xc98                                         |     r0 = fcn_00000c98 ();
    0x000016e4 mov r4, r0                                        |     r4 = r0;
    0x000016e6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000016e8 beq.w 0x1594                                      |         goto label_5;
                                                                 |     }
    0x000016ec mov r3, r0                                        |     r3 = r0;
    0x000016ee add.w r8, r8, 1                                   |     r8++;
    0x000016f2 strb sb, [r3, 0x24]!                              |     *((r3 += 0x24)) = sb;
    0x000016f6 mov r1, r6                                        |     r1 = r6;
    0x000016f8 mov r2, r8                                        |     r2 = r8;
    0x000016fa mov r0, r3                                        |     r0 = r3;
    0x000016fc blx 0xc28                                         |     r0 = strtol (r0, r1, r2);
    0x00001700 mov r3, r0                                        |     r3 = r0;
    0x00001702 add r0, r8                                        |     r0 += r8;
    0x00001704 str r0, [r4, 0x20]                                |     *((r4 + 0x20)) = r0;
    0x00001706 add.w r2, sl, 1                                   |     r2 = sl + 1;
    0x0000170a strb.w sb, [r3, r8]                               |     *((r3 + r8)) = sb;
    0x0000170e mov r1, r7                                        |     r1 = r7;
    0x00001710 ldr r0, [r4, 0x20]                                |     r0 = *((r4 + 0x20));
    0x00001712 blx 0xc28                                         |     strtol (r0, r1, r2);
    0x00001716 mov r1, sb                                        |     r1 = sb;
    0x00001718 movs r0, 1                                        |     r0 = 1;
    0x0000171a blx 0xcd8                                         |     r0 = fcn_00000cd8 ();
    0x0000171e cmp r0, sb                                        |     
    0x00001720 str r0, [r4, 8]                                   |     *((r4 + 8)) = r0;
                                                                 |     if (r0 >= sb) {
    0x00001722 blt 0x175e                                        |         
    0x00001724 movs r6, 1                                        |         r6 = 1;
    0x00001726 mov r2, fp                                        |         r2 = fp;
    0x00001728 mov r3, sb                                        |         r3 = sb;
    0x0000172a mov r1, sb                                        |         r1 = sb;
    0x0000172c str r4, [r4, 0x18]                                |         *((r4 + 0x18)) = r4;
    0x0000172e str r6, [r4, 0x10]                                |         *((r4 + 0x10)) = r6;
    0x00001730 blx 0xce4                                         |         r0 = fcn_00000ce4 ();
    0x00001734 cmp r0, sb                                        |         
                                                                 |         if (r0 >= sb) {
    0x00001736 blt 0x1758                                        |             
    0x00001738 ldr r2, [r4, 8]                                   |             r2 = *((r4 + 8));
    0x0000173a add.w r3, r4, 0x10                                |             r3 = r4 + 0x10;
    0x0000173e ldr.w r0, [r5, 0x90]                              |             r0 = *((r5 + 0x90));
    0x00001742 mov r1, r6                                        |             r1 = r6;
    0x00001744 blx 0xcf0                                         |             r0 = fcn_00000cf0 ();
    0x00001748 cmp r0, sb                                        |             
                                                                 |             if (r0 < sb) {
    0x0000174a blt 0x1758                                        |                 goto label_24;
                                                                 |             }
    0x0000174c ldr r3, [r5, 0x10]                                |             r3 = *((r5 + 0x10));
    0x0000174e strd sb, r3, [r4]                                 |             __asm ("strd sb, r3, [r4]");
    0x00001752 str r4, [r3]                                      |             *(r3) = r4;
    0x00001754 str r4, [r5, 0x10]                                |             *((r5 + 0x10)) = r4;
    0x00001756 b 0x1594                                          |             goto label_5;
                                                                 |         }
                                                                 | label_24:
    0x00001758 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x0000175a blx 0xc68                                         |         fcn_00000c68 ();
                                                                 |     }
    0x0000175e ldr r2, [pc, 0x5c]                                |     
    0x00001760 ldr r3, [pc, 0x24]                                |     r3 = *(0x1788);
    0x00001762 add r2, pc                                        |     r2 = 0x2f24;
    0x00001764 ldr r3, [r2, r3]                                  |     r3 = *(0x2f24);
    0x00001766 ldr r2, [r3]                                      |     r2 = *(0x2f24);
    0x00001768 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x0000176a eors r2, r3                                       |     r2 ^= r3;
    0x0000176c mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 == r3) {
    0x00001770 bne 0x177e                                        |         
    0x00001772 mov r0, r4                                        |         r0 = r4;
    0x00001774 add sp, 0x1c                                      |         
    0x00001776 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}        |         
    0x0000177a b.w 0xbc0                                         |         goto label_6;
                                                                 |     }
                                                                 | label_17:
    0x0000177e blx 0xca4                                         |     fcn_00000ca4 ();
    0x00001782 nop                                               |     
    0x00001784 cmp r1, 0xce                                      |     
    0x00001786 movs r0, r0                                       |     
    0x00001788 lsls r0, r2, 3                                    |     r0 = r2 << 3;
    0x0000178a movs r0, r0                                       |     
    0x0000178c lsrs r4, r3, 6                                    |     r4 = r3 >> 6;
    0x0000178e movs r0, r0                                       |     
    0x00001790 lsrs r4, r2, 6                                    |     r4 = r2 >> 6;
    0x00001792 movs r0, r0                                       |     
    0x00001794 lsrs r0, r2, 6                                    |     r0 = r2 >> 6;
    0x00001796 movs r0, r0                                       |     
    0x00001798 cmp r2, 0xbe                                      |     
    0x0000179a movs r0, r0                                       |     
    0x0000179c cmp r1, 0x84                                      |     
    0x0000179e movs r0, r0                                       |     
    0x000017a0 cmp r1, 0x68                                      |     
    0x000017a2 movs r0, r0                                       |     
    0x000017a4 lsrs r0, r3, 5                                    |     r0 = r3 >> 5;
    0x000017a6 movs r0, r0                                       |     
    0x000017a8 lsrs r0, r0, 5                                    |     r0 >>= 5;
    0x000017aa movs r0, r0                                       |     
    0x000017ac cmp r2, 0x4e                                      |     
    0x000017ae movs r0, r0                                       |     
    0x000017b0 cmp r2, 0x28                                      |     
    0x000017b2 movs r0, r0                                       |     
    0x000017b4 cmp r1, 0xda                                      |     
    0x000017b6 movs r0, r0                                       |     
    0x000017b8 cmp r0, 0x9e                                      |     
    0x000017ba movs r0, r0                                       |     
    0x000017bc movs r7, 0xba                                     |     r7 = 0xba;
    0x000017be movs r0, r0                                       |     
    0x000017c0 push.w {r4, r5, r6, r7, r8, lr}                   |     
    0x000017c4 sub.w sp, sp, 0x2340                              |     
    0x000017c8 ldr r5, [pc, 0x1a8]                               |     
    0x000017ca add.w r6, sp, 0x2300                              |     r6 += arg_2300h;
    0x000017ce add r4, sp, 0x40                                  |     r4 += var_40h;
    0x000017d0 movs r2, 0                                        |     r2 = 0;
    0x000017d2 ldr r3, [pc, 0x1a4]                               |     r3 = *(0x197a);
    0x000017d4 sub.w r1, r4, 0x30                                |     r1 = r4 - 0x30;
    0x000017d8 add r5, pc                                        |     r5 = 0x3150;
    0x000017da adds r6, 0x3c                                     |     r6 += 0x3c;
    0x000017dc ldr r3, [r5, r3]                                  |     
    0x000017de ldr r3, [r3]                                      |     r3 = *(0x3150);
    0x000017e0 str r3, [r6]                                      |     *(r6) = r3;
    0x000017e2 mov.w r3, 0                                       |     r3 = 0;
    0x000017e6 bl 0x1b2c                                         |     r0 = fcn_00001b2c (r0, r1, r2, r3);
    0x000017ea cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x000017ec blt.w 0x1968                                      |         goto label_25;
                                                                 |     }
    0x000017f0 add r5, sp, 0x340                                 |     r5 += arg_340h;
    0x000017f2 movw r1, 0x2309                                   |     r1 = 0x2309;
    0x000017f6 sub.w r2, r5, 0x330                               |     r2 = r5 - 0x330;
    0x000017fa ldr r3, [r2, 4]                                   |     r3 = *((r2 + 4));
    0x000017fc cmp r3, r1                                        |     
                                                                 |     if (r3 > r1) {
    0x000017fe bhi 0x1818                                        |         goto label_7;
                                                                 |     }
    0x00001800 add r3, r2                                        |     r3 += r2;
    0x00001802 ldr r2, [r2]                                      |     r2 = *(r2);
    0x00001804 movs r1, 0                                        |     r1 = 0;
    0x00001806 strb r1, [r3, 0x1c]                               |     *((r3 + 0x1c)) = r1;
    0x00001808 movw r3, 0x514                                    |     r3 = 0x514;
    0x0000180c cmp r2, r3                                        |     
                                                                 |     if (r2 == r3) {
    0x0000180e beq 0x18ea                                        |         goto label_26;
                                                                 |     }
    0x00001810 movw r3, 0x516                                    |     r3 = 0x516;
    0x00001814 cmp r2, r3                                        |     
    0x00001816 beq 0x183c                                        |     
                                                                 |     while (1) {
                                                                 | label_7:
    0x00001818 ldr r2, [pc, 0x160]                               |         
    0x0000181a add.w r1, sp, 0x2300                              |         r1 += arg_2300h;
    0x0000181e ldr r3, [pc, 0x158]                               |         r3 = *(0x197a);
    0x00001820 adds r1, 0x3c                                     |         r1 += 0x3c;
    0x00001822 add r2, pc                                        |         r2 = 0x31a2;
    0x00001824 ldr r3, [r2, r3]                                  |         r3 = *(0x31a2);
    0x00001826 ldr r2, [r3]                                      |         r2 = *(0x31a2);
    0x00001828 ldr r3, [r1]                                      |         r3 = *(r1);
    0x0000182a eors r2, r3                                       |         r2 ^= r3;
    0x0000182c mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00001830 bne.w 0x1970                                      |             goto label_27;
                                                                 |         }
    0x00001834 add.w sp, sp, 0x2340                              |         
    0x00001838 pop.w {r4, r5, r6, r7, r8, pc}                    |         
    0x0000183c ldr r1, [pc, 0x140]                               |         
    0x0000183e sub.w r6, r4, 0x14                                |         r6 = r4 - 0x14;
    0x00001842 mov r0, r6                                        |         r0 = r6;
    0x00001844 add r1, pc                                        |         r1 = 0x31c8;
    0x00001846 blx 0xc4c                                         |         r0 = realpath ();
    0x0000184a cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000184c bne 0x1908                                        |             goto label_28;
                                                                 |         }
    0x0000184e ldr r1, [pc, 0x134]                               |         
    0x00001850 mov r0, r6                                        |         r0 = r6;
    0x00001852 add r1, pc                                        |         r1 = 0x31dc;
    0x00001854 blx 0xc4c                                         |         r0 = realpath ();
    0x00001858 mov r7, r0                                        |         r7 = r0;
    0x0000185a ldr r0, [pc, 0x12c]                               |         
    0x0000185c mov r1, r6                                        |         r1 = r6;
    0x0000185e add r0, pc                                        |         r0 = 0x31ec;
    0x00001860 bl 0x12c8                                         |         r0 = fcn_000012c8 (r0, r1);
    0x00001864 mov r6, r0                                        |         r6 = r0;
    0x00001866 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00001868 beq 0x194a                                        |             goto label_29;
                                                                 |         }
    0x0000186a ldr r1, [pc, 0x120]                               |         
    0x0000186c add r1, pc                                        |         r1 = 0x31fe;
    0x0000186e blx 0xd20                                         |         r0 = fcn_00000d20 ();
    0x00001872 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00001874 beq 0x1940                                        |             goto label_30;
                                                                 |         }
    0x00001876 ldrb r3, [r6]                                     |         r3 = *(r6);
    0x00001878 subs r7, 0                                        |         
    0x0000187a it ne                                             |         
                                                                 |         if (r7 == 0) {
    0x0000187c movne r7, 1                                       |             r7 = 1;
                                                                 |         }
    0x0000187e cmp r3, 0x2f                                      |         
                                                                 |         if (r3 == 0x2f) {
    0x00001880 beq 0x1924                                        |             goto label_31;
                                                                 |         }
    0x00001882 ldr r3, [pc, 0x10c]                               |         
    0x00001884 add r3, pc                                        |         r3 = 0x321a;
    0x00001886 ldr.w r8, [r3, 0x98]                              |         r8 = *(0x32b2);
    0x0000188a cmp.w r8, 0                                       |         
                                                                 |         if (r8 == 0) {
    0x0000188e beq 0x1954                                        |             goto label_32;
                                                                 |         }
    0x00001890 ldr r2, [pc, 0x100]                               |         
    0x00001892 mov r3, r8                                        |         r3 = r8;
    0x00001894 add r2, pc                                        |         r2 = 0x322c;
                                                                 | label_10:
    0x00001896 str r2, [sp]                                      |         *(sp) = r2;
    0x00001898 sub.w r0, r4, 0x34                                |         r0 = r4 - 0x34;
    0x0000189c ldr r2, [pc, 0xf8]                                |         
    0x0000189e movs r1, 1                                        |         r1 = 1;
    0x000018a0 str r6, [sp, 4]                                   |         var_4h_2 = r6;
    0x000018a2 add r2, pc                                        |         r2 = 0x323e;
    0x000018a4 blx 0xbdc                                         |         r0 = fcn_00000bdc ();
    0x000018a8 cmp r0, 0                                         |         
                                                                 |         if (r0 >= 0) {
    0x000018aa blt 0x18d2                                        |             
    0x000018ac ldr r3, [pc, 0xec]                                |             
    0x000018ae add r3, pc                                        |             r3 = 0x324e;
    0x000018b0 ldr.w r0, [r3, 0x94]                              |             r0 = *(0x32e2);
    0x000018b4 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x000018b6 beq 0x195c                                        |                 goto label_33;
                                                                 |             }
                                                                 | label_11:
    0x000018b8 sub.w r5, r5, 0x334                               |             r5 -= 0x334;
    0x000018bc mov r2, r7                                        |             r2 = r7;
    0x000018be ldr r1, [r5]                                      |             r1 = *(r5);
    0x000018c0 bl 0x153c                                         |             fcn_0000153c (r0, r1, r2, r3, r4);
    0x000018c4 ldr r0, [r5]                                      |             r0 = *(r5);
    0x000018c6 blx 0xbc4                                         |             fcn_00000bc4 ();
    0x000018ca ldr r3, [pc, 0xd4]                                |             
    0x000018cc add r3, pc                                        |             r3 = 0x3272;
    0x000018ce ldr.w r8, [r3, 0x98]                              |             r8 = *(0x330a);
                                                                 |         }
                                                                 | label_8:
    0x000018d2 mov r0, r6                                        |         r0 = r6;
    0x000018d4 blx 0xbc4                                         |         fcn_00000bc4 ();
                                                                 | label_9:
    0x000018d8 mov r0, r8                                        |         r0 = r8;
    0x000018da blx 0xbc4                                         |         fcn_00000bc4 ();
    0x000018de ldr r3, [pc, 0xc4]                                |         
    0x000018e0 movs r2, 0                                        |         r2 = 0;
    0x000018e2 add r3, pc                                        |         r3 = 0x328c;
    0x000018e4 str.w r2, [r3, 0x98]                              |         __asm ("str.w r2, [r3, 0x98]");
    0x000018e8 b 0x1818                                          |         
                                                                 |     }
                                                                 | label_26:
    0x000018ea ldr r5, [pc, 0xbc]                                |     
    0x000018ec add r5, pc                                        |     r5 = 0x329a;
    0x000018ee ldr.w r0, [r5, 0x94]                              |     r0 = *(0x332e);
    0x000018f2 blx 0xbc4                                         |     fcn_00000bc4 ();
    0x000018f6 ldr r0, [pc, 0xb4]                                |     
    0x000018f8 sub.w r1, r4, 0x14                                |     r1 = r4 - 0x14;
    0x000018fc add r0, pc                                        |     r0 = 0x32ae;
    0x000018fe bl 0x12c8                                         |     fcn_000012c8 (r0, r1);
    0x00001902 str.w r0, [r5, 0x94]                              |     __asm ("str.w r0, [r5, 0x94]");
    0x00001906 b 0x1818                                          |     goto label_7;
                                                                 | label_28:
    0x00001908 ldr r4, [pc, 0xa4]                                |     
    0x0000190a add r4, pc                                        |     r4 = 0x32be;
    0x0000190c ldr.w r0, [r4, 0x98]                              |     r0 = *(0x3356);
    0x00001910 blx 0xbc4                                         |     fcn_00000bc4 ();
    0x00001914 ldr r0, [pc, 0x9c]                                |     
    0x00001916 mov r1, r6                                        |     r1 = r6;
    0x00001918 add r0, pc                                        |     r0 = 0x32d0;
    0x0000191a bl 0x12c8                                         |     fcn_000012c8 (r0, r1);
    0x0000191e str.w r0, [r4, 0x98]                              |     __asm ("str.w r0, [r4, 0x98]");
    0x00001922 b 0x1818                                          |     goto label_7;
                                                                 | label_31:
    0x00001924 ldr r3, [pc, 0x90]                                |     
    0x00001926 add r3, pc                                        |     r3 = 0x32e2;
    0x00001928 ldr.w r0, [r3, 0x94]                              |     r0 = *(0x3376);
    0x0000192c cbz r0, 0x1962                                    |     
                                                                 |     while (1) {
    0x0000192e mov r2, r7                                        |         r2 = r7;
    0x00001930 mov r1, r6                                        |         r1 = r6;
    0x00001932 bl 0x153c                                         |         fcn_0000153c (r0, r1, r2, r3, r4);
    0x00001936 ldr r3, [pc, 0x84]                                |         
    0x00001938 add r3, pc                                        |         r3 = 0x32fa;
    0x0000193a ldr.w r8, [r3, 0x98]                              |         r8 = *(0x3392);
    0x0000193e b 0x18d2                                          |         goto label_8;
                                                                 | label_30:
    0x00001940 ldr r3, [pc, 0x7c]                                |         
    0x00001942 add r3, pc                                        |         r3 = 0x3306;
    0x00001944 ldr.w r8, [r3, 0x98]                              |         r8 = *(0x339e);
    0x00001948 b 0x18d2                                          |         goto label_8;
                                                                 | label_29:
    0x0000194a ldr r3, [pc, 0x78]                                |         
    0x0000194c add r3, pc                                        |         r3 = 0x3316;
    0x0000194e ldr.w r8, [r3, 0x98]                              |         r8 = *(0x33ae);
    0x00001952 b 0x18d8                                          |         goto label_9;
                                                                 | label_32:
    0x00001954 ldr r3, [pc, 0x70]                                |         
    0x00001956 add r3, pc                                        |         r3 = 0x3322;
    0x00001958 mov r2, r3                                        |         r2 = r3;
    0x0000195a b 0x1896                                          |         goto label_10;
                                                                 | label_33:
    0x0000195c ldr r0, [pc, 0x6c]                                |         
    0x0000195e add r0, pc                                        |         r0 = 0x332e;
    0x00001960 b 0x18b8                                          |         goto label_11;
    0x00001962 ldr r0, [pc, 0x6c]                                |         
    0x00001964 add r0, pc                                        |         r0 = 0x333a;
    0x00001966 b 0x192e                                          |         
                                                                 |     }
                                                                 | label_25:
    0x00001968 ldr r0, [pc, 0x68]                                |     
    0x0000196a add r0, pc                                        |     r0 = 0x3342;
    0x0000196c bl 0x11e0                                         |     r0 = fcn_000011e0 (r0);
                                                                 | label_27:
    0x00001970 blx 0xca4                                         |     fcn_00000ca4 ();
    0x00001974 movs r7, 0x44                                     |     r7 = 0x44;
    0x00001976 movs r0, r0                                       |     
    0x00001978 lsls r0, r2, 3                                    |     r0 = r2 << 3;
    0x0000197a movs r0, r0                                       |     
    0x0000197c movs r6, 0xfa                                     |     r6 = 0xfa;
    0x0000197e movs r0, r0                                       |     
    0x00001980 lsls r4, r3, 0x1c                                 |     r4 = r3 << 0x1c;
    0x00001982 movs r0, r0                                       |     
    0x00001984 lsls r6, r4, 0x1c                                 |     r6 = r4 << 0x1c;
    0x00001986 movs r0, r0                                       |     
    0x00001988 lsls r2, r2, 0x1c                                 |     r2 <<= 0x1c;
    0x0000198a movs r0, r0                                       |     
    0x0000198c lsls r4, r3, 0x1c                                 |     r4 = r3 << 0x1c;
    0x0000198e movs r0, r0                                       |     
    0x00001990 movs r7, 0xc8                                     |     r7 = 0xc8;
    0x00001992 movs r0, r0                                       |     
    0x00001994 lsls r0, r6, 0x1a                                 |     r0 = r6 << 0x1a;
    0x00001996 movs r0, r0                                       |     
    0x00001998 lsls r6, r5, 0x1b                                 |     r6 = r5 << 0x1b;
    0x0000199a movs r0, r0                                       |     
    0x0000199c movs r7, 0x9e                                     |     r7 = 0x9e;
    0x0000199e movs r0, r0                                       |     
    0x000019a0 movs r7, 0x80                                     |     r7 = 0x80;
    0x000019a2 movs r0, r0                                       |     
    0x000019a4 movs r7, 0x6a                                     |     r7 = 0x6a;
    0x000019a6 movs r0, r0                                       |     
    0x000019a8 movs r7, 0x60                                     |     r7 = 0x60;
    0x000019aa movs r0, r0                                       |     
    0x000019ac lsls r4, r3, 0x19                                 |     r4 = r3 << 0x19;
    0x000019ae movs r0, r0                                       |     
    0x000019b0 movs r7, 0x42                                     |     r7 = 0x42;
    0x000019b2 movs r0, r0                                       |     
    0x000019b4 lsls r0, r3, 0x19                                 |     r0 = r3 << 0x19;
    0x000019b6 movs r0, r0                                       |     
    0x000019b8 movs r7, 0x26                                     |     r7 = 0x26;
    0x000019ba movs r0, r0                                       |     
    0x000019bc movs r7, 0x14                                     |     r7 = 0x14;
    0x000019be movs r0, r0                                       |     
    0x000019c0 movs r7, 0xa                                      |     r7 = 0xa;
    0x000019c2 movs r0, r0                                       |     
    0x000019c4 movs r7, 0                                        |     r7 = 0;
    0x000019c6 movs r0, r0                                       |     
    0x000019c8 lsls r2, r2, 0x1c                                 |     r2 <<= 0x1c;
    0x000019ca movs r0, r0                                       |     
    0x000019cc lsls r6, r3, 0x17                                 |     r6 = r3 << 0x17;
    0x000019ce movs r0, r0                                       |     
    0x000019d0 lsls r0, r3, 0x17                                 |     r0 = r3 << 0x17;
    0x000019d2 movs r0, r0                                       |     
    0x000019d4 lsls r6, r3, 0x17                                 |     r6 = r3 << 0x17;
    0x000019d6 movs r0, r0                                       |     
    0x000019d8 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x000019dc sub sp, 0x124                                     |     
    0x000019de ldr r4, [pc, 0x110]                               |     
    0x000019e0 add r3, sp, 0x10                                  |     r3 += var_10h;
    0x000019e2 movs r1, 1                                        |     r1 = 1;
    0x000019e4 ldr r0, [pc, 0x10c]                               |     r0 = *(0x1af4);
    0x000019e6 add r4, pc                                        |     r4 = 0x34dc;
    0x000019e8 ldr.w r8, [pc, 0x10c]                             |     r8 = *(0x00001af8);
    0x000019ec ldr r2, [pc, 0x10c]                               |     
    0x000019ee ldr r0, [r4, r0]                                  |     
    0x000019f0 add r8, pc                                        |     r8 += pc;
    0x000019f2 add r2, pc                                        |     r2 = 0x34f2;
    0x000019f4 ldr r0, [r0]                                      |     r0 = *(0x34dc);
    0x000019f6 str r0, [sp, 0x11c]                               |     var_11ch = r0;
    0x000019f8 mov.w r0, 0                                       |     r0 = 0;
    0x000019fc str r2, [r3, 8]                                   |     *((r3 + 8)) = r2;
    0x000019fe ldr.w r0, [r8, 0x90]                              |     r0 = *((r8 + 0x90));
    0x00001a02 ldr.w r2, [r8, 0x14]                              |     r2 = *((r8 + 0x14));
    0x00001a06 str r1, [r3]                                      |     *(r3) = r1;
    0x00001a08 blx 0xcf0                                         |     r0 = fcn_00000cf0 ();
    0x00001a0c cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x00001a0e blt 0x1ae0                                        |         goto label_34;
                                                                 |     }
    0x00001a10 ldr r1, [pc, 0xec]                                |     
    0x00001a12 movs r0, 0                                        |     r0 = 0;
    0x00001a14 add.w sb, sp, 0x78                                |     sb += var_78h;
    0x00001a16 lsrs r0, r7, 5                                    |     r0 = r7 >> 5;
    0x00001a18 add r1, pc                                        |     r1 = 0x351c;
    0x00001a1a blx 0xb2c                                         |     sd_notify ();
                                                                 |     do {
                                                                 | label_12:
    0x00001a1e ldr.w r0, [r8, 0x90]                              |         r0 = *((r8 + 0x90));
    0x00001a22 mov.w r3, -1                                      |         r3 = -1;
    0x00001a26 movs r2, 0xa                                      |         r2 = 0xa;
    0x00001a28 mov r1, sb                                        |         r1 = sb;
    0x00001a2a blx 0xc04                                         |         r0 = strndup (r0, r1);
    0x00001a2e subs.w fp, r0, 0                                  |         
                                                                 |         if (fp >= r0) {
    0x00001a32 bge 0x1a60                                        |             goto label_35;
                                                                 |         }
    0x00001a34 blx 0xd38                                         |         r0 = fcn_00000d38 ();
    0x00001a38 ldr r3, [r0]                                      |         r3 = *(r0);
    0x00001a3a cmp r3, 4                                         |         
    0x00001a3c beq 0x1a1e                                        |         
                                                                 |     } while (r3 == 4);
    0x00001a3e ldr r0, [pc, 0xc4]                                |     
    0x00001a40 add r0, pc                                        |     r0 = 0x354a;
    0x00001a42 blx 0xc74                                         |     fcn_00000c74 ();
                                                                 | label_15:
    0x00001a46 ldr r2, [pc, 0xc0]                                |     
    0x00001a48 ldr r3, [pc, 0xa8]                                |     r3 = *(0x1af4);
    0x00001a4a add r2, pc                                        |     r2 = 0x3558;
    0x00001a4c ldr r3, [r2, r3]                                  |     r3 = *(0x3558);
    0x00001a4e ldr r2, [r3]                                      |     r2 = *(0x3558);
    0x00001a50 ldr r3, [sp, 0x11c]                               |     r3 = var_11ch;
    0x00001a52 eors r2, r3                                       |     r2 ^= r3;
    0x00001a54 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00001a58 bne 0x1aea                                        |         goto label_36;
                                                                 |     }
    0x00001a5a add sp, 0x124                                     |     
    0x00001a5c pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 |     if (r2 == r3) {
                                                                 | label_35:
    0x00001a60 beq 0x1a1e                                        |         goto label_12;
                                                                 |     }
    0x00001a62 ldr r3, [pc, 0xa8]                                |     
    0x00001a64 mov r6, sb                                        |     r6 = sb;
    0x00001a66 ldr r7, [pc, 0xa8]                                |     
    0x00001a68 movs r5, 0                                        |     r5 = 0;
    0x00001a6a ldr.w sl, [pc, 0xa8]                              |     sl = *(0x00001b14);
    0x00001a6e add r3, pc                                        |     r3 = 0x3580;
    0x00001a70 strd r8, sb, [sp, 8]                              |     __asm ("strd r8, sb, [sp, 8]");
    0x00001a74 add r7, pc                                        |     r7 = 0x358a;
    0x00001a76 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00001a78 add sl, pc                                        |     sl += pc;
    0x00001a7a b 0x1abc                                          |     
                                                                 |     while (r4 != r7) {
    0x00001a7c ldrd r2, r1, [r4]                                 |         __asm ("ldrd r2, r1, [r4]");
                                                                 |         if (r2 == 0) {
    0x00001a80 cbz r2, 0x1ada                                    |             goto label_37;
                                                                 |         }
    0x00001a82 str r1, [r2, 4]                                   |         *((r2 + 4)) = r1;
                                                                 | label_14:
    0x00001a84 add.w r8, r4, 0x24                                |         r8 = r4 + 0x24;
    0x00001a88 add.w sb, sp, 0x20                                |         sb += var_20h;
    0x00001a8c str r2, [r1]                                      |         *(r1) = r2;
    0x00001a8e mov r0, r8                                        |         r0 = r8;
    0x00001a90 mov r1, sb                                        |         r1 = sb;
    0x00001a92 blx 0xd14                                         |         r0 = fcn_00000d14 ();
    0x00001a96 cmp r0, 0                                         |         
                                                                 |         if (r0 >= 0) {
    0x00001a98 blt 0x1aa8                                        |             
    0x00001a9a ldr r1, [sp, 0x4c]                                |             r1 = var_4ch;
                                                                 |             if (r1 == 0) {
    0x00001a9c cbz r1, 0x1aa8                                    |                 goto label_38;
                                                                 |             }
    0x00001a9e ldr r0, [r4, 0x20]                                |             r0 = *((r4 + 0x20));
    0x00001aa0 mov r1, r8                                        |             r1 = r8;
    0x00001aa2 movs r2, 1                                        |             r2 = 1;
    0x00001aa4 bl 0x141c                                         |             fcn_0000141c (r0, r1, r2);
                                                                 |         }
                                                                 | label_38:
    0x00001aa8 ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
    0x00001aaa adds r5, 1                                        |         r5++;
    0x00001aac blx 0xc68                                         |         fcn_00000c68 ();
    0x00001ab0 mov r0, r4                                        |         r0 = r4;
    0x00001ab2 adds r6, 0x10                                     |         r6 += 0x10;
    0x00001ab4 blx 0xbc4                                         |         fcn_00000bc4 ();
    0x00001ab8 cmp fp, r5                                        |         
                                                                 |         if (fp == r5) {
    0x00001aba beq 0x1ad4                                        |             goto label_39;
                                                                 |         }
                                                                 | label_13:
    0x00001abc ldr r4, [r6, 8]                                   |         r4 = *((r6 + 8));
    0x00001abe cmp r4, r7                                        |         
    0x00001ac0 bne 0x1a7c                                        |         
                                                                 |     }
    0x00001ac2 ldr.w r0, [sl, 0x14]                              |     r0 = *((sl + 0x14));
    0x00001ac6 adds r5, 1                                        |     r5++;
    0x00001ac8 bl 0x17c0                                         |     void (*0x17c0)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3, r4);
    0x00001acc cmp fp, r5                                        |     
    0x00001ace add.w r6, r6, 0x10                                |     r6 += 0x10;
                                                                 |     if (fp != r5) {
    0x00001ad2 bne 0x1abc                                        |         goto label_13;
                                                                 |     }
                                                                 | label_39:
    0x00001ad4 ldrd r8, sb, [sp, 8]                              |     __asm ("ldrd r8, sb, [var_8h]");
    0x00001ad8 b 0x1a1e                                          |     goto label_12;
                                                                 | label_37:
    0x00001ada ldr r3, [sp, 4]                                   |     r3 = var_4h;
    0x00001adc str r1, [r3, 0x10]                                |     *((r3 + 0x10)) = r1;
    0x00001ade b 0x1a84                                          |     goto label_14;
                                                                 | label_34:
    0x00001ae0 ldr r0, [pc, 0x34]                                |     
    0x00001ae2 add r0, pc                                        |     r0 = 0x35fe;
    0x00001ae4 blx 0xc74                                         |     fcn_00000c74 ();
    0x00001ae8 b 0x1a46                                          |     goto label_15;
                                                                 | label_36:
    0x00001aea blx 0xca4                                         |     fcn_00000ca4 ();
    0x00001aee nop                                               |     
    0x00001af0 movs r5, 0x36                                     |     r5 = 0x36;
    0x00001af2 movs r0, r0                                       |     
    0x00001af4 lsls r0, r2, 3                                    |     r0 = r2 << 3;
    0x00001af6 movs r0, r0                                       |     
    0x00001af8 movs r6, 0x5c                                     |     r6 = 0x5c;
    0x00001afa movs r0, r0                                       |     
    0x00001afc stc2l p15, c15, [fp, 0x3fc]                       |     __asm ("stc2l p15, c15, [fp, 0x3fc]");
    0x00001b00 lsls r4, r1, 0x16                                 |     r4 = r1 << 0x16;
    0x00001b02 movs r0, r0                                       |     
    0x00001b04 lsls r4, r5, 0x15                                 |     r4 = r5 << 0x15;
    0x00001b06 movs r0, r0                                       |     
    0x00001b08 movs r4, 0xd2                                     |     r4 = 0xd2;
    0x00001b0a movs r0, r0                                       |     
    0x00001b0c movs r5, 0xde                                     |     r5 = 0xde;
    0x00001b0e movs r0, r0                                       |     
    0x00001b10 stc2l p15, c15, [sb, -0x3fc]                      |     __asm ("stc2l p15, c15, [sb, -0x3fc]");
    0x00001b14 movs r5, 0xd4                                     |     r5 = 0xd4;
    0x00001b16 movs r0, r0                                       |     
    0x00001b18 lsls r6, r6, 0x12                                 |     r6 <<= 0x12;
    0x00001b1a movs r0, r0                                       |     
    0x00001b1c movs r2, 9                                        |     r2 = 9;
    0x00001b1e movs r1, 3                                        |     r1 = 3;
    0x00001b20 movs r0, 0x10                                     |     r0 = 0x10;
    0x00001b22 b.w 0xbf4                                         |     goto label_16;
                                                                 | }

[*] Function printf used 1 times flashaudit