[*] Binary protection state of fwmgr

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


[*] Function mmap tear down of fwmgr

    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/fwmgr @ 0xa708 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0000a708 ()                                          | void fcn_0000a708 (int16_t arg_0h) {
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_4h;
                                                                     |     int16_t var_8h;
                                                                     |     int16_t var_ch;
                                                                     |     int16_t var_10h;
                                                                     |     int16_t var_14h;
                                                                     |     int16_t var_18h;
                                                                     |     int16_t var_1ch;
                                                                     |     int16_t var_24h;
                                                                     |     int32_t var_10h_2;
                                                                     |     int16_t var_6ch;
                                                                     |     char * s1;
                                                                     |     int16_t var_26ch;
                                                                     |     int16_t var_274h;
    0x0000a708 ldr.w r2, [pc, 0xc20]                                 |     r2 = *(0x0000b32c);
    0x0000a70c ldr.w r3, [pc, 0xc20]                                 |     
    0x0000a710 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0000a714 sub.w sp, sp, 0x274                                   |     
    0x0000a716 ldrb r5, [r3, 0x14]                                   |     r5 = *((r3 + 0x14));
    0x0000a718 add r2, pc                                            |     r2 += pc;
    0x0000a71a ldr.w r4, [pc, 0xc18]                                 |     r4 = *(0x0000b334);
    0x0000a71e ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0000a720 add r4, pc                                            |     r4 += pc;
    0x0000a722 ldr r3, [r3]                                          |     r3 = *(0xb330);
    0x0000a724 str r3, [sp, 0x26c]                                   |     var_26ch = r3;
    0x0000a726 mov.w r3, 0                                           |     r3 = 0;
    0x0000a72a invalid                                               |     
    0x0000a72c cdp2 p3, 6, c11, c15, c8, 2                           |     __asm ("cdp2 p3, 6, c11, c15, c8, 2");
    0x0000a730 ldr.w r3, [pc, 0xc04]                                 |     r3 = *(0xb338);
    0x0000a734 ldr r6, [r4, r3]                                      |     r6 = *((r4 + r3));
    0x0000a736 ldr r2, [r6]                                          |     r2 = *(r6);
    0x0000a738 cmp r2, 0                                             |     
                                                                     |     if (r2 == 0) {
    0x0000a73a beq 0xa7d8                                            |         goto label_41;
                                                                     |     }
    0x0000a73c ldr.w r1, [pc, 0xbfc]                                 |     
    0x0000a740 mov.w r0, -1                                          |     r0 = -1;
    0x0000a744 add r1, pc                                            |     r1 = 0x15a84;
    0x0000a746 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000a74a ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000a74c add.w r3, r3, r3, lsl 2                               |     r3 += (r3 << 2);
    0x0000a750 lsls r3, r3, 2                                        |     r3 <<= 2;
                                                                     |     if (r3 == r3) {
    0x0000a752 beq 0xa7d8                                            |         goto label_41;
                                                                     |     }
    0x0000a754 movs r5, 0                                            |     r5 = 0;
    0x0000a756 b 0xa766                                              |     
                                                                     |     while (r0 != 0) {
    0x0000a758 ldr r3, [r6]                                          |         r3 = *(r6);
    0x0000a75a adds r5, 1                                            |         r5++;
    0x0000a75c add.w r3, r3, r3, lsl 2                               |         r3 += (r3 << 2);
    0x0000a760 cmp.w r5, r3, lsl 2                                   |         
                                                                     |         if (r5 >= r3) {
    0x0000a764 bhs 0xa7d8                                            |             goto label_41;
                                                                     |         }
    0x0000a766 movw r0, 0xc350                                       |         r0 = 0xc350;
    0x0000a76a blx 0x2998                                            |         fcn_00002998 ();
    0x0000a76e bl 0xa40c                                             |         r0 = fcn_0000a40c ();
    0x0000a772 cmp r0, 0                                             |         
    0x0000a774 bne 0xa758                                            |         
                                                                     |     }
    0x0000a776 ldr.w r1, [pc, 0xbc8]                                 |     
    0x0000a77a mov.w r0, -1                                          |     r0 = -1;
    0x0000a77e add r1, pc                                            |     r1 = 0x15ac4;
    0x0000a780 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000a784 ldr.w r3, [pc, 0xbbc]                                 |     r3 = *(0xb344);
    0x0000a788 ldr r6, [r4, r3]                                      |     r6 = *((r4 + r3));
    0x0000a78a ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000a78c cmp r3, 1                                             |     
                                                                     |     if (r3 == 1) {
    0x0000a78e beq.w 0xad40                                          |         goto label_42;
                                                                     |     }
    0x0000a792 ldr.w r0, [pc, 0xbb4]                                 |     
    0x0000a796 add r0, pc                                            |     r0 = 0x15ae4;
    0x0000a798 bl 0x1070c                                            |     r0 = fcn_0001070c (r0);
    0x0000a79c mov r7, r0                                            |     r7 = r0;
    0x0000a79e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a7a0 beq 0xa864                                            |         goto label_43;
                                                                     |     }
    0x0000a7a2 ldr.w r1, [pc, 0xba8]                                 |     
    0x0000a7a6 movs r0, 5                                            |     r0 = 5;
    0x0000a7a8 add r1, pc                                            |     r1 = 0x15afa;
    0x0000a7aa bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000a7ae ldr.w r1, [pc, 0xba0]                                 |     
    0x0000a7b2 mov r0, r7                                            |     r0 = r7;
    0x0000a7b4 add r1, pc                                            |     r1 = 0x15b0a;
    0x0000a7b6 blx 0x2f70                                            |     r0 = vdprintf_chk ();
    0x0000a7ba cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a7bc beq.w 0xad44                                          |         goto label_44;
                                                                     |     }
    0x0000a7c0 ldr.w r1, [pc, 0xb90]                                 |     
    0x0000a7c4 mov r0, r7                                            |     r0 = r7;
    0x0000a7c6 add r1, pc                                            |     r1 = 0x15b1e;
    0x0000a7c8 blx 0x2f70                                            |     r0 = vdprintf_chk ();
    0x0000a7cc cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a7ce bne.w 0xaec4                                          |         goto label_45;
                                                                     |     }
    0x0000a7d2 movs r3, 2                                            |     r3 = 2;
    0x0000a7d4 str r3, [r6]                                          |     *(r6) = r3;
    0x0000a7d6 b 0xa86a                                              |     goto label_8;
                                                                     | label_41:
    0x0000a7d8 ldr.w r1, [pc, 0xb7c]                                 |     
    0x0000a7dc movs r0, 5                                            |     r0 = 5;
    0x0000a7de ldr.w r7, [pc, 0xb7c]                                 |     
    0x0000a7e2 add r1, pc                                            |     r1 = 0x15b3e;
    0x0000a7e4 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000a7e6 invalid                                               |     
    0x0000a7ea subs r3, 0x58                                         |     r3 -= 0x58;
    0x0000a7ec add r7, pc                                            |     r7 = 0x15b4e;
    0x0000a7ee movs r2, 1                                            |     r2 = 1;
    0x0000a7f0 ldr r6, [r4, r3]                                      |     r6 = *((r4 + r3));
    0x0000a7f2 str r2, [r6]                                          |     *(r6) = r2;
                                                                     |     do {
                                                                     | label_7:
    0x0000a7f4 ldr.w r3, [pc, 0xb68]                                 |         r3 = *(0xb360);
    0x0000a7f8 movs r5, 0                                            |         r5 = 0;
    0x0000a7fa ldr.w sl, [r4, r3]                                    |         sl = *((r4 + r3));
                                                                     | label_15:
    0x0000a7fe ldr.w r3, [pc, 0xb64]                                 |         r3 = *(0xb366);
    0x0000a802 ldr r3, [r4, r3]                                      |         r3 = *((r4 + r3));
    0x0000a804 ldrb.w sb, [r3]                                       |         sb = *(r3);
    0x0000a808 str r3, [sp, 0x14]                                    |         var_14h = r3;
    0x0000a80a cmp.w sb, 0                                           |         
                                                                     |         if (sb != 0) {
    0x0000a80e bne.w 0xada4                                          |             goto label_46;
                                                                     |         }
    0x0000a812 ldr.w r8, [r6]                                        |         r8 = *(r6);
    0x0000a816 cmp.w r8, 0                                           |         
                                                                     |         if (r8 != 0) {
    0x0000a81a bne 0xa90a                                            |             goto label_47;
                                                                     |         }
                                                                     | label_0:
    0x0000a81c ldr.w fp, [pc, 0xb48]                                 |         
    0x0000a820 add r1, sp, 0x6c                                      |         r1 += var_6ch;
    0x0000a822 movs r3, 1                                            |         r3 = 1;
    0x0000a824 movs r2, 0xff                                         |         r2 = 0xff;
    0x0000a826 str r1, [sp, 0x10]                                    |         var_10h = r1;
    0x0000a828 add fp, pc                                            |         fp = 0x15b94;
    0x0000a82a mov r0, fp                                            |         r0 = fp;
    0x0000a82c bl 0x10338                                            |         fcn_00010338 (r0, r1, r2, r3);
    0x0000a830 ldr r1, [sp, 0x10]                                    |         r1 = var_10h;
    0x0000a832 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000a834 bne.w 0xad52                                          |             goto label_48;
                                                                     |         }
    0x0000a838 str r0, [sp, 0x18]                                    |         var_18h = r0;
    0x0000a83a mov r0, r1                                            |         r0 = r1;
    0x0000a83c str r1, [sp, 0x10]                                    |         var_10h = r1;
    0x0000a83e blx 0x2ab0                                            |         fcn_00002ab0 ();
    0x0000a842 ldr r1, [sp, 0x10]                                    |         r1 = var_10h;
    0x0000a844 ldr r3, [sp, 0x18]                                    |         r3 = var_18h;
    0x0000a846 adds r2, r1, r0                                       |         r2 = r1 + r0;
    0x0000a848 ldrb ip, [r2, -0x1]                                   |         ip = *((r2 - 0x1));
    0x0000a84c cmp.w ip, 0xa                                         |         
                                                                     |         if (ip == 0xa) {
    0x0000a850 beq.w 0xb12a                                          |             goto label_49;
                                                                     |         }
    0x0000a854 mov.w ip, 0xa                                         |         
    0x0000a858 mov r8, r1                                            |         r8 = r1;
    0x0000a85a strb.w ip, [r1, r0]                                   |         *((r1 + r0)) = ip;
    0x0000a85e str r3, [sp, 0x10]                                    |         var_10h = r3;
    0x0000a860 strb r3, [r2, 1]                                      |         *((r2 + 1)) = r3;
    0x0000a862 b 0xa9f4                                              |         goto label_9;
                                                                     | label_43:
    0x0000a864 ldr r3, [r6]                                          |         r3 = *(r6);
    0x0000a866 cmp r3, 1                                             |         
    0x0000a868 beq 0xa7f4                                            |         
                                                                     |     } while (r3 == 1);
                                                                     | label_8:
    0x0000a86a ldr.w r3, [pc, 0xb00]                                 |     r3 = *(0xb36e);
    0x0000a86e ldr.w r2, [pc, 0xaf0]                                 |     r2 = *(0xb362);
    0x0000a870 cmp r2, 0xf0                                          |     
    0x0000a872 ldr.w r8, [r4, r3]                                    |     r8 = *((r4 + r3));
    0x0000a876 ldr.w sl, [r4, r2]                                    |     sl = *((r4 + r2));
    0x0000a87a ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000a87e ldr r2, [r3, 0xc]                                     |     r2 = *(0xb37a);
    0x0000a880 ldrb.w r3, [sl]                                       |     r3 = *(sl);
    0x0000a884 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000a886 beq 0xa94e                                            |         goto label_50;
                                                                     |     }
    0x0000a888 movs r0, 0x22                                         |     r0 = 0x22;
    0x0000a88a blx r2                                                |     r0 = uint32_t (*r2)(uint32_t) (r0);
    0x0000a88c mov r5, r0                                            |     r5 = r0;
    0x0000a88e cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a890 bne 0xa94e                                            |         goto label_50;
                                                                     |     }
    0x0000a892 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000a896 movs r0, 0x42                                         |     r0 = 0x42;
    0x0000a898 ldr r3, [r3, 0xc]                                     |     r3 = *((r3 + 0xc));
    0x0000a89a blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a89c mov sb, r0                                            |     sb = r0;
    0x0000a89e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a8a0 beq 0xa94e                                            |         goto label_50;
                                                                     |     }
    0x0000a8a2 ldr r3, [r6]                                          |     r3 = *(r6);
                                                                     |     if (r3 == 0) {
    0x0000a8a4 cbnz r3, 0xa8aa                                       |         
    0x0000a8a6 movs r3, 4                                            |         r3 = 4;
    0x0000a8a8 str r3, [r6]                                          |         *(r6) = r3;
                                                                     |     }
    0x0000a8aa ldr.w r1, [pc, 0xac4]                                 |     
    0x0000a8ae movs r0, 7                                            |     r0 = 7;
    0x0000a8b0 ldr.w fp, [pc, 0xac0]                                 |     
    0x0000a8b4 add r1, pc                                            |     r1 = 0x15c2a;
    0x0000a8b6 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000a8ba ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000a8be add fp, pc                                            |     fp = 0x15c36;
    0x0000a8c0 movs r2, 1                                            |     r2 = 1;
    0x0000a8c2 mov r1, fp                                            |     r1 = fp;
    0x0000a8c4 movs r0, 0x42                                         |     r0 = 0x42;
    0x0000a8c6 ldr r3, [r3, 0x14]                                    |     r3 = *((r3 + 0x14));
    0x0000a8c8 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000a8ca cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a8cc bne.w 0xaf42                                          |         goto label_51;
                                                                     |     }
                                                                     | label_1:
    0x0000a8d0 ldr r7, [r6]                                          |     r7 = *(r6);
    0x0000a8d2 cmp r7, 1                                             |     
                                                                     |     if (r7 == 1) {
    0x0000a8d4 beq.w 0xae70                                          |         goto label_52;
                                                                     |     }
    0x0000a8d8 mov r0, fp                                            |     r0 = fp;
    0x0000a8da bl 0x9154                                             |     fcn_00009154 (r0, r1, r2, r3, r4, r5, r6);
    0x0000a8de ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000a8e0 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a8e2 beq.w 0xadc8                                          |         goto label_53;
                                                                     |     }
    0x0000a8e6 cmp r3, 4                                             |     
                                                                     |     if (r3 == 4) {
    0x0000a8e8 beq.w 0xadac                                          |         goto label_54;
                                                                     |     }
                                                                     | label_16:
    0x0000a8ec cmp.w sb, 0                                           |     
                                                                     |     if (sb == 0) {
    0x0000a8f0 beq.w 0xadc4                                          |         goto label_55;
                                                                     |     }
                                                                     | label_14:
    0x0000a8f4 ldr.w r3, [pc, 0xa6c]                                 |     r3 = *(0xb364);
    0x0000a8f8 movs r7, 0                                            |     r7 = 0;
    0x0000a8fa ldr.w r8, [r6]                                        |     r8 = *(r6);
    0x0000a8fe ldr r3, [r4, r3]                                      |     r3 = *((r4 + r3));
    0x0000a900 str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x0000a902 strb r7, [r3]                                         |     *(r3) = r7;
    0x0000a904 cmp.w r8, 0                                           |     
                                                                     |     if (r8 == 0) {
    0x0000a908 beq 0xa81c                                            |         goto label_0;
                                                                     |     }
                                                                     | label_47:
    0x0000a90a movs r3, 0                                            |     r3 = 0;
    0x0000a90c str r3, [sp, 0x10]                                    |     var_10h = r3;
                                                                     | label_2:
    0x0000a90e ldrb.w r3, [sl]                                       |     r3 = *(sl);
                                                                     |     if (r3 != 0) {
    0x0000a912 cbz r3, 0xa92c                                        |         
    0x0000a914 ldr.w r3, [pc, 0xa54]                                 |         
    0x0000a918 movs r0, 0x22                                         |         r0 = 0x22;
    0x0000a91a ldr.w r8, [r4, r3]                                    |         r8 = *((r4 + r3));
    0x0000a91e ldr.w r3, [r8]                                        |         r3 = *(r8);
    0x0000a922 ldr r3, [r3, 0xc]                                     |         r3 = *(0xb378);
    0x0000a924 blx r3                                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a926 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000a928 beq.w 0xad5e                                          |             goto label_56;
                                                                     |         }
                                                                     |     }
    0x0000a92c cmp r7, 0                                             |     
                                                                     |     if (r7 == 0) {
    0x0000a92e beq.w 0xae9a                                          |         goto label_57;
                                                                     |     }
    0x0000a932 ldr.w r1, [pc, 0xa44]                                 |     
    0x0000a936 movs r2, 4                                            |     r2 = 4;
    0x0000a938 mov r0, r7                                            |     r0 = r7;
    0x0000a93a add r1, pc                                            |     r1 = 0x15cb8;
    0x0000a93c blx 0x2ea4                                            |     r0 = realloc (r0, r1);
    0x0000a940 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a942 bne.w 0xad4a                                          |         goto label_58;
                                                                     |     }
    0x0000a946 ldr.w r8, [pc, 0xa34]                                 |     
    0x0000a94a add r8, pc                                            |     r8 = 0x15ccc;
    0x0000a94c b 0xa9f4                                              |     goto label_9;
                                                                     | label_50:
    0x0000a94e ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000a952 movs r0, 0x22                                         |     r0 = 0x22;
    0x0000a954 ldr r3, [r3, 0xc]                                     |     r3 = *((r3 + 0xc));
    0x0000a956 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000a958 mov r5, r0                                            |     r5 = r0;
                                                                     |     if (r0 == 0) {
    0x0000a95a cbz r0, 0xa9b8                                        |         goto label_59;
                                                                     |     }
    0x0000a95c ldr.w r1, [pc, 0xa20]                                 |     
    0x0000a960 movs r0, 7                                            |     r0 = 7;
    0x0000a962 ldr.w fp, [pc, 0xa20]                                 |     
    0x0000a966 add r1, pc                                            |     r1 = 0x15cea;
    0x0000a968 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000a96c ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000a970 add fp, pc                                            |     fp = 0x15cfa;
    0x0000a972 movs r2, 0                                            |     r2 = 0;
    0x0000a974 mov r1, fp                                            |     r1 = fp;
    0x0000a976 movs r0, 0x22                                         |     r0 = 0x22;
    0x0000a978 ldr r3, [r3, 0x14]                                    |     r3 = *((r3 + 0x14));
    0x0000a97a blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000a97c mov sb, r0                                            |     sb = r0;
    0x0000a97e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a980 beq 0xa8d0                                            |         goto label_1;
                                                                     |     }
    0x0000a982 blx 0x2f88                                            |     r0 = cxa_finalize ();
    0x0000a986 ldr r3, [r0]                                          |     r3 = *(r0);
    0x0000a988 mov r5, r0                                            |     r5 = r0;
    0x0000a98a cmp r3, 0x10                                          |     
                                                                     |     if (r3 == 0x10) {
    0x0000a98c beq.w 0xb18a                                          |         goto label_60;
                                                                     |     }
    0x0000a98e strh r5, [r7, 0x1e]                                   |     *((r7 + 0x1e)) = r5;
    0x0000a990 ldr.w r1, [pc, 0x9f4]                                 |     
    0x0000a994 movs r0, 2                                            |     r0 = 2;
    0x0000a996 add r1, pc                                            |     r1 = 0x15d22;
    0x0000a998 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000a99c ldr r3, [r5]                                          |     r3 = *(r5);
    0x0000a99e cmp r3, 0x3d                                          |     
    0x0000a9a0 it ne                                                 |     
                                                                     |     if (r3 != 0x3d) {
    0x0000a9a2 cmpne r3, 0x7e                                        |         __asm ("cmpne r3, 0x7e");
                                                                     |     }
                                                                     |     if (r3 == 0x3d) {
    0x0000a9a4 beq.w 0xaeec                                          |         goto label_61;
                                                                     |     }
    0x0000a9a8 ldr.w r7, [pc, 0x9e0]                                 |     
    0x0000a9ac add r7, pc                                            |     r7 = 0x15d3c;
                                                                     | label_22:
    0x0000a9ae movs r3, 1                                            |     r3 = 1;
    0x0000a9b0 str r3, [r6]                                          |     *(r6) = r3;
    0x0000a9b2 movs r3, 0                                            |     r3 = 0;
    0x0000a9b4 str r3, [sp, 0x10]                                    |     var_10h = r3;
    0x0000a9b6 b 0xa9cc                                              |     goto label_62;
                                                                     | label_59:
    0x0000a9b8 ldr.w r1, [pc, 0x9d4]                                 |     
    0x0000a9bc mov r7, r0                                            |     r7 = r0;
    0x0000a9be movs r0, 5                                            |     r0 = 5;
    0x0000a9c0 add r1, pc                                            |     r1 = 0x15d54;
    0x0000a9c2 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000a9c4 vst4.8 {d2[0], d3[0], d4[0], d5[0]}, [fp], r1         |     __asm ("vst4.8 {d2[0], d3[0], d4[0], d5[0]}, [fp], r1");
    0x0000a9c8 str r3, [r6]                                          |     *(r6) = r3;
    0x0000a9ca str r3, [sp, 0x10]                                    |     var_10h = r3;
                                                                     | label_62:
    0x0000a9cc ldr.w r3, [pc, 0x994]                                 |     r3 = *(0xb364);
    0x0000a9d0 ldr r3, [r4, r3]                                      |     r3 = *((r4 + r3));
    0x0000a9d2 ldrb r5, [r3]                                         |     r5 = *(r3);
    0x0000a9d4 str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x0000a9d6 mov sb, r5                                            |     sb = r5;
    0x0000a9d8 cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0000a9da beq 0xa90e                                            |         goto label_2;
                                                                     |     }
    0x0000a9dc mov.w sb, 0                                           |     sb = 0;
    0x0000a9e0 mov r5, sb                                            |     r5 = sb;
                                                                     | label_13:
    0x0000a9e2 ldr.w r8, [pc, 0x9b0]                                 |     
    0x0000a9e6 movs r1, 0                                            |     r1 = 0;
    0x0000a9e8 ldr.w r0, [pc, 0x9ac]                                 |     
    0x0000a9ec add r8, pc                                            |     r8 = 0x15d86;
    0x0000a9ee add r0, pc                                            |     r0 = 0x15d8a;
    0x0000a9f0 bl 0x70c8                                             |     fcn_000070c8 (r0, r1, r2);
                                                                     | label_9:
    0x0000a9f4 ldr.w r0, [pc, 0x9a4]                                 |     
    0x0000a9f8 add r0, pc                                            |     r0 = "Secure boot enabled: %s";
    0x0000a9fa blx 0x2acc                                            |     strtoul (r0, r1, r2);
    0x0000a9fe ldr.w r0, [pc, 0x9a0]                                 |     
    0x0000aa02 mov r1, r8                                            |     r1 = r8;
    0x0000aa04 movs r2, 0                                            |     r2 = 0;
    0x0000aa06 add r0, pc                                            |     r0 = 0x15dac;
    0x0000aa08 bl 0x10554                                            |     fcn_00010554 (r0, r1, r2);
                                                                     | label_10:
    0x0000aa0c ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000aa0e cmp r3, 0                                             |     
    0x0000aa10 ite ne                                                |     
                                                                     |     if (r3 == 0) {
    0x0000aa12 movne r2, 0                                           |         r2 = 0;
                                                                     |     }
                                                                     |     if (r3 != 0) {
    0x0000aa14 andeq r2, r5, 1                                       |         r2 = r5 & 1;
                                                                     |     }
    0x0000aa16 lsls r1, r0, 8                                        |     r1 = r0 << 8;
    0x0000aa18 cmp r2, 0                                             |     
                                                                     |     if (r2 != 0) {
    0x0000aa1a bne.w 0xadea                                          |         goto label_63;
                                                                     |     }
                                                                     | label_17:
    0x0000aa1e ldrb.w r2, [sl]                                       |     r2 = *(sl);
    0x0000aa22 cmp r2, 0                                             |     
                                                                     |     if (r2 == 0) {
    0x0000aa24 beq.w 0xab2e                                          |         goto label_64;
                                                                     |     }
    0x0000aa28 ldr.w r2, [pc, 0x978]                                 |     r2 = *(0xb3a4);
    0x0000aa2c ldr.w fp, [r4, r2]                                    |     fp = *((r4 + r2));
    0x0000aa30 bics r2, r3, 4                                        |     __asm ("bics r2, r3, 4");
    0x0000aa34 ldr.w r1, [fp]                                        |     r1 = *(fp);
                                                                     |     if (r2 != 0) {
    0x0000aa38 beq 0xaa44                                            |         
    0x0000aa3a ldr.w r2, [pc, 0x96c]                                 |         r2 = *(0xb3aa);
    0x0000aa3e movs r0, 1                                            |         r0 = 1;
    0x0000aa40 ldr r2, [r4, r2]                                      |         r2 = *((r4 + r2));
    0x0000aa42 strb r0, [r2]                                         |         *(r2) = r0;
                                                                     |     }
    0x0000aa44 ldr.w r2, [pc, 0x964]                                 |     r2 = *(0xb3ac);
    0x0000aa48 ldr r2, [r4, r2]                                      |     r2 = *((r4 + r2));
    0x0000aa4a ldrb r2, [r2]                                         |     r2 = *(r2);
    0x0000aa4c cmp r2, 0                                             |     
                                                                     |     if (r2 != 0) {
    0x0000aa4e bne.w 0xac24                                          |         goto label_65;
                                                                     |     }
    0x0000aa52 ldr.w r1, [pc, 0x95c]                                 |     r1 = *(0xb3b2);
    0x0000aa56 movs r0, 1                                            |     r0 = 1;
    0x0000aa58 str.w r0, [fp]                                        |     __asm ("str.w r0, [fp]");
    0x0000aa5c ldr r1, [r4, r1]                                      |     r1 = *((r4 + r1));
    0x0000aa5e str r2, [r1]                                          |     *(r1) = r2;
                                                                     | label_5:
    0x0000aa60 cmp r3, 1                                             |     
                                                                     |     if (r3 < 1) {
    0x0000aa62 bls 0xab4a                                            |         goto label_66;
                                                                     |     }
                                                                     |     do {
    0x0000aa64 cmp r5, 0                                             |         
                                                                     |         if (r5 != 0) {
    0x0000aa66 bne.w 0xaba0                                          |             goto label_67;
                                                                     |         }
                                                                     | label_23:
    0x0000aa6a movs r5, 0                                            |         r5 = 0;
                                                                     | label_3:
    0x0000aa6c ldr.w r0, [pc, 0x944]                                 |         
    0x0000aa70 add r0, pc                                            |         r0 = 0x15e28;
    0x0000aa72 blx 0x28d8                                            |         r0 = fcn_000028d8 ();
    0x0000aa76 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000aa78 bne.w 0xae62                                          |             goto label_68;
                                                                     |         }
                                                                     | label_19:
    0x0000aa7c ldr r3, [r6]                                          |         r3 = *(r6);
    0x0000aa7e cmp r3, 1                                             |         
                                                                     |         if (r3 == 1) {
    0x0000aa80 beq.w 0xae18                                          |             goto label_69;
                                                                     |         }
    0x0000aa84 ldr.w r3, [pc, 0x924]                                 |         r3 = *(0xb3ac);
    0x0000aa88 ldr r3, [r4, r3]                                      |         r3 = *((r4 + r3));
    0x0000aa8a str r3, [sp, 0x18]                                    |         var_18h = r3;
    0x0000aa8c ldrb r3, [r3]                                         |         r3 = *(r3);
    0x0000aa8e cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0000aa90 bne.w 0xad6c                                          |             goto label_18;
                                                                     |         }
                                                                     | label_26:
    0x0000aa94 ldr.w r3, [pc, 0x8d4]                                 |         r3 = *(0xb36c);
    0x0000aa98 ldr.w r8, [r4, r3]                                    |         r8 = *((r4 + r3));
                                                                     | label_11:
    0x0000aa9c ldr.w r3, [r8]                                        |         r3 = *(r8);
    0x0000aaa0 ldr r3, [r3, 0x6c]                                    |         r3 = *((r3 + 0x6c));
    0x0000aaa2 blx r3                                                |         r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000aaa4 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000aaa6 bne 0xab76                                            |             goto label_6;
                                                                     |         }
    0x0000aaa8 ldr.w r3, [r8]                                        |         r3 = *(r8);
    0x0000aaac movs r0, 0x22                                         |         r0 = 0x22;
    0x0000aaae ldr r2, [r3, 0xc]                                     |         r2 = *((r3 + 0xc));
    0x0000aab0 ldr r3, [r3, 0x5c]                                    |         r3 = *((r3 + 0x5c));
    0x0000aab2 str r3, [sp, 0x1c]                                    |         var_1ch = r3;
    0x0000aab4 blx r2                                                |         uint32_t (*r2)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x0000aab6 ldr r3, [sp, 0x1c]                                    |         r3 = var_1ch;
    0x0000aab8 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000aaba bne.w 0xaeb0                                          |             goto label_70;
                                                                     |         }
    0x0000aabe ldr r1, [r6]                                          |         r1 = *(r6);
                                                                     | label_20:
    0x0000aac0 movs r0, 0                                            |         r0 = 0;
                                                                     | label_21:
    0x0000aac2 sub.w r1, r1, 4                                       |         r1 -= 4;
    0x0000aac6 clz r1, r1                                            |         r1 &= r1;
    0x0000aaca lsrs r1, r1, 5                                        |         r1 >>= 5;
    0x0000aacc blx r3                                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r1);
    0x0000aace cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000aad0 bne 0xab76                                            |             goto label_6;
                                                                     |         }
    0x0000aad2 mov r3, r0                                            |         r3 = r0;
    0x0000aad4 ldr.w r2, [pc, 0x8e0]                                 |         
    0x0000aad8 ldr.w r0, [pc, 0x8e0]                                 |         
    0x0000aadc ldr.w r1, [pc, 0x8e0]                                 |         
    0x0000aae0 add r2, pc                                            |         r2 = 0x15e9c;
    0x0000aae2 add r0, pc                                            |         r0 = 0x15ea2;
    0x0000aae4 add r1, pc                                            |         r1 = 0x15ea8;
    0x0000aae6 str r0, [sp]                                          |         *(sp) = r0;
    0x0000aae8 mov r0, r2                                            |         r0 = r2;
    0x0000aaea str r1, [sp, 0x18]                                    |         var_18h = r1;
    0x0000aaec blx 0x2c70                                            |         r0 = ctype_b_loc ();
    0x0000aaf0 cmp r0, 0                                             |         
    0x0000aaf2 ldr r1, [sp, 0x18]                                    |         r1 = var_18h;
                                                                     |         if (r0 < 0) {
    0x0000aaf4 blt.w 0xb1aa                                          |             goto label_71;
                                                                     |         }
    0x0000aaf8 mov r0, r1                                            |         r0 = r1;
    0x0000aafa mov.w r1, 0x4000                                      |         r1 = 0x4000;
    0x0000aafe blx 0x2730                                            |         r0 = open (r0, r1, r2);
    0x0000ab02 cmp r0, 0                                             |         
                                                                     |         if (r0 < 0) {
    0x0000ab04 blt.w 0xaf66                                          |             goto label_72;
                                                                     |         }
    0x0000ab08 bl 0xa014                                             |         r0 = fcn_0000a014 (r0);
    0x0000ab0c cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000ab0e bne.w 0xb1e8                                          |             goto label_73;
                                                                     |         }
                                                                     | label_25:
    0x0000ab12 ldr.w r0, [pc, 0x8b0]                                 |         
    0x0000ab16 add r0, pc                                            |         r0 = 0x15ee0;
    0x0000ab18 blx 0x29a4                                            |         r0 = fcn_000029a4 ();
    0x0000ab1c cmp r0, 0                                             |         
                                                                     |         if (r0 >= 0) {
    0x0000ab1e bge 0xab56                                            |             goto label_31;
                                                                     |         }
    0x0000ab20 ldr.w r1, [pc, 0x8a4]                                 |         
    0x0000ab24 movs r0, 4                                            |         r0 = 4;
    0x0000ab26 add r1, pc                                            |         r1 = 0x15ef2;
    0x0000ab28 bl 0xfcdc                                             |         fcn_0000fcdc (r0);
    0x0000ab2c b 0xab56                                              |         goto label_31;
                                                                     | label_64:
    0x0000ab2e ldr.w r2, [pc, 0x874]                                 |         r2 = *(0xb3a6);
    0x0000ab32 mov.w r1, -1                                          |         r1 = -1;
    0x0000ab36 cmp r3, 1                                             |         
    0x0000ab38 ldr.w fp, [r4, r2]                                    |         fp = *((r4 + r2));
    0x0000ab3c ldr.w r2, [pc, 0x870]                                 |         r2 = *(0xb3b0);
    0x0000ab40 str.w r1, [fp]                                        |         __asm ("str.w r1, [fp]");
    0x0000ab44 ldr r2, [r4, r2]                                      |         r2 = *((r4 + r2));
    0x0000ab46 str r1, [r2]                                          |         *(r2) = r1;
    0x0000ab48 bhi 0xaa64                                            |         
                                                                     |     } while (r3 > 1);
                                                                     | label_66:
    0x0000ab4a cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000ab4c bne 0xaa6c                                            |         goto label_3;
                                                                     |     }
    0x0000ab4e ldr.w r3, [pc, 0x81c]                                 |     r3 = *(0xb36e);
    0x0000ab52 ldr.w r8, [r4, r3]                                    |     r8 = *((r4 + r3));
                                                                     | label_31:
    0x0000ab56 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000ab5a ldr r3, [r3, 0x64]                                    |     r3 = *((r3 + 0x64));
    0x0000ab5c blx r3                                                |     uint32_t (*r3)(uint32_t) (r3);
    0x0000ab5e cmp r5, 0                                             |     
    0x0000ab60 beq 0xabee                                            |     
                                                                     |     while (r0 == 0) {
    0x0000ab62 bl 0xa378                                             |         r0 = fcn_0000a378 ();
                                                                     |         if (r0 == 0) {
    0x0000ab66 cbnz r0, 0xab76                                       |             
    0x0000ab68 ldr.w r0, [pc, 0x860]                                 |             
    0x0000ab6c add r0, pc                                            |             r0 = 0x15f3c;
    0x0000ab6e bl 0x10948                                            |             r0 = fcn_00010948 (r0);
    0x0000ab72 cmp r0, 0                                             |             
                                                                     |             if (r0 == 0) {
    0x0000ab74 beq 0xac62                                            |                 goto label_74;
                                                                     |             }
                                                                     |         }
                                                                     | label_6:
    0x0000ab76 blx 0x2f88                                            |         r0 = cxa_finalize ();
    0x0000ab7a ldr r5, [r0]                                          |         r5 = *(r0);
                                                                     | label_4:
    0x0000ab7c ldr.w r2, [pc, 0x850]                                 |         r2 = *(0x0000b3d0);
    0x0000ab80 ldr.w r3, [pc, 0x7ac]                                 |         r3 = *(0xb330);
    0x0000ab84 add r2, pc                                            |         r2 += pc;
    0x0000ab86 ldr r3, [r2, r3]                                      |         r3 = *((r2 + r3));
    0x0000ab88 ldr r2, [r3]                                          |         r2 = *(0xb330);
    0x0000ab8a ldr r3, [sp, 0x26c]                                   |         r3 = var_26ch;
    0x0000ab8c eors r2, r3                                           |         r2 ^= r3;
    0x0000ab8e mov.w r3, 0                                           |         r3 = 0;
                                                                     |         if (r2 != r3) {
    0x0000ab92 bne.w 0xb55c                                          |             goto label_75;
                                                                     |         }
    0x0000ab96 mov r0, r5                                            |         r0 = r5;
    0x0000ab98 add.w sp, sp, 0x274                                   |         
    0x0000ab9c pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |         
                                                                     | label_67:
    0x0000aba0 ldr.w r1, [pc, 0x830]                                 |         
    0x0000aba4 movs r0, 7                                            |         r0 = 7;
    0x0000aba6 add r1, pc                                            |         r1 = 0x15f7e;
    0x0000aba8 bl 0xfcdc                                             |         fcn_0000fcdc (r0);
    0x0000abac ldr.w r0, [pc, 0x828]                                 |         
    0x0000abb0 add r0, pc                                            |         r0 = 0x15f8c;
    0x0000abb2 blx 0x29a4                                            |         r0 = fcn_000029a4 ();
    0x0000abb6 cmp r0, 0                                             |         
                                                                     |         if (r0 < 0) {
    0x0000abb8 blt.w 0xb198                                          |             goto label_76;
                                                                     |         }
    0x0000abbc ldr.w r3, [pc, 0x7ac]                                 |         
    0x0000abc0 movs r2, 1                                            |         r2 = 1;
    0x0000abc2 ldr.w r1, [pc, 0x818]                                 |         
    0x0000abc6 movs r0, 0x22                                         |         r0 = 0x22;
    0x0000abc8 ldr.w r8, [r4, r3]                                    |         r8 = *((r4 + r3));
    0x0000abcc add r1, pc                                            |         r1 = 0x15fae;
    0x0000abce ldr.w r3, [r8]                                        |         r3 = *(r8);
    0x0000abd2 ldr r3, [r3, 0x14]                                    |         r3 = *(0xb380);
    0x0000abd4 blx r3                                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000abd6 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000abd8 bne.w 0xaef4                                          |             goto label_77;
                                                                     |         }
    0x0000abdc ldr r3, [r6]                                          |         r3 = *(r6);
    0x0000abde cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0000abe0 bne.w 0xb560                                          |             goto label_78;
                                                                     |         }
    0x0000abe4 ldr.w r3, [r8]                                        |         r3 = *(r8);
    0x0000abe8 mov sb, r5                                            |         sb = r5;
    0x0000abea ldr r3, [r3, 0x64]                                    |         r3 = *((r3 + 0x64));
    0x0000abec blx r3                                                |         uint32_t (*r3)(uint32_t) (r3);
    0x0000abee ldr.w r1, [pc, 0x7f0]                                 |         
    0x0000abf2 movs r0, 7                                            |         r0 = 7;
    0x0000abf4 add r1, pc                                            |         r1 = 0x15fda;
    0x0000abf6 bl 0xfcdc                                             |         fcn_0000fcdc (r0);
    0x0000abf8 invalid                                               |         
    0x0000abfc adds r0, 0                                            |         r0 += 0;
    0x0000abfe movs r2, 0                                            |         r2 = 0;
    0x0000ac00 ldr.w r1, [pc, 0x7e0]                                 |         
    0x0000ac04 movs r0, 0x22                                         |         r0 = 0x22;
    0x0000ac06 ldr r3, [r3, 0x14]                                    |         r3 = *((r3 + 0x14));
    0x0000ac08 add r1, pc                                            |         r1 = 0x15ff0;
    0x0000ac0a blx r3                                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000ac0c cmp r0, 0                                             |         
    0x0000ac0e beq 0xab62                                            |         
                                                                     |     }
    0x0000ac10 ldr.w r1, [pc, 0x7d4]                                 |     
    0x0000ac14 movs r0, 2                                            |     r0 = 2;
    0x0000ac16 add r1, pc                                            |     r1 = 0x16002;
    0x0000ac18 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000ac1a invalid                                               |     
    0x0000ac1e invalid                                               |     
    0x0000ac22 b 0xab7c                                              |     goto label_4;
                                                                     | label_65:
    0x0000ac24 ldr.w r2, [pc, 0x788]                                 |     r2 = *(0xb3b0);
    0x0000ac28 cmp.w r1, -1                                          |     
    0x0000ac2c ldr r2, [r4, r2]                                      |     r2 = *((r4 + r2));
    0x0000ac2e ldr r0, [r2]                                          |     r0 = *(0xb3b0);
                                                                     |     if (r1 != -1) {
    0x0000ac30 bne.w 0xad90                                          |         goto label_79;
                                                                     |     }
    0x0000ac34 cmp r0, 0                                             |     
    0x0000ac36 itt gt                                                |     
                                                                     |     if (r0 <= 0) {
    0x0000ac38 movgt r2, 0                                           |         r2 = 0;
                                                                     |     }
                                                                     |     if (r0 > 0) {
    0x0000ac3a strgt r2, [fp]                                        |         *(fp) = r2;
                                                                     |         goto label_80;
                                                                     |     }
                                                                     |     if (r0 > 0) {
                                                                     | label_80:
    0x0000ac3e bgt.w 0xaa60                                          |         goto label_5;
                                                                     |     }
    0x0000ac42 adds r0, 1                                            |     r0++;
    0x0000ac44 mov.w r1, 2                                           |     r1 = 2;
    0x0000ac48 str.w r1, [fp]                                        |     __asm ("str.w r1, [fp]");
    0x0000ac4a asrs r0, r0, 0x20                                     |     r0 >>= 0x20;
                                                                     |     if (r0 != 1) {
    0x0000ac4c bne.w 0xaa60                                          |         goto label_5;
                                                                     |     }
                                                                     | label_12:
    0x0000ac50 ldr.w r1, [fp]                                        |     r1 = *(fp);
    0x0000ac54 cmp r1, 1                                             |     
    0x0000ac56 itt ne                                                |     
                                                                     |     if (r1 == 1) {
    0x0000ac58 movne r1, 0xa                                         |         r1 = 0xa;
                                                                     |     }
                                                                     |     if (r1 != 1) {
    0x0000ac5a strne r1, [r2]                                        |         *(r2) = r1;
                                                                     |         goto label_81;
                                                                     |     }
                                                                     |     if (r1 != 1) {
                                                                     | label_81:
    0x0000ac5c bne.w 0xaa60                                          |         goto label_5;
                                                                     |     }
    0x0000ac60 b 0xad9e                                              |     goto label_82;
                                                                     | label_74:
    0x0000ac62 ldr.w r0, [pc, 0x788]                                 |     
    0x0000ac66 add r0, pc                                            |     r0 = 0x16058;
    0x0000ac68 bl 0x10948                                            |     r0 = fcn_00010948 (r0);
    0x0000ac6c cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000ac6e bne 0xab76                                            |         goto label_6;
                                                                     |     }
    0x0000ac70 ldr.w r0, [pc, 0x77c]                                 |     
    0x0000ac74 add r0, pc                                            |     r0 = 0x16068;
    0x0000ac76 bl 0x10948                                            |     r0 = fcn_00010948 (r0);
    0x0000ac7a mov r5, r0                                            |     r5 = r0;
    0x0000ac7c cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000ac7e bne.w 0xab76                                          |         goto label_6;
                                                                     |     }
    0x0000ac82 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000ac84 cmp r3, 1                                             |     
                                                                     |     if (r3 > 1) {
    0x0000ac86 bhi.w 0xaf8a                                          |         goto label_83;
                                                                     |     }
                                                                     | label_27:
    0x0000ac8a cmp.w sb, 0                                           |     
                                                                     |     if (sb != 0) {
    0x0000ac8e bne.w 0xb1b6                                          |         goto label_84;
                                                                     |     }
                                                                     | label_32:
    0x0000ac92 ldrb.w r1, [sl]                                       |     r1 = *(sl);
    0x0000ac96 cmp r1, 0                                             |     
                                                                     |     if (r1 == 0) {
    0x0000ac98 beq.w 0xb166                                          |         goto label_85;
                                                                     |     }
    0x0000ac9c ldr.w r3, [pc, 0x70c]                                 |     r3 = *(0xb3ac);
    0x0000aca0 ldr r3, [r4, r3]                                      |     r3 = *((r4 + r3));
    0x0000aca2 ldrb r1, [r3]                                         |     r1 = *(r3);
    0x0000aca4 cmp r1, 0                                             |     
                                                                     |     if (r1 == 0) {
    0x0000aca6 beq.w 0xb166                                          |         goto label_85;
                                                                     |     }
                                                                     | label_30:
    0x0000acaa movs r2, 0                                            |     r2 = 0;
    0x0000acac mov r0, r2                                            |     r0 = r2;
    0x0000acae bl 0x9554                                             |     r0 = fcn_00009554 (r0, r1, r2);
    0x0000acb2 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000acb4 bne.w 0xab76                                          |         goto label_6;
                                                                     |     }
                                                                     | label_29:
    0x0000acb8 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000acba cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000acbc bne.w 0xb1f4                                          |         goto label_86;
                                                                     |     }
                                                                     | label_33:
    0x0000acc0 ldr.w r0, [fp]                                        |     r0 = *(fp);
    0x0000acc4 cmp r0, 1                                             |     
                                                                     |     if (r0 == 1) {
    0x0000acc6 beq.w 0xb29e                                          |         goto label_87;
                                                                     |     }
                                                                     | label_36:
    0x0000acca ldrb.w r3, [sl]                                       |     r3 = *(sl);
                                                                     |     if (r3 == 0) {
    0x0000acce cbnz r3, 0xacde                                       |         
    0x0000acd0 ldr.w r3, [pc, 0x6d8]                                 |         r3 = *(0xb3ac);
    0x0000acd4 ldr r3, [r4, r3]                                      |         r3 = *((r4 + r3));
    0x0000acd6 ldrb r3, [r3]                                         |         r3 = *(r3);
    0x0000acd8 cmp r3, 0                                             |         
                                                                     |         if (r3 == 0) {
    0x0000acda beq.w 0xb2b0                                          |             goto label_88;
                                                                     |         }
                                                                     |     }
                                                                     | label_38:
    0x0000acde ldr r3, [r6]                                          |     r3 = *(r6);
                                                                     |     if (r3 == 0) {
    0x0000ace0 cbz r3, 0xacf8                                        |         goto label_89;
                                                                     |     }
    0x0000ace2 ldr.w r3, [fp]                                        |     r3 = *(fp);
    0x0000ace6 cmp r3, 1                                             |     
                                                                     |     if (r3 == 1) {
    0x0000ace8 beq 0xacf8                                            |         goto label_89;
                                                                     |     }
    0x0000acea ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000acee ldr r3, [r3, 0x60]                                    |     r3 = *((r3 + 0x60));
    0x0000acf0 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000acf2 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000acf4 bne.w 0xab76                                          |         goto label_6;
                                                                     |     }
                                                                     | label_89:
    0x0000acf8 ldr r3, [sp, 0x10]                                    |     r3 = var_10h;
    0x0000acfa cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000acfc bne.w 0xb292                                          |         goto label_90;
                                                                     |     }
    0x0000acfe strh r1, [r1, 0x16]                                   |     *((r1 + 0x16)) = r1;
                                                                     |     if (r7 != 0) {
    0x0000ad00 cbz r7, 0xad0e                                        |         
    0x0000ad02 ldr.w r0, [pc, 0x6f0]                                 |         
    0x0000ad06 mov r1, r7                                            |         r1 = r7;
    0x0000ad08 add r0, pc                                            |         r0 = 0x16102;
    0x0000ad0a bl 0x70c8                                             |         fcn_000070c8 (r0, r1, r2);
                                                                     |     }
    0x0000ad0e ldr.w r3, [pc, 0x69c]                                 |     r3 = *(0xb3ae);
    0x0000ad12 ldr r3, [r4, r3]                                      |     r3 = *((r4 + r3));
    0x0000ad14 ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000ad16 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000ad18 beq.w 0xab7c                                          |         goto label_4;
                                                                     |     }
    0x0000ad1c ldrb.w r0, [sl]                                       |     r0 = *(sl);
    0x0000ad20 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000ad22 bne.w 0xab7c                                          |         goto label_4;
                                                                     |     }
    0x0000ad26 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000ad28 bics r3, r3, 4                                        |     __asm ("bics r3, r3, 4");
                                                                     |     if (r0 == 0) {
    0x0000ad2c beq.w 0xab7c                                          |         goto label_4;
                                                                     |     }
    0x0000ad30 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000ad34 ldr r3, [r3, 0x28]                                    |     r3 = *((r3 + 0x28));
    0x0000ad36 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000ad38 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000ad3a beq.w 0xab7c                                          |         goto label_4;
                                                                     |     }
    0x0000ad3c add r7, sp, 0x7c                                      |     r7 = sp + 0x7c;
                                                                     | label_42:
    0x0000ad40 movs r7, 0                                            |     r7 = 0;
    0x0000ad42 b 0xa7f4                                              |     goto label_7;
                                                                     | label_44:
    0x0000ad44 movs r3, 3                                            |     r3 = 3;
    0x0000ad46 str r3, [r6]                                          |     *(r6) = r3;
    0x0000ad48 b 0xa86a                                              |     goto label_8;
                                                                     | label_58:
    0x0000ad4a ldr.w r8, [pc, 0x6ac]                                 |     
    0x0000ad4e add r8, pc                                            |     r8 = 0x1614c;
    0x0000ad50 b 0xa9f4                                              |     goto label_9;
                                                                     | label_48:
    0x0000ad52 mov r0, fp                                            |     r0 = fp;
    0x0000ad54 blx 0x2acc                                            |     strtoul (r0, r1, r2);
    0x0000ad58 str.w r8, [sp, 0x10]                                  |     __asm ("str.w r8, [var_10h]");
    0x0000ad5c b 0xaa0c                                              |     goto label_10;
                                                                     | label_56:
    0x0000ad5e cmp r7, 0                                             |     
                                                                     |     if (r7 == 0) {
    0x0000ad60 beq.w 0xb172                                          |         goto label_91;
                                                                     |     }
    0x0000ad64 ldr.w r8, [pc, 0x694]                                 |     
    0x0000ad68 add r8, pc                                            |     r8 = 0x16168;
    0x0000ad6a b 0xa9f4                                              |     goto label_9;
                                                                     | label_18:
    0x0000ad6c ldr.w r3, [pc, 0x5fc]                                 |     
    0x0000ad70 movs r0, 0x22                                         |     r0 = 0x22;
    0x0000ad72 ldr.w r8, [r4, r3]                                    |     r8 = *((r4 + r3));
    0x0000ad76 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000ad78 adds r0, 0                                            |     r0 += 0;
    0x0000ad7a ldr r3, [r3, 0xc]                                     |     r3 = *(0xb378);
    0x0000ad7c blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000ad7e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000ad80 beq.w 0xaa9c                                          |         goto label_11;
                                                                     |     }
    0x0000ad84 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000ad86 subs r3, 2                                            |     r3 -= 2;
    0x0000ad88 cmp r3, 1                                             |     
                                                                     |     if (r3 > 1) {
    0x0000ad8a bhi.w 0xaa9c                                          |         goto label_11;
                                                                     |     }
    0x0000ad8e b 0xae40                                              |     goto label_92;
                                                                     | label_79:
    0x0000ad90 adds r0, 1                                            |     r0++;
                                                                     |     if (r0 != 1) {
    0x0000ad92 bne.w 0xaa60                                          |         goto label_5;
                                                                     |     }
    0x0000ad96 subs r1, 1                                            |     r1--;
    0x0000ad98 cmp r1, 1                                             |     
                                                                     |     if (r1 > 1) {
    0x0000ad9a bhi.w 0xac50                                          |         goto label_12;
                                                                     |     }
                                                                     | label_82:
    0x0000ad9e movs r1, 0                                            |     r1 = 0;
    0x0000ada0 str r1, [r2]                                          |     *(r2) = r1;
    0x0000ada2 b 0xaa60                                              |     goto label_5;
                                                                     | label_46:
    0x0000ada4 movs r3, 0                                            |     r3 = 0;
    0x0000ada6 mov sb, r3                                            |     sb = r3;
    0x0000ada8 str r3, [sp, 0x10]                                    |     var_10h = r3;
    0x0000adaa b 0xa9e2                                              |     goto label_13;
                                                                     | label_54:
    0x0000adac ldr.w r1, [pc, 0x650]                                 |     
    0x0000adb0 movs r0, 5                                            |     r0 = 5;
    0x0000adb2 add r1, pc                                            |     r1 = 0x161b6;
    0x0000adb4 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000adb8 movs r3, 1                                            |     r3 = 1;
    0x0000adba str r3, [r6]                                          |     *(r6) = r3;
    0x0000adbc cmp.w sb, 0                                           |     
    0x0000adbe lsrs r0, r0, 0x1c                                     |     r0 >>= 0x1c;
                                                                     |     if (r0 != r0) {
    0x0000adc0 bne.w 0xa8f4                                          |         goto label_14;
                                                                     |     }
                                                                     | label_55:
    0x0000adc4 mov r7, sb                                            |     r7 = sb;
    0x0000adc6 b 0xa7fe                                              |     goto label_15;
                                                                     |     if (r3 == 0) {
                                                                     | label_53:
    0x0000adc8 cbz r3, 0xade6                                        |         goto label_93;
                                                                     |     }
    0x0000adca cmp r7, 0                                             |     
    0x0000adcc it ne                                                 |     
                                                                     |     if (r7 != 0) {
    0x0000adce cmpne r3, r7                                          |         __asm ("cmpne r3, r7");
                                                                     |     }
                                                                     |     if (r7 > 0) {
    0x0000add0 bhi 0xade6                                            |         goto label_93;
                                                                     |     }
    0x0000add2 cmp r3, 4                                             |     
                                                                     |     if (r3 == 4) {
    0x0000add4 beq.w 0xa8ec                                          |         goto label_16;
                                                                     |     }
    0x0000add6 add r5, sp, 0x228                                     |     r5 = sp + 0x228;
    0x0000add8 ldr.w r1, [pc, 0x628]                                 |     
    0x0000addc movs r0, 5                                            |     r0 = 5;
    0x0000adde add r1, pc                                            |     r1 = 0x161e6;
    0x0000ade0 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000ade4 b 0xa8ec                                              |     goto label_16;
                                                                     | label_93:
    0x0000ade6 str r7, [r6]                                          |     *(r6) = r7;
    0x0000ade8 b 0xa8ec                                              |     goto label_16;
                                                                     | label_63:
    0x0000adea ldr.w r0, [pc, 0x61c]                                 |     
    0x0000adee add.w r8, sp, 0x24                                    |     r8 += var_24h;
    0x0000adf2 mov r1, r8                                            |     r1 = r8;
    0x0000adf4 add r0, pc                                            |     r0 = 0x16202;
    0x0000adf6 blx 0x2be0                                            |     r0 = close (r0);
    0x0000adfa cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x0000adfc blt.w 0xb106                                          |         goto label_94;
                                                                     |     }
    0x0000ae00 ldr.w r2, [r8]                                        |     r2 = *(r8);
    0x0000ae04 ldr.w r3, [r8, 0x10]                                  |     r3 = var_10h_2;
    0x0000ae08 mul r2, r3, r2                                        |     r2 = r3 * r2;
    0x0000ae0c cmp.w r2, 0x4000                                      |     
                                                                     |     if (r2 <= 0x4000) {
    0x0000ae10 blo.w 0xb114                                          |         goto label_95;
                                                                     |     }
    0x0000ae14 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000ae16 b 0xaa1e                                              |     goto label_17;
                                                                     | label_69:
    0x0000ae18 cmp.w sb, 0                                           |     
                                                                     |     if (sb != 0) {
    0x0000ae1c bne 0xaf0c                                            |         goto label_96;
                                                                     |     }
                                                                     | label_24:
    0x0000ae1e cmp r5, 0                                             |     
                                                                     |     if (r5 != 0) {
    0x0000ae20 bne.w 0xb13c                                          |         goto label_97;
                                                                     |     }
                                                                     | label_28:
    0x0000ae24 ldr.w r3, [pc, 0x584]                                 |     r3 = *(0xb3ac);
    0x0000ae28 ldr r3, [r4, r3]                                      |     r3 = *((r4 + r3));
    0x0000ae2a ldrb r5, [r3]                                         |     r5 = *(r3);
    0x0000ae2c str r3, [sp, 0x18]                                    |     var_18h = r3;
    0x0000ae2e cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0000ae30 beq.w 0xb0fc                                          |         goto label_98;
                                                                     |     }
    0x0000ae34 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000ae36 mov.w sb, 0                                           |     sb = 0;
    0x0000ae3a mov r5, sb                                            |     r5 = sb;
    0x0000ae3c cmp r3, 1                                             |     
                                                                     |     if (r3 != 1) {
    0x0000ae3e bne 0xad6c                                            |         goto label_18;
                                                                     |     }
                                                                     | label_92:
    0x0000ae40 ldrb.w r0, [sl]                                       |     r0 = *(sl);
    0x0000ae44 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000ae46 bne.w 0xaf74                                          |         goto label_99;
                                                                     |     }
    0x0000ae4a ldr.w r3, [pc, 0x520]                                 |     
    0x0000ae4e ldr.w r8, [r4, r3]                                    |     r8 = *((r4 + r3));
    0x0000ae52 ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000ae56 ldr r3, [r3, 0x28]                                    |     r3 = *(0xb396);
    0x0000ae58 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t) (r3);
    0x0000ae5a cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000ae5c beq.w 0xaa9c                                          |         goto label_11;
                                                                     |     }
    0x0000ae60 b 0xab76                                              |     goto label_6;
                                                                     | label_68:
    0x0000ae62 ldr.w r1, [pc, 0x5a8]                                 |     
    0x0000ae66 movs r0, 4                                            |     r0 = 4;
    0x0000ae68 add r1, pc                                            |     r1 = 0x1627a;
    0x0000ae6a bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000ae6e b 0xaa7c                                              |     goto label_19;
                                                                     | label_52:
    0x0000ae70 ldr.w r3, [pc, 0x4f0]                                 |     r3 = *(0xb364);
    0x0000ae74 ldr r3, [r4, r3]                                      |     r3 = *((r4 + r3));
    0x0000ae76 ldrb r7, [r3]                                         |     r7 = *(r3);
    0x0000ae78 str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x0000ae7a cmp r7, 0                                             |     
                                                                     |     if (r7 != 0) {
    0x0000ae7c bne 0xaf3c                                            |         goto label_100;
                                                                     |     }
    0x0000ae7e ldrb.w r3, [sl]                                       |     r3 = *(sl);
    0x0000ae82 str r3, [sp, 0x10]                                    |     var_10h = r3;
                                                                     |     if (r3 != 0) {
    0x0000ae84 cbz r3, 0xae9a                                        |         
    0x0000ae86 ldr.w r3, [r8]                                        |         r3 = *(r8);
    0x0000ae8a movs r0, 0x22                                         |         r0 = 0x22;
    0x0000ae8c ldr r3, [r3, 0xc]                                     |         r3 = *((r3 + 0xc));
    0x0000ae8e blx r3                                                |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000ae90 str r0, [sp, 0x10]                                    |         var_10h = r0;
    0x0000ae92 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000ae94 beq.w 0xb172                                          |             goto label_91;
                                                                     |         }
    0x0000ae98 str r7, [sp, 0x10]                                    |         var_10h = r7;
                                                                     |     }
                                                                     | label_57:
    0x0000ae9a ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000ae9c cmp r3, 3                                             |     
                                                                     |     if (r3 == 3) {
    0x0000ae9e beq.w 0xb130                                          |         goto label_101;
                                                                     |     }
    0x0000aea2 ldr.w r7, [pc, 0x56c]                                 |     
    0x0000aea6 ldr.w r8, [pc, 0x56c]                                 |     
    0x0000aeaa add r7, pc                                            |     r7 = 0x162c0;
    0x0000aeac add r8, pc                                            |     r8 = 0x162c6;
    0x0000aeae b 0xa9f4                                              |     goto label_9;
                                                                     | label_70:
    0x0000aeb0 ldr r2, [sp, 0x18]                                    |     r2 = var_18h;
    0x0000aeb2 ldr r1, [r6]                                          |     r1 = *(r6);
    0x0000aeb4 ldrb r2, [r2]                                         |     r2 = *(r2);
    0x0000aeb6 cmp r2, 0                                             |     
                                                                     |     if (r2 != 0) {
    0x0000aeb8 bne.w 0xaac0                                          |         goto label_20;
                                                                     |     }
    0x0000aebc cmp r1, 1                                             |     
                                                                     |     if (r1 != 1) {
    0x0000aebe bne.w 0xaac2                                          |         goto label_21;
                                                                     |     }
    0x0000aec2 b 0xaac0                                              |     goto label_20;
                                                                     | label_45:
    0x0000aec4 ldr.w r1, [pc, 0x550]                                 |     
    0x0000aec8 mov r0, r7                                            |     r0 = r7;
    0x0000aeca add r1, pc                                            |     r1 = 0x162e6;
    0x0000aecc blx 0x2f70                                            |     r0 = vdprintf_chk ();
                                                                     |     if (r0 != 0) {
    0x0000aed0 cbz r0, 0xaee4                                        |         
    0x0000aed2 ldrb r3, [r7]                                         |         r3 = *(r7);
                                                                     |         if (r3 == 0) {
    0x0000aed4 cbz r3, 0xaee4                                        |             goto label_102;
                                                                     |         }
    0x0000aed6 ldr.w r1, [pc, 0x544]                                 |         
    0x0000aeda mov r2, r7                                            |         r2 = r7;
    0x0000aedc movs r0, 4                                            |         r0 = 4;
    0x0000aede add r1, pc                                            |         r1 = 0x16300;
    0x0000aee0 bl 0xfcdc                                             |         fcn_0000fcdc (r0);
                                                                     |     }
                                                                     | label_102:
    0x0000aee4 movs r3, 1                                            |     r3 = 1;
    0x0000aee6 movs r7, 0                                            |     r7 = 0;
    0x0000aee8 str r3, [r6]                                          |     *(r6) = r3;
    0x0000aeea b 0xa7f4                                              |     goto label_7;
                                                                     | label_61:
    0x0000aeec ldr.w r7, [pc, 0x530]                                 |     
    0x0000aef0 add r7, pc                                            |     r7 = "Downgrade is only allowed if factoryDefault=hard is set.";
    0x0000aef2 b 0xa9ae                                              |     goto label_22;
                                                                     | label_77:
    0x0000aef4 ldr.w r1, [pc, 0x52c]                                 |     
    0x0000aef8 movs r0, 4                                            |     r0 = 4;
    0x0000aefa ldr.w r7, [pc, 0x52c]                                 |     
    0x0000aefe add r1, pc                                            |     r1 = 0x16326;
    0x0000af00 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000af04 movs r3, 1                                            |     r3 = 1;
    0x0000af06 add r7, pc                                            |     r7 = 0x16334;
    0x0000af08 str r3, [r6]                                          |     *(r6) = r3;
    0x0000af0a b 0xaa6a                                              |     goto label_23;
                                                                     | label_96:
    0x0000af0c ldr.w r1, [pc, 0x51c]                                 |     
    0x0000af10 movs r0, 7                                            |     r0 = 7;
    0x0000af12 add r1, pc                                            |     r1 = 0x16342;
    0x0000af14 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000af16 mcr2 p8, 7, pc, c2, c15, 6                            |     __asm ("mcr2 p8, 7, pc, c2, c15, 6");
    0x0000af1a lsls r4, r2, 0x14                                     |     r4 = r2 << 0x14;
    0x0000af1c add r0, pc                                            |     r0 += pc;
    0x0000af1e blx 0x29a4                                            |     r0 = fcn_000029a4 ();
    0x0000af22 cmp r0, 0                                             |     
                                                                     |     if (r0 >= 0) {
    0x0000af24 bge.w 0xae1e                                          |         goto label_24;
                                                                     |     }
    0x0000af28 ldr.w r1, [pc, 0x508]                                 |     
    0x0000af2c movs r0, 2                                            |     r0 = 2;
    0x0000af2e add r1, pc                                            |     r1 = 0x16366;
    0x0000af30 bl 0xfcdc                                             |     r0 = fcn_0000fcdc (r0);
    0x0000af34 blx 0x2f88                                            |     r0 = cxa_finalize ();
    0x0000af38 ldr r5, [r0]                                          |     r5 = *(r0);
    0x0000af3a b 0xab7c                                              |     goto label_4;
                                                                     | label_100:
    0x0000af3c movs r7, 0                                            |     r7 = 0;
    0x0000af3e str r7, [sp, 0x10]                                    |     var_10h = r7;
    0x0000af40 b 0xa9e2                                              |     goto label_13;
                                                                     | label_51:
    0x0000af42 ldr.w r1, [pc, 0x4f4]                                 |     
    0x0000af46 movs r0, 4                                            |     r0 = 4;
    0x0000af48 add r1, pc                                            |     r1 = 0x16386;
    0x0000af4a bl 0xfcdc                                             |     r0 = fcn_0000fcdc (r0);
    0x0000af4e blx 0x2f88                                            |     r0 = cxa_finalize ();
    0x0000af52 ldr r3, [r0]                                          |     r3 = *(r0);
    0x0000af54 cmp r3, 0x3d                                          |     
    0x0000af56 it ne                                                 |     
                                                                     |     if (r3 != 0x3d) {
    0x0000af58 cmpne r3, 0x7e                                        |         __asm ("cmpne r3, 0x7e");
                                                                     |     }
                                                                     |     if (r3 == 0x3d) {
    0x0000af5a beq.w 0xb1e0                                          |         goto label_103;
                                                                     |     }
    0x0000af5e ldr.w r7, [pc, 0x4dc]                                 |     
    0x0000af62 add r7, pc                                            |     r7 = 0x163a4;
    0x0000af64 b 0xa9ae                                              |     goto label_22;
                                                                     | label_72:
    0x0000af66 ldr.w r1, [pc, 0x4d8]                                 |     
    0x0000af6a movs r0, 4                                            |     r0 = 4;
    0x0000af6c add r1, pc                                            |     r1 = 0x163b2;
    0x0000af6e bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000af72 b 0xab12                                              |     goto label_25;
                                                                     | label_99:
    0x0000af74 ldr.w r3, [pc, 0x430]                                 |     r3 = *(0xb3a8);
    0x0000af78 movs r0, 1                                            |     r0 = 1;
    0x0000af7a ldr r3, [r4, r3]                                      |     r3 = *((r4 + r3));
    0x0000af7c strb r0, [r3]                                         |     *(r3) = r0;
    0x0000af7e bl 0x9b00                                             |     r0 = fcn_00009b00 (r0);
    0x0000af82 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000af84 beq.w 0xaa94                                          |         goto label_26;
                                                                     |     }
    0x0000af86 add r5, sp, 0x218                                     |     r5 = sp + 0x218;
    0x0000af88 b 0xab76                                              |     goto label_6;
                                                                     | label_83:
    0x0000af8a ldr.w r1, [pc, 0x4b8]                                 |     
    0x0000af8e movs r0, 7                                            |     r0 = 7;
    0x0000af90 add r1, pc                                            |     r1 = 0x163da;
    0x0000af92 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000af96 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000af98 cmp r3, 4                                             |     
                                                                     |     if (r3 != 4) {
    0x0000af9a bne.w 0xb21e                                          |         goto label_104;
                                                                     |     }
    0x0000af9e ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000afa2 movw r2, 0x8001                                       |     r2 = 0x8001;
    0x0000afa6 ldr.w r1, [pc, 0x4a0]                                 |     
    0x0000afaa movs r0, 0x41                                         |     r0 = 0x41;
    0x0000afac ldr r3, [r3, 0x14]                                    |     r3 = *((r3 + 0x14));
    0x0000afae add r1, pc                                            |     r1 = 0x163fc;
    0x0000afb0 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000afb2 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000afb4 bne.w 0xb230                                          |         goto label_105;
                                                                     |     }
                                                                     | label_34:
    0x0000afb8 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000afba cmp r3, 4                                             |     
    0x0000afbc str r3, [sp, 0x18]                                    |     var_18h = r3;
                                                                     |     if (r3 == 4) {
    0x0000afbe bne 0xafd0                                            |         
    0x0000afc0 ldr.w r3, [r8]                                        |         r3 = *(r8);
    0x0000afc4 movs r0, 0x4b                                         |         r0 = 0x4b;
    0x0000afc6 ldr r3, [r3, 0xc]                                     |         r3 = *((r3 + 0xc));
    0x0000afc8 blx r3                                                |         r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000afca cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000afcc bne.w 0xb2c2                                          |             goto label_106;
                                                                     |         }
    0x0000afce strh r1, [r7, 0xa]                                    |         *((r7 + 0xa)) = r1;
                                                                     |     }
                                                                     | label_39:
    0x0000afd0 ldr.w r1, [pc, 0x478]                                 |     
    0x0000afd4 movs r0, 7                                            |     r0 = 7;
    0x0000afd6 add r1, pc                                            |     r1 = 0x16426;
    0x0000afd8 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000afdc ldr.w r0, [pc, 0x470]                                 |     
    0x0000afe0 add r0, pc                                            |     r0 = 0x16434;
    0x0000afe2 bl 0xa4c8                                             |     fcn_0000a4c8 (r0);
    0x0000afe6 ldr.w r0, [pc, 0x46c]                                 |     
    0x0000afea add r0, pc                                            |     r0 = 0x16444;
    0x0000afec bl 0xa4c8                                             |     fcn_0000a4c8 (r0);
    0x0000aff0 ldr.w r0, [pc, 0x464]                                 |     
    0x0000aff4 add r0, pc                                            |     r0 = 0x16450;
    0x0000aff6 bl 0xa4c8                                             |     fcn_0000a4c8 (r0);
    0x0000affa ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000affe movs r0, 0x4b                                         |     r0 = 0x4b;
    0x0000b000 ldr r3, [r3, 0xc]                                     |     r3 = *((r3 + 0xc));
    0x0000b002 blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                                     |     if (r0 == 0) {
    0x0000b004 cbnz r0, 0xb01a                                       |         
    0x0000b006 ldr.w r0, [pc, 0x454]                                 |         
    0x0000b00a add r0, pc                                            |         r0 = 0x1646c;
    0x0000b00c bl 0xa4c8                                             |         fcn_0000a4c8 (r0);
    0x0000b010 ldr.w r0, [pc, 0x44c]                                 |         
    0x0000b014 add r0, pc                                            |         r0 = 0x16478;
    0x0000b016 bl 0xa4c8                                             |         fcn_0000a4c8 (r0);
                                                                     |     }
    0x0000b01a ldr.w r1, [pc, 0x448]                                 |     
    0x0000b01e movs r0, 7                                            |     r0 = 7;
    0x0000b020 add r1, pc                                            |     r1 = 0x1648a;
    0x0000b022 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b026 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000b028 cmp r3, 4                                             |     
                                                                     |     if (r3 == 4) {
    0x0000b02a beq.w 0xb2aa                                          |         goto label_107;
                                                                     |     }
    0x0000b02e cmp r3, 3                                             |     
                                                                     |     if (r3 == 3) {
    0x0000b030 beq.w 0xb2b6                                          |         goto label_108;
                                                                     |     }
    0x0000b034 cmp r3, 2                                             |     
                                                                     |     if (r3 != 2) {
    0x0000b036 bne.w 0xb2bc                                          |         goto label_109;
                                                                     |     }
    0x0000b03a ldr.w r3, [pc, 0x42c]                                 |     
    0x0000b03e add r3, pc                                            |     r3 = 0x164ac;
                                                                     | label_37:
    0x0000b040 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000b042 mov.w r2, 0x100                                       |     r2 = 0x100;
    0x0000b046 ldr.w r3, [pc, 0x424]                                 |     
    0x0000b04a movs r1, 1                                            |     r1 = 1;
    0x0000b04c add r0, sp, 0x16c                                     |     r0 += s1;
    0x0000b04e str r0, [sp, 0x18]                                    |     var_18h = r0;
    0x0000b050 add r3, pc                                            |     r3 = 0x164c2;
    0x0000b052 str r3, [sp, 0x1c]                                    |     var_1ch = r3;
    0x0000b054 str r3, [sp, 8]                                       |     var_8h = r3;
    0x0000b056 ldr.w r3, [pc, 0x418]                                 |     
    0x0000b05a add r3, pc                                            |     r3 = 0x164d0;
    0x0000b05c str r3, [sp, 0xc]                                     |     var_ch = r3;
    0x0000b05e ldr.w r3, [pc, 0x414]                                 |     
    0x0000b062 add r3, pc                                            |     r3 = 0x164dc;
    0x0000b064 str r3, [sp]                                          |     *(sp) = r3;
    0x0000b066 ldr.w r3, [pc, 0x410]                                 |     
    0x0000b06a add r3, pc                                            |     r3 = 0x164e8;
    0x0000b06c blx 0x2e80                                            |     strncmp (r0, r1, r2);
    0x0000b070 ldr r0, [sp, 0x18]                                    |     r0 = var_18h;
    0x0000b072 blx 0x28d8                                            |     fcn_000028d8 ();
    0x0000b076 ldr.w r1, [pc, 0x404]                                 |     
    0x0000b07a str r0, [sp, 0x18]                                    |     var_18h = r0;
    0x0000b07c movs r0, 7                                            |     r0 = 7;
    0x0000b07e add r1, pc                                            |     r1 = 0x16500;
    0x0000b080 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b084 ldr r0, [pc, 0x3f8]                                   |     
    0x0000b086 add r0, pc                                            |     r0 = 0x1650a;
    0x0000b088 blx 0x29a4                                            |     fcn_000029a4 ();
    0x0000b08c ldr r0, [pc, 0x3f4]                                   |     
    0x0000b08e add r0, pc                                            |     r0 = 0x16516;
    0x0000b090 blx 0x29a4                                            |     fcn_000029a4 ();
    0x0000b094 ldr r0, [pc, 0x3f0]                                   |     
    0x0000b096 add r0, pc                                            |     r0 = 0x16522;
    0x0000b098 blx 0x29a4                                            |     fcn_000029a4 ();
    0x0000b09c ldr r0, [pc, 0x3ec]                                   |     
    0x0000b09e add r0, pc                                            |     
    0x0000b0a0 blx 0x29a4                                            |     r0 = fcn_000029a4 ();
    0x0000b0a2 stc p8, c4, [r0], {0xfa}                              |     __asm ("stc p8, c4, [r0], {0xfa}");
    0x0000b0a6 add r0, pc                                            |     r0 = 0x215d8;
    0x0000b0a8 blx 0x29a4                                            |     fcn_000029a4 ();
    0x0000b0ac ldr.w r2, [r8]                                        |     r2 = *(r8);
    0x0000b0b0 movs r0, 0x41                                         |     r0 = 0x41;
    0x0000b0b2 ldr r1, [sp, 0x1c]                                    |     r1 = var_1ch;
    0x0000b0b4 ldr r2, [r2, 0x18]                                    |     r2 = *((r2 + 0x18));
    0x0000b0b6 blx r2                                                |     r0 = uint32_t (*r2)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
    0x0000b0b8 cmp r0, 0                                             |     
    0x0000b0ba ldr r3, [sp, 0x18]                                    |     r3 = var_18h;
                                                                     |     if (r0 < 0) {
    0x0000b0bc blt.w 0xb318                                          |         goto label_110;
                                                                     |     }
                                                                     | label_35:
    0x0000b0c0 ubfx r2, r3, 8, 8                                     |     r2 = (r3 >> 8) & ((1 << 8) - 1);
    0x0000b0c4 lsls r3, r3, 0x19                                     |     r3 <<= 0x19;
                                                                     |     if (r3 != r3) {
    0x0000b0c6 bne 0xb0d4                                            |         goto label_111;
                                                                     |     }
    0x0000b0c8 cmp r2, 0x7f                                          |     
                                                                     |     if (r2 == 0x7f) {
    0x0000b0ca beq.w 0xb306                                          |         goto label_112;
                                                                     |     }
    0x0000b0ce cmp r2, 0                                             |     
                                                                     |     if (r2 == 0) {
    0x0000b0d0 beq.w 0xac8a                                          |         goto label_27;
                                                                     |     }
                                                                     | label_111:
    0x0000b0d4 ldr r1, [pc, 0x3bc]                                   |     
    0x0000b0d6 movs r0, 2                                            |     r0 = 2;
    0x0000b0d8 add r1, pc                                            |     r1 = 0x16570;
    0x0000b0da bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b0de ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000b0e0 cmp r3, 4                                             |     
                                                                     |     if (r3 != 4) {
    0x0000b0e2 bne.w 0xac8a                                          |         goto label_27;
                                                                     |     }
    0x0000b0e6 ldr.w r3, [fp]                                        |     r3 = *(fp);
    0x0000b0ea cmp r3, 1                                             |     
                                                                     |     if (r3 == 1) {
    0x0000b0ec beq.w 0xac8a                                          |         goto label_27;
                                                                     |     }
    0x0000b0f0 blx 0x2f88                                            |     cxa_finalize ();
    0x0000b0f4 movs r3, 0x34                                         |     r3 = 0x34;
    0x0000b0f6 mov r5, r3                                            |     r5 = r3;
    0x0000b0f8 str r3, [r0]                                          |     *(r0) = r3;
    0x0000b0fa b 0xab7c                                              |     goto label_4;
                                                                     | label_98:
    0x0000b0fc ldr r3, [pc, 0x26c]                                   |     r3 = *(0xb36c);
    0x0000b0fe mov sb, r5                                            |     sb = r5;
    0x0000b100 ldr.w r8, [r4, r3]                                    |     r8 = *((r4 + r3));
    0x0000b104 b 0xaa9c                                              |     goto label_11;
                                                                     | label_94:
    0x0000b106 ldr r1, [pc, 0x390]                                   |     
    0x0000b108 movs r0, 4                                            |     r0 = 4;
    0x0000b10a add r1, pc                                            |     r1 = 0x165a8;
    0x0000b10c bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b110 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000b112 b 0xaa1e                                              |     goto label_17;
                                                                     | label_95:
    0x0000b114 ldr r1, [pc, 0x384]                                   |     
    0x0000b116 lsrs r2, r2, 0xa                                      |     r2 >>= 0xa;
    0x0000b118 ldr r7, [pc, 0x384]                                   |     
    0x0000b11a movs r0, 3                                            |     r0 = 3;
    0x0000b11c add r1, pc                                            |     r1 = 0x165bc;
    0x0000b11e bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b122 movs r3, 3                                            |     r3 = 3;
    0x0000b124 add r7, pc                                            |     r7 = "Invalid value for autoCommit";
    0x0000b126 str r3, [r6]                                          |     *(r6) = r3;
    0x0000b128 b 0xaa1e                                              |     goto label_17;
                                                                     | label_49:
    0x0000b12a mov r8, r1                                            |     r8 = r1;
    0x0000b12c str r3, [sp, 0x10]                                    |     var_10h = r3;
    0x0000b12e b 0xa9f4                                              |     goto label_9;
                                                                     | label_101:
    0x0000b130 ldr r7, [pc, 0x370]                                   |     
    0x0000b132 ldr.w r8, [pc, 0x374]                                 |     
    0x0000b136 add r7, pc                                            |     r7 = 0x165de;
    0x0000b138 add r8, pc                                            |     r8 = 0x165e6;
    0x0000b13a b 0xa9f4                                              |     goto label_9;
                                                                     | label_97:
    0x0000b13c ldr r1, [pc, 0x36c]                                   |     
    0x0000b13e movs r0, 7                                            |     r0 = 7;
    0x0000b140 add r1, pc                                            |     r1 = 0x165f0;
    0x0000b142 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b146 ldr r0, [pc, 0x368]                                   |     
    0x0000b148 add r0, pc                                            |     r0 = 0x165fe;
    0x0000b14a blx 0x29a4                                            |     r0 = fcn_000029a4 ();
    0x0000b14e cmp r0, 0                                             |     
                                                                     |     if (r0 >= 0) {
    0x0000b150 bge.w 0xae24                                          |         goto label_28;
                                                                     |     }
    0x0000b154 ldr r1, [pc, 0x35c]                                   |     
    0x0000b156 movs r0, 2                                            |     r0 = 2;
    0x0000b158 add r1, pc                                            |     r1 = 0x16610;
    0x0000b15a bl 0xfcdc                                             |     r0 = fcn_0000fcdc (r0);
    0x0000b15e blx 0x2f88                                            |     r0 = cxa_finalize ();
    0x0000b162 ldr r5, [r0]                                          |     r5 = *(r0);
    0x0000b164 b 0xab7c                                              |     goto label_4;
                                                                     | label_85:
    0x0000b166 ldr r3, [sp, 0x14]                                    |     r3 = var_14h;
    0x0000b168 ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000b16a cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000b16c beq.w 0xacb8                                          |         goto label_29;
                                                                     |     }
    0x0000b170 b 0xacaa                                              |     goto label_30;
                                                                     | label_91:
    0x0000b172 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000b174 cmp r3, 4                                             |     
                                                                     |     if (r3 == 4) {
    0x0000b176 beq 0xb212                                            |         goto label_113;
                                                                     |     }
    0x0000b178 cmp r3, 3                                             |     
                                                                     |     if (r3 == 3) {
    0x0000b17a beq.w 0xb284                                          |         goto label_114;
                                                                     |     }
    0x0000b17e ldr r7, [pc, 0x338]                                   |     
    0x0000b180 ldr.w r8, [pc, 0x338]                                 |     
    0x0000b184 add r7, pc                                            |     r7 = 0x16642;
    0x0000b186 add r8, pc                                            |     r8 = 0x16646;
    0x0000b188 b 0xa9f4                                              |     goto label_9;
                                                                     | label_60:
    0x0000b18a ldr r1, [pc, 0x334]                                   |     
    0x0000b18c movs r0, 4                                            |     r0 = 4;
    0x0000b18e movs r5, 0                                            |     r5 = 0;
    0x0000b190 add r1, pc                                            |     r1 = 0x16656;
    0x0000b192 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b194 stc2 p4, c14, [r3, 0x3c4]!                            |     __asm ("stc2 p4, c14, [r3, 0x3c4]!");
                                                                     | label_76:
    0x0000b198 ldr r1, [pc, 0x328]                                   |     
    0x0000b19a movs r0, 2                                            |     r0 = 2;
    0x0000b19c add r1, pc                                            |     r1 = 0x16664;
    0x0000b19e bl 0xfcdc                                             |     r0 = fcn_0000fcdc (r0);
    0x0000b1a2 blx 0x2f88                                            |     r0 = cxa_finalize ();
    0x0000b1a6 ldr r5, [r0]                                          |     r5 = *(r0);
    0x0000b1a8 b 0xab7c                                              |     goto label_4;
                                                                     | label_71:
    0x0000b1aa ldr r1, [pc, 0x31c]                                   |     
    0x0000b1ac movs r0, 4                                            |     r0 = 4;
    0x0000b1ae add r1, pc                                            |     r1 = 0x1667c;
    0x0000b1b0 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b1b4 b 0xab56                                              |     goto label_31;
                                                                     | label_84:
    0x0000b1b6 ldr r1, [pc, 0x314]                                   |     
    0x0000b1b8 movs r0, 7                                            |     r0 = 7;
    0x0000b1ba add r1, pc                                            |     r1 = "Invalid value for FactoryDefaultMode.";
    0x0000b1bc bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b1c0 ldr r0, [pc, 0x30c]                                   |     
    0x0000b1c2 add r0, pc                                            |     r0 = 0x16696;
    0x0000b1c4 blx 0x29a4                                            |     r0 = fcn_000029a4 ();
    0x0000b1c8 cmp r0, 0                                             |     
                                                                     |     if (r0 >= 0) {
    0x0000b1ca bge.w 0xac92                                          |         goto label_32;
                                                                     |     }
    0x0000b1ce ldr r1, [pc, 0x304]                                   |     
    0x0000b1d0 movs r0, 2                                            |     r0 = 2;
    0x0000b1d2 add r1, pc                                            |     r1 = 0x166ac;
    0x0000b1d4 bl 0xfcdc                                             |     r0 = fcn_0000fcdc (r0);
    0x0000b1d8 blx 0x2f88                                            |     r0 = cxa_finalize ();
    0x0000b1dc ldr r5, [r0]                                          |     r5 = *(r0);
    0x0000b1de b 0xab7c                                              |     goto label_4;
                                                                     | label_103:
    0x0000b1e0 ldr r7, [pc, 0x2f4]                                   |     
    0x0000b1e2 add r7, pc                                            |     r7 = 0x166be;
    0x0000b1e4 b.w 0xa9ae                                            |     goto label_22;
                                                                     | label_73:
    0x0000b1e8 ldr r1, [pc, 0x2f0]                                   |     
    0x0000b1ea movs r0, 4                                            |     r0 = 4;
    0x0000b1ec add r1, pc                                            |     r1 = 0x166cc;
    0x0000b1ee bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b1f2 b 0xab12                                              |     goto label_25;
                                                                     | label_86:
    0x0000b1f4 ldr r0, [pc, 0x2e8]                                   |     
    0x0000b1f6 add r0, pc                                            |     r0 = 0x166da;
    0x0000b1f8 bl 0x102dc                                            |     r0 = fcn_000102dc (r0);
    0x0000b1fc cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000b1fe bne.w 0xab76                                          |         goto label_6;
                                                                     |     }
    0x0000b202 ldr r0, [pc, 0x2e0]                                   |     
    0x0000b204 add r0, pc                                            |     r0 = 0x166ee;
    0x0000b206 bl 0x102dc                                            |     r0 = fcn_000102dc (r0);
    0x0000b20a cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000b20c beq.w 0xacc0                                          |         goto label_33;
                                                                     |     }
    0x0000b210 b 0xab76                                              |     goto label_6;
                                                                     | label_113:
    0x0000b212 ldr.w r8, [pc, 0x2d4]                                 |     
    0x0000b216 movs r7, 0                                            |     r7 = 0;
    0x0000b218 add r8, pc                                            |     r8 = 0x16706;
    0x0000b21a b.w 0xa9f4                                            |     goto label_9;
                                                                     | label_104:
    0x0000b21e ldr r1, [pc, 0x2cc]                                   |     
    0x0000b220 ldr r0, [pc, 0x2cc]                                   |     
    0x0000b222 add r1, pc                                            |     r1 = 0x16714;
    0x0000b224 add r0, pc                                            |     r0 = 0x16718;
    0x0000b226 bl 0xa324                                             |     r0 = fcn_0000a324 (r0, r1);
    0x0000b22a cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000b22c beq.w 0xafb8                                          |         goto label_34;
                                                                     |     }
                                                                     | label_105:
    0x0000b230 ldr r1, [pc, 0x2c0]                                   |     
    0x0000b232 movs r0, 4                                            |     r0 = 4;
    0x0000b234 add r1, pc                                            |     r1 = 0x1672c;
    0x0000b236 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b23a ldr r1, [pc, 0x2bc]                                   |     
    0x0000b23c movs r0, 7                                            |     r0 = 7;
    0x0000b23e add r1, pc                                            |     r1 = 0x1673c;
    0x0000b240 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b244 ldr r3, [r6]                                          |     r3 = *(r6);
    0x0000b246 cmp r3, 4                                             |     
                                                                     |     if (r3 == 4) {
    0x0000b248 beq 0xb300                                            |         goto label_115;
                                                                     |     }
    0x0000b24a cmp r3, 3                                             |     
                                                                     |     if (r3 == 3) {
    0x0000b24c beq 0xb312                                            |         goto label_116;
                                                                     |     }
    0x0000b24e cmp r3, 2                                             |     
                                                                     |     if (r3 == 2) {
    0x0000b250 beq.w 0xb568                                          |         goto label_117;
                                                                     |     }
    0x0000b254 ldr r3, [pc, 0x2a4]                                   |     
    0x0000b256 add r3, pc                                            |     r3 = 0x16756;
                                                                     | label_40:
    0x0000b258 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000b25a mov.w r2, 0x100                                       |     r2 = 0x100;
    0x0000b25e ldr r3, [pc, 0x2a0]                                   |     
    0x0000b260 movs r1, 1                                            |     r1 = 1;
    0x0000b262 add r0, sp, 0x16c                                     |     r0 += s1;
    0x0000b264 str r0, [sp, 0x18]                                    |     var_18h = r0;
    0x0000b266 add r3, pc                                            |     r3 = 0x1676c;
    0x0000b268 strd r3, r3, [sp, 8]                                  |     __asm ("strd r3, r3, [var_8h]");
    0x0000b26c ldr r3, [pc, 0x294]                                   |     
    0x0000b26e add r3, pc                                            |     r3 = 0x16776;
    0x0000b270 str r3, [sp]                                          |     *(sp) = r3;
    0x0000b272 ldr r3, [pc, 0x294]                                   |     
    0x0000b274 add r3, pc                                            |     r3 = 0x16782;
    0x0000b276 blx 0x2e80                                            |     strncmp (r0, r1, r2);
    0x0000b27a ldr r0, [sp, 0x18]                                    |     r0 = var_18h;
    0x0000b27c blx 0x28d8                                            |     r0 = fcn_000028d8 ();
    0x0000b280 mov r3, r0                                            |     r3 = r0;
    0x0000b282 b 0xb0c0                                              |     goto label_35;
                                                                     | label_114:
    0x0000b284 ldr r7, [pc, 0x284]                                   |     
    0x0000b286 ldr.w r8, [pc, 0x288]                                 |     
    0x0000b28a add r7, pc                                            |     r7 = 0x1679a;
    0x0000b28c add r8, pc                                            |     r8 = 0x167a2;
    0x0000b28e b.w 0xa9f4                                            |     goto label_9;
                                                                     | label_90:
    0x0000b292 ldr r0, [pc, 0x280]                                   |     
    0x0000b294 movs r1, 0                                            |     r1 = 0;
    0x0000b296 add r0, pc                                            |     r0 = 0x167b0;
    0x0000b298 bl 0x70c8                                             |     fcn_000070c8 (r0, r1, r2);
    0x0000b29a vqrshl.u16 d14, d23, d6                               |     __asm ("vqrshl.u16 d14, d23, d6");
                                                                     | label_87:
    0x0000b29e bl 0x9b00                                             |     r0 = fcn_00009b00 (r0);
    0x0000b2a2 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000b2a4 beq.w 0xacca                                          |         goto label_36;
                                                                     |     }
    0x0000b2a8 b 0xab76                                              |     goto label_6;
                                                                     | label_107:
    0x0000b2aa ldr r3, [pc, 0x26c]                                   |     
    0x0000b2ac add r3, pc                                            |     r3 = 0x167ca;
    0x0000b2ae b 0xb040                                              |     goto label_37;
                                                                     | label_88:
    0x0000b2b0 bl 0x3d2c                                             |     fcn_00003d2c ();
    0x0000b2b4 b 0xacde                                              |     goto label_38;
                                                                     | label_108:
    0x0000b2b6 ldr r3, [pc, 0x264]                                   |     
    0x0000b2b8 add r3, pc                                            |     r3 = 0x167da;
    0x0000b2ba b 0xb040                                              |     goto label_37;
                                                                     | label_109:
    0x0000b2bc ldr r3, [pc, 0x260]                                   |     
    0x0000b2be add r3, pc                                            |     r3 = 0x167e2;
    0x0000b2c0 b 0xb040                                              |     goto label_37;
                                                                     | label_106:
    0x0000b2c2 ldr r1, [pc, 0x260]                                   |     
    0x0000b2c4 movs r0, 7                                            |     r0 = 7;
    0x0000b2c6 add r1, pc                                            |     r1 = 0x167f0;
    0x0000b2c8 bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b2cc ldr.w r3, [r8]                                        |     r3 = *(r8);
    0x0000b2d0 movs r2, 1                                            |     r2 = 1;
    0x0000b2d2 ldr r1, [pc, 0x254]                                   |     
    0x0000b2d4 movs r0, 0x4b                                         |     r0 = 0x4b;
    0x0000b2d6 ldr r3, [r3, 0x14]                                    |     r3 = *((r3 + 0x14));
    0x0000b2d8 add r1, pc                                            |     r1 = 0x16806;
    0x0000b2da blx r3                                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000b2dc cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000b2de bne.w 0xb548                                          |         goto label_118;
                                                                     |     }
    0x0000b2e2 ldr r1, [pc, 0x248]                                   |     
    0x0000b2e4 ldr r0, [pc, 0x248]                                   |     
    0x0000b2e6 add r1, pc                                            |     r1 = 0x16818;
    0x0000b2e8 add r0, pc                                            |     r0 = 0x1681c;
    0x0000b2ea bl 0xa324                                             |     r0 = fcn_0000a324 (r0, r1);
    0x0000b2ee cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000b2f0 beq.w 0xafd0                                          |         goto label_39;
                                                                     |     }
    0x0000b2f4 ldr r1, [pc, 0x23c]                                   |     
    0x0000b2f6 ldr r0, [sp, 0x18]                                    |     r0 = var_18h;
    0x0000b2f8 add r1, pc                                            |     r1 = 0x16830;
    0x0000b2fa bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b2fe b 0xafd0                                              |     goto label_39;
                                                                     | label_115:
    0x0000b300 ldr r3, [pc, 0x234]                                   |     
    0x0000b302 add r3, pc                                            |     r3 = 0x1683e;
    0x0000b304 b 0xb258                                              |     goto label_40;
                                                                     | label_112:
    0x0000b306 ldr r1, [pc, 0x234]                                   |     
    0x0000b308 movs r0, 5                                            |     r0 = 5;
    0x0000b30a add r1, pc                                            |     r1 = 0x1684c;
    0x0000b30c bl 0xfcdc                                             |     fcn_0000fcdc (r0);
    0x0000b310 b 0xac8a                                              |     goto label_27;
                                                                     | label_116:
    0x0000b312 ldr r3, [pc, 0x22c]                                   |     
    0x0000b314 add r3, pc                                            |     r3 = 0x1685a;
    0x0000b316 b 0xb258                                              |     goto label_40;
                                                                     | label_110:
    0x0000b318 ldr r1, [pc, 0x228]                                   |     
    0x0000b31a movs r0, 2                                            |     r0 = 2;
    0x0000b31c add r1, pc                                            |     r1 = 0x16864;
    0x0000b31e bl 0xfcdc                                             |     r0 = fcn_0000fcdc (r0);
    0x0000b322 blx 0x2f88                                            |     r0 = cxa_finalize ();
    0x0000b326 ldr r5, [r0]                                          |     r5 = *(r0);
    0x0000b328 b 0xab7c                                              |     goto label_4;
                                                                     | label_118:
    0x0000b548 ldr r1, [pc, 0x24]                                    |     
    0x0000b54a movs r0, 2                                            |     r0 = 2;
    0x0000b54c add r1, pc                                            |     r1 = "Name";
    0x0000b54e bl 0xfcdc                                             |     r0 = fcn_0000fcdc (r0);
    0x0000b552 blx 0x2f88                                            |     r0 = cxa_finalize ();
    0x0000b556 ldr r5, [r0]                                          |     r5 = *(r0);
    0x0000b558 b.w 0xab7c                                            |     goto label_4;
                                                                     | label_75:
    0x0000b55c blx 0x2cdc                                            |     fprintf_chk ();
                                                                     | label_78:
    0x0000b560 mov sb, r5                                            |     sb = r5;
    0x0000b562 mov r5, r0                                            |     r5 = r0;
    0x0000b564 b.w 0xaa6c                                            |     goto label_3;
                                                                     | label_117:
    0x0000b568 ldr r3, [pc, 8]                                       |     
    0x0000b56a add r3, pc                                            |     r3 = 0x16ae2;
    0x0000b56c b 0xb258                                              |     goto label_40;
                                                                     | }

[*] Function mmap used 1 times fwmgr