[*] 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