[*] Binary protection state of fwmgr
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function popen tear down of fwmgr
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/fwmgr @ 0xa7d4 */
| #include <stdint.h>
|
; (fcn) fcn.0000a7d4 () | void fcn_0000a7d4 (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_20h;
| int16_t var_24h;
| int16_t var_28h;
| int16_t var_84h;
| int32_t var_10h_2;
| int16_t var_cch;
| int16_t var_1cch;
| int16_t var_2cch;
| int16_t var_2d4h;
0x0000a7d4 blhs 0xfe648b58 | __asm ("blhs aav.0x00019428");
0x0000a7d8 ldr.w r3, [pc, 0xb98] |
0x0000a7dc push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x0000a7e0 sub.w sp, sp, 0x2d4 |
0x0000a7e4 add r2, pc | r2 += pc;
0x0000a7e6 ldr.w r4, [pc, 0xb90] |
0x0000a7ea ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0000a7ec add r4, pc | r4 = 0x15b6a;
0x0000a7ee ldr r3, [r3] | r3 = *(0xb374);
0x0000a7f0 str r3, [sp, 0x2cc] | var_2cch = r3;
0x0000a7f2 mov.w r3, 0 | r3 = 0;
0x0000a7f6 bl 0xa39c | r0 = fcn_0000a39c (r0);
0x0000a7fa cmp r0, 0 |
| if (r0 == 0) {
0x0000a7fc beq.w 0xa982 | goto label_50;
| }
0x0000a800 ldr.w r3, [pc, 0xb78] | r3 = *(0xb37c);
0x0000a804 ldr r6, [r4, r3] | r6 = *((r4 + r3));
0x0000a806 ldr r2, [r6] | r2 = *(r6);
0x0000a808 cmp r2, 0 |
0x0000a80a bne.w 0xa936 |
| while (r3 == r3) {
| label_0:
0x0000a80e ldr.w r1, [pc, 0xb70] |
0x0000a812 movs r0, 5 | r0 = 5;
0x0000a814 ldr.w r8, [pc, 0xb6c] |
0x0000a816 ldrh r4, [r5, 0x1a] | r4 = *((r5 + 0x1a));
0x0000a818 add r1, pc | r1 = 0x15b9e;
0x0000a81a bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000a81e ldr.w r3, [pc, 0xb68] | r3 = *(0xb38a);
0x0000a822 add r8, pc | r8 = 0x15baa;
0x0000a824 movs r2, 1 | r2 = 1;
0x0000a826 ldr r5, [r4, r3] | r5 = *((r4 + r3));
0x0000a828 str r2, [r5] | *(r5) = r2;
| label_2:
0x0000a82a ldr.w r1, [pc, 0xb60] |
0x0000a82e movs r6, 0 | r6 = 0;
0x0000a830 mov r3, r6 | r3 = r6;
0x0000a832 movs r2, 1 | r2 = 1;
0x0000a834 movs r0, 7 | r0 = 7;
0x0000a836 strd r6, r6, [sp, 4] | __asm ("strd r6, r6, [var_4h]");
0x0000a83a add r1, pc | r1 = 0x15bcc;
0x0000a83c str r6, [sp] | *(sp) = r6;
0x0000a83e bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000a842 ldr.w sl, [r5] | sl = *(r5);
0x0000a844 adr r0, 0 | r0 = 0;
0x0000a846 str r6, [sp, 0x24] | var_24h = r6;
0x0000a848 cmp.w sl, 1 |
| if (sl == 1) {
0x0000a84c beq.w 0xb842 | goto label_51;
| }
0x0000a850 ldr.w r0, [pc, 0xb3c] |
0x0000a854 ldr.w r3, [pc, 0xb3c] | r3 = *(0xb394);
0x0000a858 add r0, pc | r0 = 0x15bec;
0x0000a85a ldr.w sb, [r4, r3] | sb = *((r4 + r3));
0x0000a85c str r0, [sp, 0xc] | *((sp + 0xc)) = r0;
0x0000a85e str r6, [sp, 0x10] | var_10h = r6;
| label_3:
0x0000a860 bl 0x8db8 | r0 = fcn_00008db8 (r0);
0x0000a864 cmp r0, 0 |
| if (r0 == 0) {
0x0000a866 beq.w 0xab68 | goto label_52;
| }
0x0000a86a ldr.w sl, [r5] | sl = *(r5);
0x0000a86e cmp.w sl, 4 |
| if (sl == 4) {
0x0000a872 beq.w 0xb0f2 | goto label_53;
| }
| label_9:
0x0000a876 ldr.w r3, [pc, 0xb20] | r3 = *(0xb39a);
0x0000a87a ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000a87c ldrb r1, [r3] | r1 = *(r3);
0x0000a87e str r3, [sp, 0x20] | var_20h = r3;
0x0000a880 ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000a882 cmp r3, 0 |
| if (r3 != 0) {
0x0000a884 bne.w 0xab94 | goto label_54;
| }
0x0000a888 cmp.w sl, 1 |
| if (sl < 1) {
0x0000a88c bls.w 0xb798 | goto label_55;
| }
| label_18:
0x0000a890 ldr.w r3, [pc, 0xb08] | r3 = *(0xb39c);
0x0000a894 ldr r2, [sp, 0x20] | r2 = var_20h;
0x0000a896 ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000a898 ldrb r1, [r2] | r1 = *(r2);
0x0000a89a ldrb r3, [r3] | r3 = *(r3);
0x0000a89c cmp r3, 0 |
| if (r3 != 0) {
0x0000a89e bne.w 0xaeea | goto label_56;
| }
| label_13:
0x0000a8a2 ldr.w r3, [pc, 0xafc] | r3 = *(0xb3a2);
0x0000a8a6 ldr.w sl, [r5] | sl = *(r5);
0x0000a8aa ldr.w fp, [r4, r3] | fp = *((r4 + r3));
0x0000a8ac add sp, 0xc |
0x0000a8ae ldrb.w r3, [fp] | r3 = *(fp);
| label_4:
0x0000a8b2 ldr.w r0, [pc, 0xaf0] | r0 = *(0xb3a6);
0x0000a8b6 mov r2, sl | r2 = sl;
0x0000a8b8 ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000a8ba str r1, [sp, 0xc] | var_ch = r1;
0x0000a8bc ldr.w r1, [pc, 0xae8] | r1 = *(0xb3a8);
0x0000a8c0 str r0, [sp, 0x14] | var_14h = r0;
0x0000a8c2 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000a8c4 str r3, [sp, 4] | var_4h = r3;
0x0000a8c6 ldr r3, [r0] | r3 = *(0xb3a6);
0x0000a8c8 mov r7, r1 | r7 = r1;
0x0000a8ca str r1, [sp, 0x1c] | var_1ch = r1;
0x0000a8cc ldrb r0, [r7] | r0 = *(r7);
0x0000a8ce ldr.w r1, [pc, 0xadc] | r1 = *(0xb3ae);
0x0000a8d2 str r3, [sp, 0x18] | var_18h = r3;
0x0000a8d4 str r0, [sp, 8] | var_8h = r0;
0x0000a8d6 movs r0, 7 | r0 = 7;
0x0000a8d8 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000a8da mov r7, r1 | r7 = r1;
0x0000a8dc str r1, [sp, 0x18] | var_18h = r1;
0x0000a8de ldr r7, [r7] | r7 = *(r7);
0x0000a8e0 ldr.w r1, [pc, 0xacc] |
0x0000a8e4 str r7, [sp] | *(sp) = r7;
0x0000a8e6 add r1, pc | r1 = 0x15c9a;
0x0000a8e8 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000a8ec ldrb.w r3, [fp] | r3 = *(fp);
0x0000a8f0 cmp r3, 0 |
| if (r3 != 0) {
0x0000a8f2 bne.w 0xaba8 | goto label_57;
| }
0x0000a8f6 ldr r3, [r5] | r3 = *(r5);
0x0000a8f8 cmp r3, 0 |
| if (r3 == 0) {
0x0000a8fa beq.w 0xae00 | goto label_58;
| }
0x0000a8fe ldrb.w r3, [sb] | r3 = *(sb);
0x0000a902 cmp r3, 0 |
| if (r3 == 0) {
0x0000a904 beq 0xa9d4 | goto label_59;
| }
0x0000a906 ldr.w r3, [pc, 0xaac] |
0x0000a90a movs r0, 0x22 | r0 = 0x22;
0x0000a90c ldr.w sl, [r4, r3] | sl = *((r4 + r3));
0x0000a910 ldr.w r3, [sl] | r3 = *(sl);
0x0000a914 ldr r3, [r3, 0xc] | r3 = *(0xb3c2);
0x0000a916 blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
0x0000a918 cmp r0, 0 |
| if (r0 != 0) {
0x0000a91a bne 0xa9d4 | goto label_59;
| }
0x0000a91c cmp.w r8, 0 |
| if (r8 == 0) {
0x0000a920 beq.w 0xb306 | goto label_60;
| }
0x0000a922 strh r1, [r6, 0x26] | *((r6 + 0x26)) = r1;
0x0000a924 ldr.w r0, [pc, 0xa90] |
0x0000a928 add r0, pc | r0 = 0x15ce4;
0x0000a92a blx 0x2d84 | fcn_00002d84 ();
0x0000a92e ldr.w r1, [pc, 0xa8c] |
0x0000a932 add r1, pc | r1 = 0x15cf4;
0x0000a934 b 0xabd8 | goto label_6;
0x0000a936 ldr.w r1, [pc, 0xa88] |
0x0000a93a mov.w r0, -1 | r0 = -1;
0x0000a93e add r1, pc | r1 = 0x15d04;
0x0000a940 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000a944 ldr r3, [r6] | r3 = *(r6);
0x0000a946 add.w r3, r3, r3, lsl 2 | r3 += (r3 << 2);
0x0000a94a lsls r3, r3, 2 | r3 <<= 2;
0x0000a94c beq.w 0xa80e |
| }
0x0000a950 movs r5, 0 | r5 = 0;
0x0000a952 b 0xa964 | goto label_61;
| label_1:
0x0000a954 ldr r3, [r6] | r3 = *(r6);
0x0000a956 adds r5, 1 | r5++;
0x0000a958 add.w r3, r3, r3, lsl 2 | r3 += (r3 << 2);
0x0000a95c cmp.w r5, r3, lsl 2 |
| if (r5 >= r3) {
0x0000a960 bhs.w 0xa80e | goto label_0;
| }
0x0000a962 add r7, sp, 0x154 | r7 = sp + 0x154;
| label_61:
0x0000a964 movw r0, 0xc350 | r0 = 0xc350;
0x0000a968 blx 0x309c | fcn_0000309c ();
0x0000a96c bl 0xa39c | r0 = fcn_0000a39c (r0);
0x0000a970 cmp r0, 0 |
| if (r0 != 0) {
0x0000a972 bne 0xa954 | goto label_1;
| }
0x0000a974 ldr.w r1, [pc, 0xa4c] |
0x0000a978 mov.w r0, -1 | r0 = -1;
0x0000a97c add r1, pc | r1 = 0x15d44;
0x0000a97e bl 0x10568 | fcn_00010568 (r0, r1, r2);
| label_50:
0x0000a982 ldr.w r3, [pc, 0xa04] | r3 = *(0xb38a);
0x0000a986 ldr r5, [r4, r3] | r5 = *((r4 + r3));
0x0000a988 ldr r3, [r5] | r3 = *(r5);
0x0000a98a cmp r3, 1 |
| if (r3 == 1) {
0x0000a98c beq.w 0xaf2a | goto label_62;
| }
0x0000a990 ldr.w r0, [pc, 0xa34] |
0x0000a994 add r0, pc | r0 = 0x15d60;
0x0000a996 bl 0x11290 | r0 = fcn_00011290 (r0);
0x0000a99a mov r8, r0 | r8 = r0;
| if (r0 != 0) {
0x0000a99c cbz r0, 0xaa02 |
0x0000a99e ldr.w r1, [pc, 0xa2c] |
0x0000a9a2 movs r0, 5 | r0 = 5;
0x0000a9a4 add r1, pc | r1 = 0x15d76;
0x0000a9a6 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000a9aa ldr.w r1, [pc, 0xa24] |
0x0000a9ae mov r0, r8 | r0 = r8;
0x0000a9b0 add r1, pc | r1 = 0x15d86;
0x0000a9b2 blx 0x3130 | r0 = fcn_00003130 ();
0x0000a9b6 cmp r0, 0 |
| if (r0 == 0) {
0x0000a9b8 beq.w 0xaf30 | goto label_63;
| }
0x0000a9bc ldr.w r1, [pc, 0xa14] |
0x0000a9c0 mov r0, r8 | r0 = r8;
0x0000a9c2 add r1, pc | r1 = 0x15d9a;
0x0000a9c4 blx 0x3130 | r0 = fcn_00003130 ();
0x0000a9c6 subs.w r8, r4, r0, lsl 8 | r8 = r4 - (r0 << 8);
| if (r8 != r4) {
0x0000a9ca bne.w 0xaf14 | goto label_64;
| }
0x0000a9ce movs r3, 2 | r3 = 2;
0x0000a9d0 str r3, [r5] | *(r5) = r3;
0x0000a9d2 b 0xaa0a | goto label_14;
| label_59:
0x0000a9d4 cmp.w r8, 0 |
| if (r8 == 0) {
0x0000a9d8 beq.w 0xb094 | goto label_65;
| }
0x0000a9dc ldr.w r1, [pc, 0x9f8] |
0x0000a9e0 movs r2, 4 | r2 = 4;
0x0000a9e2 mov r0, r8 | r0 = r8;
0x0000a9e4 add r1, pc | r1 = 0x15dc0;
0x0000a9e6 blx 0x2b08 | r0 = fcn_00002b08 ();
0x0000a9ea cmp r0, 0 |
| if (r0 != 0) {
0x0000a9ec bne.w 0xaf3e | goto label_66;
| }
0x0000a9f0 ldr.w r0, [pc, 0x9e8] |
0x0000a9f4 add r0, pc | r0 = 0x15dd4;
0x0000a9f6 blx 0x2d84 | fcn_00002d84 ();
0x0000a9fa ldr.w r1, [pc, 0x9e4] |
0x0000a9fe add r1, pc | r1 = 0x15de4;
0x0000aa00 b 0xabd8 | goto label_6;
| }
0x0000aa02 ldr r3, [r5] | r3 = *(r5);
0x0000aa04 cmp r3, 1 |
| if (r3 == 1) {
0x0000aa06 beq.w 0xa82a | goto label_2;
| }
| label_14:
0x0000aa0a ldr.w r3, [pc, 0x9a8] | r3 = *(0xb3b6);
0x0000aa0e ldr.w r2, [pc, 0x984] | r2 = *(0xb396);
0x0000aa12 ldr.w sl, [r4, r3] | sl = *((r4 + r3));
0x0000aa16 ldr.w sb, [r4, r2] | sb = *((r4 + r2));
0x0000aa1a ldr.w r3, [sl] | r3 = *(sl);
0x0000aa1e ldr r2, [r3, 0xc] | r2 = *(0xb3c2);
0x0000aa20 ldrb.w r3, [sb] | r3 = *(sb);
0x0000aa24 cmp r3, 0 |
| if (r3 != 0) {
0x0000aa26 beq 0xaaa4 |
0x0000aa28 movs r0, 0x22 | r0 = 0x22;
0x0000aa2a blx r2 | r0 = uint32_t (*r2)(uint32_t) (r0);
0x0000aa2c mov r6, r0 | r6 = r0;
0x0000aa2e cmp r0, 0 |
| if (r0 != 0) {
0x0000aa30 bne 0xaaa4 | goto label_67;
| }
0x0000aa32 ldr.w r3, [sl] | r3 = *(sl);
0x0000aa36 movs r0, 0x42 | r0 = 0x42;
0x0000aa38 ldr r3, [r3, 0xc] | r3 = *((r3 + 0xc));
0x0000aa3a blx r3 | uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
0x0000aa3c str r0, [sp, 0x10] | var_10h = r0;
| if (r0 == 0) {
0x0000aa3e cbz r0, 0xaaa4 | goto label_67;
| }
0x0000aa40 ldr r3, [r5] | r3 = *(r5);
0x0000aa42 cmp r3, 0 |
| if (r3 == 0) {
0x0000aa44 beq.w 0xb154 | goto label_68;
| }
| label_28:
0x0000aa48 ldr.w r1, [pc, 0x998] |
0x0000aa4c movs r0, 7 | r0 = 7;
0x0000aa4e ldr.w r8, [pc, 0x998] |
0x0000aa52 add r1, pc | r1 = 0x15e3a;
0x0000aa54 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000aa58 ldr.w r3, [sl] | r3 = *(sl);
0x0000aa5a adds r0, 0 | r0 += 0;
0x0000aa5c add r8, pc | r8 = 0x15e4a;
0x0000aa5e movs r2, 1 | r2 = 1;
0x0000aa60 movs r0, 0x42 | r0 = 0x42;
0x0000aa62 mov r1, r8 | r1 = r8;
0x0000aa64 ldr r3, [r3, 0x14] | r3 = *((r3 + 0x14));
0x0000aa66 blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
0x0000aa68 mov fp, r0 |
0x0000aa6a cmp r0, 0 |
| if (r0 != 0) {
0x0000aa6c bne.w 0xb34c | goto label_69;
| }
0x0000aa70 ldr.w r1, [pc, 0x978] |
0x0000aa74 movs r3, 1 | r3 = 1;
0x0000aa76 ldr r2, [r5] | r2 = *(r5);
0x0000aa78 str r0, [sp, 8] | var_8h = r0;
0x0000aa7a strd r3, r3, [sp] | __asm ("strd r3, r3, [sp]");
0x0000aa7e add r1, pc | r1 = 0x15e6e;
0x0000aa80 mov r3, r0 | r3 = r0;
0x0000aa82 movs r0, 7 | r0 = 7;
0x0000aa84 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000aa88 ldr.w sl, [r5] | sl = *(r5);
0x0000aa8c cmp.w sl, 1 |
0x0000aa90 itt eq |
| if (sl != 1) {
0x0000aa92 moveq r8, fp | r8 = fp;
| }
| if (sl != 1) {
0x0000aa94 streq r8, [sp, 0x24] | var_24h = r8;
| }
| if (sl == 1) {
0x0000aa98 beq 0xab4a | goto label_49;
| }
0x0000aa9a mov r0, r8 | r0 = r8;
0x0000aa9c str.w fp, [sp, 0x24] | __asm ("str.w fp, [var_24h]");
0x0000aaa0 mov r8, fp | r8 = fp;
0x0000aaa2 b 0xa860 | goto label_3;
| }
| label_67:
0x0000aaa4 ldr.w r3, [sl] | r3 = *(sl);
0x0000aaa8 movs r0, 0x22 | r0 = 0x22;
0x0000aaaa ldr r3, [r3, 0xc] | r3 = *((r3 + 0xc));
0x0000aaac blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
0x0000aaae mov r6, r0 | r6 = r0;
| if (r0 != 0) {
0x0000aab0 cbz r0, 0xab10 |
0x0000aab2 ldr.w r1, [pc, 0x93c] |
0x0000aab6 movs r0, 7 | r0 = 7;
0x0000aab8 add r1, pc | r1 = 0x15eae;
0x0000aaba bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000aabe ldr.w r3, [sl] | r3 = *(sl);
0x0000aac2 movs r2, 0 | r2 = 0;
0x0000aac4 ldr.w r1, [pc, 0x92c] |
0x0000aac8 movs r0, 0x22 | r0 = 0x22;
0x0000aaca ldr r3, [r3, 0x14] | r3 = *((r3 + 0x14));
0x0000aacc add r1, pc | r1 = 0x15ec4;
0x0000aace blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
0x0000aad0 cmp r0, 0 |
| if (r0 == 0) {
0x0000aad2 beq.w 0xae42 | goto label_70;
| }
0x0000aad6 blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000aada ldr r3, [r0] | r3 = *(r0);
0x0000aadc mov r6, r0 | r6 = r0;
0x0000aade cmp r3, 0x10 |
| if (r3 == 0x10) {
0x0000aae0 beq.w 0xb2d4 | goto label_71;
| }
0x0000aae4 ldr.w r1, [pc, 0x910] |
0x0000aae8 movs r0, 2 | r0 = 2;
0x0000aaea add r1, pc | r1 = 0x15ee6;
0x0000aaec bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000aaf0 ldr r3, [r6] | r3 = *(r6);
0x0000aaf2 cmp r3, 0x3d |
0x0000aaf4 it ne |
| if (r3 != 0x3d) {
0x0000aaf6 cmpne r3, 0x7e | __asm ("cmpne r3, 0x7e");
| }
| if (r3 != 0x3d) {
0x0000aaf8 bne.w 0xb0c0 | goto label_72;
| }
0x0000aafc ldr.w r8, [pc, 0x8fc] |
0x0000ab00 add r8, pc | r8 = 0x15f00;
| label_25:
0x0000ab02 movs r0, 0 | r0 = 0;
0x0000ab04 movs r2, 1 | r2 = 1;
0x0000ab06 mov r3, r0 | r3 = r0;
0x0000ab08 mov r6, r0 | r6 = r0;
0x0000ab0a str r2, [r5] | *(r5) = r2;
0x0000ab0c str r0, [sp, 0x24] | var_24h = r0;
0x0000ab0e b 0xab28 |
| } else {
0x0000ab10 ldr.w r1, [pc, 0x8ec] |
0x0000ab14 movs r0, 5 | r0 = 5;
0x0000ab16 mov r8, r6 | r8 = r6;
0x0000ab18 add r1, pc | r1 = 0x15f1c;
0x0000ab1a bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000ab1e movs r0, 1 | r0 = 1;
0x0000ab20 mov r3, r6 | r3 = r6;
0x0000ab22 mov r2, r0 | r2 = r0;
0x0000ab24 str r0, [r5] | *(r5) = r0;
0x0000ab26 str r0, [sp, 0x24] | var_24h = r0;
| }
| label_7:
0x0000ab28 ldr.w r1, [pc, 0x8d8] |
0x0000ab2c movs r7, 0 | r7 = 0;
0x0000ab2e str r0, [sp, 8] | var_8h = r0;
0x0000ab30 movs r0, 7 | r0 = 7;
0x0000ab32 strd r7, r7, [sp] | __asm ("strd r7, r7, [sp]");
0x0000ab36 add r1, pc | r1 = 0x15f3e;
0x0000ab38 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000ab3c ldr.w sl, [r5] | sl = *(r5);
0x0000ab40 str r7, [sp, 0x10] | var_10h = r7;
0x0000ab42 cmp.w sl, 1 |
| if (sl != 1) {
0x0000ab46 bne.w 0xade0 | goto label_73;
| }
| label_49:
0x0000ab4a ldr.w r3, [pc, 0x854] | r3 = *(0xb3a2);
0x0000ab4e mov.w sl, 1 | sl = 1;
0x0000ab50 lsrs r1, r0, 8 | r1 = r0 >> 8;
0x0000ab52 ldr.w fp, [r4, r3] | fp = *((r4 + r3));
0x0000ab56 ldr.w r3, [pc, 0x840] | r3 = *(0xb39a);
0x0000ab5a ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000ab5c mov r2, r3 | r2 = r3;
0x0000ab5e str r3, [sp, 0x20] | var_20h = r3;
0x0000ab60 ldrb r1, [r2] | r1 = *(r2);
0x0000ab62 ldrb.w r3, [fp] | r3 = *(fp);
0x0000ab66 b 0xa8b2 | goto label_4;
| label_52:
0x0000ab68 ldr r3, [r5] | r3 = *(r5);
0x0000ab6a cmp r3, 0 |
| if (r3 == 0) {
0x0000ab6c beq.w 0xae72 | goto label_74;
| }
0x0000ab6e strh r1, [r0, 0xc] | *((r0 + 0xc)) = r1;
0x0000ab70 cmp.w sl, 0 |
0x0000ab74 it ne |
| if (sl != 0) {
0x0000ab76 cmpne r3, sl | __asm ("cmpne r3, sl");
| }
| if (sl > 0) {
0x0000ab78 bhi.w 0xaf6e | goto label_75;
| }
0x0000ab7c cmp r3, 4 |
| if (r3 != 4) {
0x0000ab7e bne.w 0xb296 | goto label_76;
| }
0x0000ab82 ldr r2, [sp, 0x10] | r2 = var_10h;
0x0000ab84 cmp r2, 0 |
| if (r2 == 0) {
0x0000ab86 beq.w 0xaf7a | goto label_77;
| }
0x0000ab8a mov sl, r3 | sl = r3;
| label_17:
0x0000ab8c ldr.w r3, [pc, 0x808] | r3 = *(0xb398);
0x0000ab90 ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000ab92 str r3, [sp, 0x20] | var_20h = r3;
| label_54:
0x0000ab94 ldr.w r3, [pc, 0x808] | r3 = *(0xb3a0);
0x0000ab98 ldr r2, [sp, 0x20] | r2 = var_20h;
0x0000ab9a ldr.w fp, [r4, r3] | fp = *((r4 + r3));
0x0000ab9e movs r3, 0 | r3 = 0;
0x0000aba0 ldrb r1, [r2] | r1 = *(r2);
0x0000aba2 strb.w r3, [fp] | *(fp) = r3;
0x0000aba6 b 0xa8b2 | goto label_4;
| label_57:
0x0000aba8 ldr.w sl, [pc, 0x85c] |
0x0000abac movs r1, 0 | r1 = 0;
0x0000abae ldr.w r0, [pc, 0x85c] |
0x0000abb2 add sl, pc | sl = 0x15fbe;
0x0000abb4 add r0, pc | r0 = 0x15fc6;
0x0000abb6 bl 0x6bd0 | fcn_00006bd0 (r0, r1, r2);
0x0000abba add r1, sp, 0x28 | r1 += var_28h;
0x0000abbc mov r0, sl | r0 = sl;
0x0000abbe blx 0x2d9c | r0 = fcn_00002d9c ();
0x0000abc2 cmp r0, 0 |
| if (r0 == 0) {
0x0000abc4 beq.w 0xae52 | goto label_78;
| }
| label_8:
0x0000abc8 ldr.w r0, [pc, 0x844] |
0x0000abcc add r0, pc | r0 = 0x15fe0;
0x0000abce blx 0x2d84 | fcn_00002d84 ();
0x0000abd2 ldr.w r1, [pc, 0x840] |
0x0000abd6 add r1, pc | r1 = 0x15ff0;
| label_6:
0x0000abd8 ldr.w r0, [pc, 0x83c] |
0x0000abdc movs r2, 0 | r2 = 0;
0x0000abde add r0, pc | r0 = 0x15ffa;
0x0000abe0 bl 0x110d4 | fcn_000110d4 (r0, r1, r2);
| label_16:
0x0000abe4 ldr r2, [r5] | r2 = *(r5);
0x0000abe6 cmp r2, 0 |
0x0000abe8 ite ne |
| if (r2 == 0) {
0x0000abea movne r3, 0 | r3 = 0;
| }
| if (r2 != 0) {
0x0000abec andeq r3, r6, 1 | r3 = r6 & 1;
| }
0x0000abf0 cmp r3, 0 |
| if (r3 != 0) {
0x0000abf2 bne.w 0xb058 | goto label_79;
| }
| label_23:
0x0000abf6 ldrb.w r3, [sb] | r3 = *(sb);
0x0000abfa cmp r3, 0 |
| if (r3 == 0) {
0x0000abfc beq.w 0xad20 | goto label_80;
| }
0x0000ac00 ldr r3, [sp, 0x14] | r3 = var_14h;
0x0000ac02 bics r1, r2, 4 | __asm ("bics r1, r2, 4");
0x0000ac06 ldr r3, [r3] | r3 = *(r3);
| if (r3 != 0) {
0x0000ac08 beq 0xac14 |
| label_33:
0x0000ac0a ldr r1, [sp, 0x20] | r1 = var_20h;
0x0000ac0c ldrb r1, [r1] | r1 = *(r1);
0x0000ac0e cmp r1, 0 |
| if (r1 != 0) {
0x0000ac10 bne.w 0xaf36 | goto label_81;
| }
| }
| label_15:
0x0000ac14 ldr.w r1, [pc, 0x784] | r1 = *(0xb39c);
0x0000ac18 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000ac1a ldrb r1, [r1] | r1 = *(r1);
0x0000ac1c cmp r1, 0 |
| if (r1 != 0) {
0x0000ac1e bne.w 0xade8 | goto label_82;
| }
0x0000ac22 ldr r3, [sp, 0x18] | r3 = var_18h;
0x0000ac24 ldr r0, [sp, 0x14] | r0 = var_14h;
0x0000ac26 str r1, [r3] | *(r3) = r1;
0x0000ac28 movs r3, 1 | r3 = 1;
0x0000ac2a str r3, [r0] | *(r0) = r3;
| do {
| label_5:
0x0000ac2c str r1, [sp] | *(sp) = r1;
0x0000ac2e movs r0, 7 | r0 = 7;
0x0000ac30 ldr r1, [sp, 0x1c] | r1 = var_1ch;
0x0000ac32 ldrb r1, [r1] | r1 = *(r1);
0x0000ac34 str r1, [sp, 4] | var_4h = r1;
0x0000ac36 ldr.w r1, [pc, 0x7e4] |
0x0000ac3a add r1, pc | r1 = 0x1605c;
0x0000ac3c bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000ac40 ldr r2, [r5] | r2 = *(r5);
0x0000ac42 cmp r2, 1 |
| if (r2 < 1) {
0x0000ac44 bls 0xad30 | goto label_83;
| }
0x0000ac46 cmp r6, 0 |
| if (r6 != 0) {
0x0000ac48 bne.w 0xafc4 | goto label_84;
| }
| label_27:
0x0000ac4c ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000ac4e movs r6, 0 | r6 = 0;
0x0000ac50 str r3, [sp, 0x18] | var_18h = r3;
| label_36:
0x0000ac52 ldr.w r0, [pc, 0x7cc] |
0x0000ac56 add r0, pc | r0 = 0x1607c;
0x0000ac58 blx 0x2de8 | r0 = fcn_00002de8 ();
0x0000ac5c cmp r0, 0 |
| if (r0 != 0) {
0x0000ac5e bne.w 0xb086 | goto label_85;
| }
| label_24:
0x0000ac62 ldr r3, [r5] | r3 = *(r5);
0x0000ac64 cmp r3, 1 |
| if (r3 == 1) {
0x0000ac66 beq.w 0xae78 | goto label_86;
| }
0x0000ac6a ldr.w r3, [pc, 0x730] | r3 = *(0xb39e);
0x0000ac6e ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000ac70 ldrb r3, [r3] | r3 = *(r3);
0x0000ac72 cmp r3, 0 |
| if (r3 != 0) {
0x0000ac74 bne.w 0xaea2 | goto label_87;
| }
0x0000ac76 strh r5, [r2, 8] | *((r2 + 8)) = r5;
| label_11:
0x0000ac78 ldr.w r3, [pc, 0x738] | r3 = *(0xb3b4);
0x0000ac7c ldr.w sl, [r4, r3] | sl = *((r4 + r3));
| label_10:
0x0000ac80 ldr.w r3, [sl] | r3 = *(sl);
0x0000ac84 ldr r3, [r3, 0x70] | r3 = *((r3 + 0x70));
0x0000ac86 blx r3 | r0 = uint32_t (*r3)(uint32_t) (r3);
0x0000ac88 cmp r0, 0 |
| if (r0 != 0) {
0x0000ac8a bne.w 0xadb8 | goto label_12;
| }
0x0000ac8e ldr.w r1, [sl] | r1 = *(sl);
0x0000ac92 str r0, [sp, 0x1c] | var_1ch = r0;
0x0000ac94 movs r0, 0x22 | r0 = 0x22;
0x0000ac96 ldr r2, [r1, 0xc] | r2 = *((r1 + 0xc));
0x0000ac98 ldr.w sl, [r1, 0x60] | sl = *((r1 + 0x60));
0x0000ac9c blx r2 | uint32_t (*r2)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
0x0000ac9e ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000aca0 eor r2, r0, 1 | r2 = r0 ^ 1;
0x0000aca4 orrs r2, r3 | r2 |= r3;
0x0000aca6 uxtb r2, r2 | r2 = (int8_t) r2;
0x0000aca8 cmp r2, 0 |
| if (r2 == 0) {
0x0000acaa beq.w 0xb0c8 | goto label_88;
| }
0x0000acae ldr r3, [sp, 0x1c] | r3 = var_1ch;
0x0000acb0 ldr r1, [r5] | r1 = *(r5);
0x0000acb2 mov r0, r3 | r0 = r3;
| label_26:
0x0000acb4 sub.w r1, r1, 4 | r1 -= 4;
0x0000acb8 clz r1, r1 | r1 &= r1;
0x0000acbc lsrs r1, r1, 5 | r1 >>= 5;
0x0000acbe blx sl | r0 = sl (r0, r1, r3);
0x0000acc0 cmp r0, 0 |
| if (r0 != 0) {
0x0000acc2 bne 0xadb8 | goto label_12;
| }
0x0000acc4 ldr.w r2, [pc, 0x75c] |
0x0000acc8 mov r3, r0 | r3 = r0;
0x0000acca ldr.w r7, [pc, 0x75c] |
0x0000acce ldr.w r1, [pc, 0x75c] |
0x0000acd2 add r2, pc | r2 = 0x160fa;
0x0000acd4 add r7, pc | r7 = 0x16102;
0x0000acd6 mov r0, r2 | r0 = r2;
0x0000acd8 add r1, pc | r1 = 0x1610a;
0x0000acda str r1, [sp] | *(sp) = r1;
0x0000acdc mov r1, r7 | r1 = r7;
0x0000acde blx 0x3188 | r0 = strcat_chk ();
0x0000ace2 cmp r0, 0 |
| if (r0 < 0) {
0x0000ace4 blt.w 0xb2e0 | goto label_89;
| }
0x0000ace8 mov r0, r7 | r0 = r7;
0x0000acea mov.w r1, 0x4000 | r1 = 0x4000;
0x0000acee blx 0x2e3c | r0 = fcn_00002e3c ();
0x0000acf2 cmp r0, 0 |
| if (r0 < 0) {
0x0000acf4 blt.w 0xb27c | goto label_90;
| }
0x0000acf8 bl 0x9f18 | r0 = fcn_00009f18 (r0);
0x0000acfc cmp r0, 0 |
| if (r0 != 0) {
0x0000acfe bne.w 0xb246 | goto label_91;
| }
| label_30:
0x0000ad02 ldr.w r0, [pc, 0x72c] |
0x0000ad06 add r0, pc | r0 = 0x1613c;
0x0000ad08 blx 0x3030 | fcn_00003030 ();
0x0000ad0c ldr r3, [sp, 0x18] | r3 = var_18h;
0x0000ad0e cmp r0, 0 |
0x0000ad10 str r3, [sp, 0x10] | var_10h = r3;
| if (r0 < 0) {
0x0000ad12 blt.w 0xb340 | goto label_92;
| }
| label_37:
0x0000ad16 ldr r2, [r5] | r2 = *(r5);
0x0000ad18 b 0xad36 | goto label_35;
| label_32:
0x0000ad1a ldr.w r8, [pc, 0x718] |
0x0000ad1e add r8, pc | r8 = 0x16158;
| label_80:
0x0000ad20 ldr r3, [sp, 0x18] | r3 = var_18h;
0x0000ad22 mov.w r1, -1 | r1 = -1;
0x0000ad26 str r1, [r3] | *(r3) = r1;
0x0000ad28 ldr r3, [sp, 0x14] | r3 = var_14h;
0x0000ad2a str r1, [r3] | *(r3) = r1;
0x0000ad2c mov r3, r1 | r3 = r1;
0x0000ad2e b 0xac2c |
| } while (1);
| label_83:
0x0000ad30 cmp r2, 0 |
| if (r2 != 0) {
0x0000ad32 bne.w 0xb33a | goto label_93;
| }
| label_35:
0x0000ad36 ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000ad38 movs r0, 7 | r0 = 7;
0x0000ad3a ldr.w r1, [pc, 0x6fc] |
0x0000ad3e str r3, [sp] | *(sp) = r3;
0x0000ad40 mov r3, r6 | r3 = r6;
0x0000ad42 add r1, pc | r1 = 0x16180;
0x0000ad44 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000ad48 cmp r6, 0 |
| if (r6 == 0) {
0x0000ad4a beq.w 0xaf84 | goto label_94;
| }
| label_19:
0x0000ad4e ldr r3, [r5] | r3 = *(r5);
0x0000ad50 bics r3, r3, 4 | __asm ("bics r3, r3, 4");
0x0000ad54 ite ne |
| if (r6 == 0) {
0x0000ad56 movne r0, 1 | r0 = 1;
| }
| if (r6 != 0) {
0x0000ad58 moveq r0, 0 | r0 = 0;
| }
0x0000ad5a bl 0x14cd4 | r0 = fcn_00014cd4 (r0);
| if (r0 != 0) {
0x0000ad5e cbnz r0, 0xadb8 | goto label_12;
| }
0x0000ad60 ldr.w r3, [pc, 0x650] |
0x0000ad64 ldr.w sl, [r4, r3] | sl = *((r4 + r3));
0x0000ad68 ldr.w r3, [sl] | r3 = *(sl);
0x0000ad6c ldr r3, [r3, 0x68] | r3 = *(0xb41c);
0x0000ad6e blx r3 | uint32_t (*r3)(uint32_t) (r3);
0x0000ad70 ldr.w r1, [pc, 0x6c8] |
0x0000ad74 movs r0, 7 | r0 = 7;
0x0000ad76 add r1, pc | r1 = 0x161b6;
0x0000ad78 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000ad7c ldr.w r1, [pc, 0x6c0] |
0x0000ad80 movw r2, 0x1ed | r2 = 0x1ed;
0x0000ad84 ldr.w r0, [pc, 0x6bc] |
0x0000ad88 add r1, pc | r1 = 0x161cc;
0x0000ad8a add r0, pc | r0 = 0x161d2;
0x0000ad8c bl 0x9ff8 | r0 = fcn_00009ff8 (r0, r1, r2, r3);
0x0000ad90 cmp r0, 0 |
| if (r0 == 0) {
0x0000ad92 beq 0xae4c | goto label_95;
| }
0x0000ad94 blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000ad98 ldr r0, [r0] | r0 = *(r0);
| if (r0 == 0) {
| do {
0x0000ad9a cbnz r0, 0xadb8 |
0x0000ad9c ldr.w r0, [pc, 0x6a8] |
0x0000ada0 add r0, pc | r0 = 0x161ec;
0x0000ada2 bl 0x11500 | r0 = fcn_00011500 (r0);
| if (r0 != 0) {
0x0000ada6 cbnz r0, 0xadb8 | goto label_12;
| }
0x0000ada8 ldr.w r0, [pc, 0x6a0] |
0x0000adac add r0, pc | r0 = 0x161fc;
0x0000adae bl 0x11500 | r0 = fcn_00011500 (r0);
0x0000adb2 cmp r0, 0 |
| if (r0 == 0) {
0x0000adb4 beq.w 0xb15a | goto label_96;
| }
| }
| label_12:
0x0000adb8 blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000adbc ldr r0, [r0] | r0 = *(r0);
| label_20:
0x0000adbe ldr.w r2, [pc, 0x690] |
0x0000adc2 ldr.w r3, [pc, 0x5b0] | r3 = *(0xb376);
0x0000adc6 add r2, pc | r2 = 0x1621c;
0x0000adc8 ldr r3, [r2, r3] | r3 = *(0x1621c);
0x0000adca ldr r2, [r3] | r2 = *(0x1621c);
0x0000adcc ldr r3, [sp, 0x2cc] | r3 = var_2cch;
0x0000adce eors r2, r3 | r2 ^= r3;
0x0000add0 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000add4 bne.w 0xb7fe | goto label_97;
| }
0x0000add8 add.w sp, sp, 0x2d4 |
0x0000addc pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_73:
0x0000ade0 ldr.w r0, [pc, 0x670] |
0x0000ade4 add r0, pc | r0 = 0x1623c;
0x0000ade6 b 0xa860 | goto label_3;
| label_82:
0x0000ade8 ldr r1, [sp, 0x18] | r1 = var_18h;
0x0000adea adds r0, r3, 1 | r0 = r3 + 1;
0x0000adec ldr r1, [r1] | r1 = *(r1);
| if (r0 != r3) {
0x0000adee bne.w 0xaf58 | goto label_98;
| }
0x0000adf2 cmp r1, 0 |
| if (r1 <= 0) {
0x0000adf4 ble.w 0xb0d2 | goto label_99;
| }
0x0000adf8 ldr r0, [sp, 0x14] | r0 = var_14h;
0x0000adfa movs r3, 0 | r3 = 0;
0x0000adfc str r3, [r0] | *(r0) = r3;
0x0000adfe b 0xac2c | goto label_5;
| label_58:
0x0000ae00 ldr.w r3, [pc, 0x654] |
0x0000ae04 add.w sl, sp, 0xcc | sl += var_cch;
0x0000ae08 movs r2, 0xff | r2 = 0xff;
0x0000ae0a mov r1, sl | r1 = sl;
0x0000ae0c add r3, pc | r3 = 0x16268;
0x0000ae0e mov r0, r3 | r0 = r3;
0x0000ae10 mov r7, r3 | r7 = r3;
0x0000ae12 movs r3, 1 | r3 = 1;
0x0000ae14 bl 0x10ebc | fcn_00010ebc (r0, r1, r2, r3);
0x0000ae16 invalid |
| if (r3 != 1) {
0x0000ae1a bne.w 0xaf50 | goto label_100;
| }
0x0000ae1e mov r0, sl | r0 = sl;
0x0000ae20 blx 0x3078 | r0 = fcn_00003078 ();
0x0000ae24 add.w r2, sl, r0 | r2 = sl + r0;
0x0000ae28 mov r3, r0 | r3 = r0;
0x0000ae2a ldrb r2, [r2, -0x1] | r2 = *((r2 - 0x1));
0x0000ae2e mov r0, r7 | r0 = r7;
0x0000ae30 cmp r2, 0xa |
0x0000ae32 itt ne |
| if (r2 == 0xa) {
0x0000ae34 movne r2, 0xa | r2 = 0xa;
| }
| if (r2 != 0xa) {
0x0000ae36 strhne r2, [sl, r3] | __asm ("strhne r2, [sl, r3]");
| }
0x0000ae3a blx 0x2d84 | fcn_00002d84 ();
0x0000ae3e mov r1, sl | r1 = sl;
0x0000ae40 b 0xabd8 | goto label_6;
| label_70:
0x0000ae42 ldr r2, [r5] | r2 = *(r5);
0x0000ae44 movs r3, 1 | r3 = 1;
0x0000ae46 mov r8, r0 | r8 = r0;
0x0000ae48 str r0, [sp, 0x24] | var_24h = r0;
0x0000ae4a b 0xab28 | goto label_7;
| label_95:
0x0000ae4c bl 0xa278 | fcn_0000a278 (r0, r1, r2);
0x0000ae50 b 0xad9a |
| } while (1);
| label_78:
0x0000ae52 ldr r3, [r5] | r3 = *(r5);
0x0000ae54 cmp r3, 0 |
| if (r3 == 0) {
0x0000ae56 beq.w 0xb0b4 | goto label_101;
| }
0x0000ae5a ldr.w r1, [pc, 0x600] |
0x0000ae5e movs r0, 7 | r0 = 7;
0x0000ae60 add r1, pc | r1 = 0x162c2;
0x0000ae62 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000ae66 ldr.w r0, [pc, 0x5f8] |
0x0000ae6a add r0, pc | r0 = 0x162d0;
0x0000ae6c blx 0x2de8 | fcn_00002de8 ();
0x0000ae70 b 0xabc8 | goto label_8;
| label_74:
0x0000ae72 str.w sl, [r5] | __asm ("str.w sl, [r5]");
0x0000ae76 b 0xa876 | goto label_9;
| label_86:
0x0000ae78 ldr r3, [sp, 0x18] | r3 = var_18h;
0x0000ae7a cmp r3, 0 |
| if (r3 != 0) {
0x0000ae7c bne.w 0xb01c | goto label_102;
| }
| label_22:
0x0000ae80 cmp r6, 0 |
| if (r6 != 0) {
0x0000ae82 bne.w 0xb252 | goto label_103;
| }
| label_31:
0x0000ae86 ldr.w r3, [pc, 0x514] | r3 = *(0xb39e);
0x0000ae8a ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000ae8c ldrb r6, [r3] | r6 = *(r3);
0x0000ae8e cmp r6, 0 |
| if (r6 == 0) {
0x0000ae90 beq.w 0xb0e8 | goto label_104;
| }
0x0000ae92 strh r2, [r5, 8] | *((r5 + 8)) = r2;
0x0000ae94 ldr r3, [r5] | r3 = *(r5);
0x0000ae96 cmp r3, 1 |
0x0000ae98 mov.w r3, 0 | r3 = 0;
0x0000ae9c mov r6, r3 | r6 = r3;
0x0000ae9e str r3, [sp, 0x18] | var_18h = r3;
| if (r3 == 1) {
0x0000aea0 beq 0xaec4 | goto label_105;
| }
| label_87:
0x0000aea2 ldr.w r3, [pc, 0x510] |
0x0000aea6 movs r0, 0x22 | r0 = 0x22;
0x0000aea8 ldr.w sl, [r4, r3] | sl = *((r4 + r3));
0x0000aeac ldr.w r3, [sl] | r3 = *(sl);
0x0000aeb0 ldr r3, [r3, 0xc] | r3 = *(0xb3c2);
0x0000aeb2 blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
0x0000aeb4 cmp r0, 0 |
| if (r0 == 0) {
0x0000aeb6 beq.w 0xac80 | goto label_10;
| }
0x0000aeba ldr r3, [r5] | r3 = *(r5);
0x0000aebc subs r3, 2 | r3 -= 2;
0x0000aebe cmp r3, 1 |
| if (r3 > 1) {
0x0000aec0 bhi.w 0xac80 | goto label_10;
| }
| label_105:
0x0000aec4 ldrb.w r0, [sb] | r0 = *(sb);
0x0000aec8 ldr r3, [sp, 0x20] | r3 = var_20h;
0x0000aeca ldrb r3, [r3] | r3 = *(r3);
0x0000aecc cmp r0, 0 |
| if (r0 == 0) {
0x0000aece beq.w 0xb122 | goto label_106;
| }
| if (r3 != 0) {
0x0000aed2 cbz r3, 0xaeda |
0x0000aed4 ldr r2, [sp, 0x1c] | r2 = var_1ch;
0x0000aed6 movs r3, 1 | r3 = 1;
0x0000aed8 strb r3, [r2] | *(r2) = r3;
| }
0x0000aeda movs r1, 0 | r1 = 0;
0x0000aedc movs r0, 1 | r0 = 1;
0x0000aede bl 0x97e0 | r0 = fcn_000097e0 (r0, r1);
0x0000aee2 cmp r0, 0 |
| if (r0 == 0) {
0x0000aee4 beq.w 0xac78 | goto label_11;
| }
0x0000aee8 b 0xadb8 | goto label_12;
| label_56:
0x0000aeea cmp r1, 0 |
| if (r1 != 0) {
0x0000aeec bne.w 0xa8a2 | goto label_13;
| }
0x0000aef0 ldr.w r1, [pc, 0x570] |
0x0000aef4 movs r0, 4 | r0 = 4;
0x0000aef6 add r1, pc | r1 = 0x1635e;
0x0000aef8 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000aefc ldr.w r3, [pc, 0x4a0] | r3 = *(0xb3a0);
0x0000af00 movs r2, 1 | r2 = 1;
0x0000af02 str r2, [r5] | *(r5) = r2;
0x0000af04 mov sl, r2 | sl = r2;
0x0000af06 ldr.w fp, [r4, r3] | fp = *((r4 + r3));
0x0000af0a ldr r3, [sp, 0x20] | r3 = var_20h;
0x0000af0c ldrb r1, [r3] | r1 = *(r3);
0x0000af0e ldrb.w r3, [fp] | r3 = *(fp);
0x0000af12 b 0xa8b2 | goto label_4;
| label_64:
0x0000af14 ldr.w r1, [pc, 0x550] |
0x0000af18 mov r0, r8 | r0 = r8;
0x0000af1a add r1, pc | r1 = 0x16386;
0x0000af1c blx 0x3130 | r0 = fcn_00003130 ();
0x0000af20 cmp r0, 0 |
| if (r0 != 0) {
0x0000af22 bne.w 0xb22e | goto label_107;
| }
| label_29:
0x0000af26 movs r3, 1 | r3 = 1;
0x0000af28 str r3, [r5] | *(r5) = r3;
| label_62:
0x0000af2a mov.w r8, 0 | r8 = 0;
0x0000af2e b 0xa82a | goto label_2;
| label_63:
0x0000af30 movs r3, 3 | r3 = 3;
0x0000af32 str r3, [r5] | *(r5) = r3;
0x0000af34 b 0xaa0a | goto label_14;
| label_81:
0x0000af36 ldr r0, [sp, 0x1c] | r0 = var_1ch;
0x0000af38 movs r1, 1 | r1 = 1;
0x0000af3a strb r1, [r0] | *(r0) = r1;
0x0000af3c b 0xac14 | goto label_15;
| label_66:
0x0000af3e ldr.w r0, [pc, 0x52c] |
0x0000af42 add r0, pc | r0 = 0x163b4;
0x0000af44 blx 0x2d84 | fcn_00002d84 ();
0x0000af48 ldr.w r1, [pc, 0x524] |
0x0000af4c add r1, pc | r1 = 0x163c0;
0x0000af4e b 0xabd8 | goto label_6;
| label_100:
0x0000af50 mov r0, r7 | r0 = r7;
0x0000af52 blx 0x2d84 | fcn_00002d84 ();
0x0000af56 b 0xabe4 | goto label_16;
| label_98:
0x0000af58 adds r0, r1, 1 | r0 = r1 + 1;
| if (r0 != r1) {
0x0000af5a bne.w 0xac2c | goto label_5;
| }
0x0000af5e subs r1, r3, 1 | r1 = r3 - 1;
0x0000af60 cmp r1, 1 |
| if (r1 > 1) {
0x0000af62 bhi.w 0xb0e0 | goto label_108;
| }
0x0000af66 ldr r0, [sp, 0x18] | r0 = var_18h;
0x0000af68 movs r1, 0 | r1 = 0;
0x0000af6a str r1, [r0] | *(r0) = r1;
0x0000af6c b 0xac2c | goto label_5;
| label_75:
0x0000af6e ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000af70 str.w sl, [r5] | __asm ("str.w sl, [r5]");
0x0000af74 cmp r3, 0 |
| if (r3 != 0) {
0x0000af76 bne.w 0xab8c | goto label_17;
| }
| label_77:
0x0000af7a ldr.w r3, [pc, 0x41c] | r3 = *(0xb39a);
0x0000af7e ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000af80 str r3, [sp, 0x20] | var_20h = r3;
0x0000af82 b 0xa890 | goto label_18;
| label_94:
0x0000af84 ldr.w r3, [pc, 0x42c] | r3 = *(0xb3b4);
0x0000af88 ldr.w sl, [r4, r3] | sl = *((r4 + r3));
| label_21:
0x0000af8c ldr.w r1, [pc, 0x4e4] |
0x0000af90 movs r0, 7 | r0 = 7;
0x0000af92 add r1, pc | r1 = 0x1640a;
0x0000af94 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000af96 invalid |
0x0000af9a adds r0, 0 | r0 += 0;
0x0000af9c movs r2, 0 | r2 = 0;
0x0000af9e ldr.w r1, [pc, 0x4d8] |
0x0000afa2 movs r0, 0x22 | r0 = 0x22;
0x0000afa4 ldr r3, [r3, 0x14] | r3 = *((r3 + 0x14));
0x0000afa6 add r1, pc | r1 = 0x16424;
0x0000afa8 blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
0x0000afaa cmp r0, 0 |
| if (r0 == 0) {
0x0000afac beq.w 0xad4e | goto label_19;
| }
0x0000afb0 ldr.w r1, [pc, 0x4c8] |
0x0000afb4 movs r0, 2 | r0 = 2;
0x0000afb6 add r1, pc | r1 = 0x16436;
0x0000afb8 bl 0x10568 | r0 = fcn_00010568 (r0, r1, r2);
0x0000afbc blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000afc0 ldr r0, [r0] | r0 = *(r0);
0x0000afc2 b 0xadbe | goto label_20;
| label_84:
0x0000afc4 ldr.w r1, [pc, 0x4b8] |
0x0000afc8 movs r0, 7 | r0 = 7;
0x0000afca add r1, pc | r1 = 0x1644e;
0x0000afcc bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000afd0 ldr.w r0, [pc, 0x4b0] |
0x0000afd4 add r0, pc | r0 = 0x1645c;
0x0000afd6 blx 0x3030 | r0 = fcn_00003030 ();
0x0000afda cmp r0, 0 |
| if (r0 < 0) {
0x0000afdc blt.w 0xb328 | goto label_109;
| }
0x0000afe0 ldr r3, [pc, 0x3d0] |
0x0000afe2 movs r2, 1 | r2 = 1;
0x0000afe4 ldr.w r1, [pc, 0x4a0] |
0x0000afe8 movs r0, 0x22 | r0 = 0x22;
0x0000afea ldr.w sl, [r4, r3] | sl = *((r4 + r3));
0x0000afee add r1, pc | r1 = 0x1647a;
0x0000aff0 ldr.w r3, [sl] | r3 = *(sl);
0x0000aff4 ldr r3, [r3, 0x14] | r3 = *(0xb3c8);
0x0000aff6 blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
0x0000aff8 cmp r0, 0 |
| if (r0 != 0) {
0x0000affa bne.w 0xb13e | goto label_110;
| }
0x0000affe ldr r3, [r5] | r3 = *(r5);
0x0000b000 cmp r3, 0 |
| if (r3 != 0) {
0x0000b002 bne.w 0xb6c2 | goto label_111;
| }
0x0000b006 ldr.w r1, [pc, 0x484] |
0x0000b00a movs r2, 1 | r2 = 1;
0x0000b00c str r2, [sp] | *(sp) = r2;
0x0000b00e movs r0, 7 | r0 = 7;
0x0000b010 mov r2, r3 | r2 = r3;
0x0000b012 str r6, [sp, 0x10] | var_10h = r6;
0x0000b014 add r1, pc | r1 = 0x164a6;
0x0000b016 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b01a b 0xaf8c | goto label_21;
| label_102:
0x0000b01c ldr.w r1, [pc, 0x470] |
0x0000b020 movs r0, 7 | r0 = 7;
0x0000b022 add r1, pc | r1 = 0x164b6;
0x0000b024 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b028 ldr r3, [pc, 0x388] |
0x0000b02a movs r0, 0x42 | r0 = 0x42;
0x0000b02c ldr.w r1, [pc, 0x464] |
0x0000b030 ldr.w sl, [r4, r3] | sl = *((r4 + r3));
0x0000b034 add r1, pc | r1 = 0x164cc;
0x0000b036 ldr.w r3, [sl] | r3 = *(sl);
0x0000b03a ldr r3, [r3, 0x18] | r3 = *(0xb3cc);
0x0000b03c blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
0x0000b03e cmp r0, 0 |
| if (r0 >= 0) {
0x0000b040 bge.w 0xae80 | goto label_22;
| }
0x0000b044 ldr.w r1, [pc, 0x450] |
0x0000b048 movs r0, 2 | r0 = 2;
0x0000b04a add r1, pc | r1 = 0x164e6;
0x0000b04c bl 0x10568 | r0 = fcn_00010568 (r0, r1, r2);
0x0000b050 blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000b054 ldr r0, [r0] | r0 = *(r0);
0x0000b056 b 0xadbe | goto label_20;
| label_79:
0x0000b058 ldr.w r0, [pc, 0x440] |
0x0000b05c add.w sl, sp, 0x84 | sl += var_84h;
0x0000b060 mov r1, sl | r1 = sl;
0x0000b062 add r0, pc | r0 = 0x16502;
0x0000b064 blx 0x300c | r0 = fcn_0000300c ();
0x0000b068 cmp r0, 0 |
| if (r0 < 0) {
0x0000b06a blt.w 0xb288 | goto label_112;
| }
0x0000b06e ldr.w r2, [sl] | r2 = *(sl);
0x0000b072 ldr.w r3, [sl, 0x10] | r3 = var_10h_2;
0x0000b076 mul r2, r3, r2 | r2 = r3 * r2;
0x0000b07a cmp.w r2, 0x4000 |
| if (r2 <= 0x4000) {
0x0000b07e blo.w 0xb2a8 | goto label_113;
| }
0x0000b082 ldr r2, [r5] | r2 = *(r5);
0x0000b084 b 0xabf6 | goto label_23;
| label_85:
0x0000b086 ldr.w r1, [pc, 0x418] |
0x0000b08a movs r0, 4 | r0 = 4;
0x0000b08c add r1, pc | r1 = 0x16532;
0x0000b08e bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b092 b 0xac62 | goto label_24;
| label_65:
0x0000b094 ldr r3, [r5] | r3 = *(r5);
0x0000b096 cmp r3, 3 |
| if (r3 == 3) {
0x0000b098 beq.w 0xb2f2 | goto label_114;
| }
0x0000b09c ldr.w r0, [pc, 0x404] |
0x0000b0a0 ldr.w r8, [pc, 0x404] |
0x0000b0a4 add r0, pc | r0 = 0x1654c;
0x0000b0a6 blx 0x2d84 | fcn_00002d84 ();
0x0000b0aa ldr.w r1, [pc, 0x400] |
0x0000b0ae add r8, pc | r8 = 0x1655a;
0x0000b0b0 add r1, pc | r1 = 0x16562;
0x0000b0b2 b 0xabd8 | goto label_6;
| label_101:
0x0000b0b4 ldr r1, [pc, 0x3f8] |
0x0000b0b6 mov r0, sl | r0 = sl;
0x0000b0b8 add r1, pc | r1 = 0x1656c;
0x0000b0ba bl 0x1155c | fcn_0001155c (r0);
0x0000b0be b 0xabc8 | goto label_8;
| label_72:
0x0000b0c0 ldr.w r8, [pc, 0x3f0] | r8 = fcn.000110f8;
0x0000b0c4 add r8, pc | r8 += pc;
0x0000b0c6 b 0xab02 | goto label_25;
| label_88:
0x0000b0c8 ldr r1, [r5] | r1 = *(r5);
0x0000b0ca subs r0, r1, 1 | r0 = r1 - 1;
0x0000b0cc it ne |
| if (r0 == r1) {
0x0000b0ce movne r0, 1 | r0 = 1;
| }
0x0000b0d0 b 0xacb4 | goto label_26;
| label_99:
0x0000b0d2 ldr r0, [sp, 0x14] | r0 = var_14h;
0x0000b0d4 adds r7, r1, 1 | r7 = r1 + 1;
0x0000b0d6 mov.w r3, 2 | r3 = 2;
0x0000b0da str r3, [r0] | *(r0) = r3;
| if (r7 != r1) {
0x0000b0dc bne.w 0xac2c | goto label_5;
| }
| label_108:
0x0000b0e0 ldr r0, [sp, 0x18] | r0 = var_18h;
0x0000b0e2 movs r1, 0xa | r1 = 0xa;
0x0000b0e4 str r1, [r0] | *(r0) = r1;
0x0000b0e6 b 0xac2c | goto label_5;
| label_104:
0x0000b0e8 ldr r3, [pc, 0x2c8] | r3 = *(0xb3b4);
0x0000b0ea ldr.w sl, [r4, r3] | sl = *((r4 + r3));
0x0000b0ee str r6, [sp, 0x18] | var_18h = r6;
0x0000b0f0 b 0xac80 | goto label_10;
| label_53:
0x0000b0f2 ldr r1, [pc, 0x3c4] |
0x0000b0f4 movs r0, 5 | r0 = 5;
0x0000b0f6 add r1, pc | r1 = 0x165b4;
0x0000b0f8 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b0fc ldr r2, [sp, 0x10] | r2 = var_10h;
0x0000b0fe movs r3, 1 | r3 = 1;
0x0000b100 mov sl, r3 | sl = r3;
0x0000b102 str r3, [r5] | *(r5) = r3;
0x0000b104 cmp r2, 0 |
| if (r2 != 0) {
0x0000b106 bne.w 0xab8c | goto label_17;
| }
0x0000b10a ldr r3, [pc, 0x294] | r3 = *(0xb3a2);
0x0000b10c ldr.w fp, [r4, r3] | fp = *((r4 + r3));
0x0000b10e add sp, 0xc |
0x0000b110 ldr r3, [pc, 0x284] | r3 = *(0xb398);
0x0000b112 ldr r3, [r4, r3] | r3 = *((r4 + r3));
0x0000b114 mov r2, r3 | r2 = r3;
0x0000b116 str r3, [sp, 0x20] | var_20h = r3;
0x0000b118 ldrb r1, [r2] | r1 = *(r2);
0x0000b11a ldrb.w r3, [fp] | r3 = *(fp);
0x0000b11e b.w 0xa8b2 | goto label_4;
| label_106:
0x0000b122 ldr r2, [pc, 0x290] | r2 = *(0xb3b6);
0x0000b124 ldr.w sl, [r4, r2] | sl = *((r4 + r2));
0x0000b128 ldr.w r2, [sl] | r2 = *(sl);
0x0000b12c cmp r3, 0 |
| if (r3 == 0) {
0x0000b12e beq.w 0xac80 | goto label_10;
| }
0x0000b132 ldr r3, [r2, 0x28] | r3 = *((r2 + 0x28));
0x0000b134 blx r3 | r0 = uint32_t (*r3)(uint32_t) (r3);
0x0000b136 cmp r0, 0 |
| if (r0 == 0) {
0x0000b138 beq.w 0xac80 | goto label_10;
| }
0x0000b13c b 0xadb8 | goto label_12;
| label_110:
0x0000b13e ldr r1, [pc, 0x37c] |
0x0000b140 movs r0, 4 | r0 = 4;
0x0000b142 ldr.w r8, [pc, 0x37c] |
0x0000b146 add r1, pc | r1 = 0x16608;
0x0000b148 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b14c movs r3, 1 | r3 = 1;
0x0000b14e add r8, pc | r8 = 0x16614;
0x0000b150 str r3, [r5] | *(r5) = r3;
0x0000b152 b 0xac4c | goto label_27;
| label_68:
0x0000b154 movs r3, 4 | r3 = 4;
0x0000b156 str r3, [r5] | *(r5) = r3;
0x0000b158 b 0xaa48 | goto label_28;
| label_96:
0x0000b15a ldr r0, [pc, 0x368] |
0x0000b15c add r0, pc | r0 = 0x16626;
0x0000b15e bl 0x11500 | r0 = fcn_00011500 (r0);
0x0000b162 cmp r0, 0 |
| if (r0 != 0) {
0x0000b164 bne.w 0xadb8 | goto label_12;
| }
0x0000b168 ldr r3, [r5] | r3 = *(r5);
0x0000b16a cmp r3, 1 |
| if (r3 > 1) {
0x0000b16c bhi.w 0xb524 | goto label_115;
| }
| label_39:
0x0000b170 ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000b172 cmp r3, 0 |
| if (r3 != 0) {
0x0000b174 bne.w 0xb67a | goto label_116;
| }
| label_40:
0x0000b178 ldrb.w r3, [sb] | r3 = *(sb);
0x0000b17c cmp r3, 0 |
| if (r3 == 0) {
0x0000b17e beq.w 0xb35e | goto label_117;
| }
0x0000b182 ldr r2, [pc, 0x218] | r2 = *(0xb39e);
0x0000b184 ldr r6, [r4, r2] | r6 = *((r4 + r2));
0x0000b186 ldrb r1, [r6] | r1 = *(r6);
| if (r1 == 0) {
0x0000b188 cbnz r1, 0xb190 |
0x0000b18a ldrb.w r0, [fp] | r0 = *(fp);
| if (r0 == 0) {
0x0000b18e cbz r0, 0xb1a8 | goto label_38;
| }
| }
| label_42:
0x0000b190 movs r2, 0 | r2 = 0;
0x0000b192 mov r0, r2 | r0 = r2;
0x0000b194 bl 0x91f4 | r0 = fcn_000091f4 (r0, r1, r2);
0x0000b198 cmp r0, 0 |
| if (r0 != 0) {
0x0000b19a bne.w 0xadb8 | goto label_12;
| }
0x0000b19e ldr r3, [pc, 0x1fc] | r3 = *(0xb39e);
0x0000b1a0 ldr r6, [r4, r3] | r6 = *((r4 + r3));
0x0000b1a2 ldrb.w r3, [sb] | r3 = *(sb);
0x0000b1a6 ldrb r0, [r6] | r0 = *(r6);
| label_38:
0x0000b1a8 ldr r1, [pc, 0x31c] |
0x0000b1aa ldr r2, [r5] | r2 = *(r5);
0x0000b1ac strd r3, r0, [sp, 4] | __asm ("strd r3, r0, [var_4h]");
0x0000b1b0 movs r3, 0 | r3 = 0;
0x0000b1b2 str r3, [sp] | *(sp) = r3;
0x0000b1b4 add r1, pc | r1 = 0x16680;
0x0000b1b6 movs r3, 1 | r3 = 1;
0x0000b1b8 movs r0, 7 | r0 = 7;
0x0000b1ba bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b1be ldr r3, [r5] | r3 = *(r5);
0x0000b1c0 cmp r3, 0 |
| if (r3 != 0) {
0x0000b1c2 bne.w 0xb6ca | goto label_118;
| }
| label_41:
0x0000b1c6 ldr r3, [sp, 0x14] | r3 = var_14h;
0x0000b1c8 ldr r1, [r3] | r1 = *(r3);
0x0000b1ca cmp r1, 1 |
| if (r1 == 1) {
0x0000b1cc beq.w 0xb776 | void (*0xb776)() ();
| }
| label_34:
0x0000b22a movs r0, 0 | r0 = 0;
0x0000b22c b 0xadbe | goto label_20;
| label_107:
0x0000b22e ldrb.w r3, [r8] | r3 = *(r8);
0x0000b232 cmp r3, 0 |
| if (r3 == 0) {
0x0000b234 beq.w 0xaf26 | goto label_29;
| }
0x0000b238 ldr r1, [pc, 0x294] |
0x0000b23a mov r2, r8 | r2 = r8;
0x0000b23c movs r0, 4 | r0 = 4;
0x0000b23e add r1, pc | r1 = 0x16712;
0x0000b240 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b244 b 0xaf26 | goto label_29;
| label_91:
0x0000b246 ldr r1, [pc, 0x28c] |
0x0000b248 movs r0, 4 | r0 = 4;
0x0000b24a add r1, pc | r1 = 0x16724;
0x0000b24c bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b250 b 0xad02 | goto label_30;
| label_103:
0x0000b252 ldr r1, [pc, 0x284] |
0x0000b254 movs r0, 7 | r0 = 7;
0x0000b256 add r1, pc | r1 = 0x16734;
0x0000b258 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b25c ldr r0, [pc, 0x27c] |
0x0000b25e add r0, pc | r0 = 0x1673e;
0x0000b260 blx 0x3030 | r0 = fcn_00003030 ();
0x0000b264 cmp r0, 0 |
| if (r0 >= 0) {
0x0000b266 bge.w 0xae86 | goto label_31;
| }
0x0000b26a ldr r1, [pc, 0x274] |
0x0000b26c movs r0, 2 | r0 = 2;
0x0000b26e add r1, pc | r1 = 0x16754;
0x0000b270 bl 0x10568 | r0 = fcn_00010568 (r0, r1, r2);
0x0000b274 blx 0x317c | strncpy (r0, r1, r2);
0x0000b276 vmlal.s8 q3, d2, d0 | __asm ("vmlal.s8 q3, d2, d0");
0x0000b27a b 0xadbe | goto label_20;
| label_90:
0x0000b27c ldr r1, [pc, 0x264] |
0x0000b27e movs r0, 4 | r0 = 4;
0x0000b280 add r1, pc | r1 = 0x16768;
0x0000b282 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b286 b 0xad02 | goto label_30;
| label_112:
0x0000b288 ldr r1, [pc, 0x25c] |
0x0000b28a movs r0, 4 | r0 = 4;
0x0000b28c add r1, pc | r1 = 0x16778;
0x0000b28e bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b292 ldr r2, [r5] | r2 = *(r5);
0x0000b294 b 0xabf6 | goto label_23;
| label_76:
0x0000b296 ldr r1, [pc, 0x254] |
0x0000b298 movs r0, 5 | r0 = 5;
0x0000b29a add r1, pc | r1 = 0x1678c;
0x0000b29c bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b2a0 ldr.w sl, [r5] | sl = *(r5);
0x0000b2a4 b.w 0xa876 | goto label_9;
| label_113:
0x0000b2a8 ldr r1, [pc, 0x244] |
0x0000b2aa lsrs r2, r2, 0xa | r2 >>= 0xa;
0x0000b2ac movs r0, 3 | r0 = 3;
0x0000b2ae add r1, pc | r1 = 0x167a2;
0x0000b2b0 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b2b4 movs r0, 3 | r0 = 3;
0x0000b2b6 bl 0x9eb8 | fcn_00009eb8 (r0);
0x0000b2ba ldrb.w r3, [sb] | r3 = *(sb);
0x0000b2be movs r2, 3 | r2 = 3;
0x0000b2c0 str r2, [r5] | *(r5) = r2;
0x0000b2c2 cmp r3, 0 |
| if (r3 == 0) {
0x0000b2c4 beq.w 0xad1a | goto label_32;
| }
0x0000b2c8 ldr r3, [sp, 0x14] | r3 = var_14h;
0x0000b2ca ldr.w r8, [pc, 0x228] |
0x0000b2ce ldr r3, [r3] | r3 = *(r3);
0x0000b2d0 add r8, pc | r8 = 0x167ca;
0x0000b2d2 b 0xac0a | goto label_33;
| label_71:
0x0000b2d4 ldr r1, [pc, 0x220] |
0x0000b2d6 movs r0, 4 | r0 = 4;
0x0000b2d8 add r1, pc | r1 = 0x167d4;
0x0000b2da bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b2de b 0xb22a | goto label_34;
| label_89:
0x0000b2e0 ldr r1, [pc, 0x218] |
0x0000b2e2 movs r0, 4 | r0 = 4;
0x0000b2e4 ldr r3, [sp, 0x18] | r3 = var_18h;
0x0000b2e6 add r1, pc | r1 = 0x167e6;
0x0000b2e8 str r3, [sp, 0x10] | var_10h = r3;
0x0000b2ea bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b2ee ldr r2, [r5] | r2 = *(r5);
0x0000b2f0 b 0xad36 | goto label_35;
| label_114:
0x0000b2f2 ldr r0, [pc, 0x20c] |
0x0000b2f4 ldr.w r8, [pc, 0x20c] |
0x0000b2f8 add r0, pc | r0 = 0x167fe;
0x0000b2fa blx 0x2d84 | fcn_00002d84 ();
0x0000b2fe ldr r1, [pc, 0x208] |
0x0000b300 add r8, pc | r8 = 0x16808;
0x0000b302 add r1, pc | r1 = 0x16810;
0x0000b304 b 0xabd8 | goto label_6;
| label_60:
0x0000b306 ldr r3, [r5] | r3 = *(r5);
0x0000b308 cmp r3, 4 |
| if (r3 == 4) {
0x0000b30a beq.w 0xb66a | goto label_119;
| }
0x0000b30e cmp r3, 3 |
| if (r3 == 3) {
0x0000b310 beq.w 0xb6ac | goto label_120;
| }
0x0000b314 ldr r0, [pc, 0x1f4] |
0x0000b316 ldr.w r8, [pc, 0x1f8] |
0x0000b31a add r0, pc | r0 = 0x1682a;
0x0000b31c blx 0x2d84 | fcn_00002d84 ();
0x0000b320 ldr r1, [pc, 0x1f0] |
0x0000b322 add r8, pc | r8 = 0x16838;
0x0000b324 add r1, pc | r1 = 0x1683c;
0x0000b326 b 0xabd8 | goto label_6;
| label_109:
0x0000b328 ldr r1, [pc, 0x1ec] |
0x0000b32a movs r0, 2 | r0 = 2;
0x0000b32c add r1, pc | r1 = 0x16848;
0x0000b32e bl 0x10568 | r0 = fcn_00010568 (r0, r1, r2);
0x0000b332 blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000b336 ldr r0, [r0] | r0 = *(r0);
0x0000b338 b 0xadbe | goto label_20;
| label_93:
0x0000b33a ldr r3, [sp, 0x10] | r3 = var_10h;
0x0000b33c str r3, [sp, 0x18] | var_18h = r3;
0x0000b33e b 0xac52 | goto label_36;
| label_92:
0x0000b340 ldr r1, [pc, 0x1d8] |
0x0000b342 movs r0, 4 | r0 = 4;
0x0000b344 add r1, pc | r1 = 0x16864;
0x0000b346 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b34a b 0xad16 | goto label_37;
| label_69:
0x0000b34c ldr r1, [pc, 0x1d0] |
0x0000b34e movs r0, 2 | r0 = 2;
0x0000b350 add r1, pc | r1 = 0x16874;
0x0000b352 bl 0x10568 | r0 = fcn_00010568 (r0, r1, r2);
0x0000b356 blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000b35a ldr r0, [r0] | r0 = *(r0);
0x0000b35c b 0xadbe | goto label_20;
| label_117:
0x0000b35e ldrb.w r2, [fp] | r2 = *(fp);
0x0000b362 cmp r2, 0 |
| if (r2 != 0) {
0x0000b364 bne.w 0xb6ea | goto label_121;
| }
0x0000b368 ldr r2, [pc, 0x30] | r2 = *(0xb39c);
0x0000b36a ldr r6, [r4, r2] | r6 = *((r4 + r2));
0x0000b36c ldrb r0, [r6] | r0 = *(r6);
0x0000b36e b 0xb1a8 | goto label_38;
| label_115:
0x0000b524 ldr r1, [pc, 0x328] |
0x0000b526 movs r0, 7 | r0 = 7;
0x0000b528 add r1, pc | r1 = 0x16d7c;
0x0000b52a bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b52e ldr r3, [r5] | r3 = *(r5);
0x0000b530 cmp r3, 4 |
| if (r3 != 4) {
0x0000b532 bne.w 0xb6ee | goto label_122;
| }
0x0000b536 ldr.w r3, [sl] | r3 = *(sl);
0x0000b53a movw r2, 0x8001 | r2 = 0x8001;
0x0000b53e ldr r1, [pc, 0x314] |
0x0000b540 movs r0, 0x41 | r0 = 0x41;
0x0000b542 ldr r3, [r3, 0x14] | r3 = *((r3 + 0x14));
0x0000b544 add r1, pc | r1 = 0x16d9e;
0x0000b546 blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
0x0000b548 cmp r0, 0 |
| if (r0 != 0) {
0x0000b54a bne.w 0xb700 | goto label_123;
| }
| label_43:
0x0000b54e ldr r6, [r5] | r6 = *(r5);
0x0000b550 cmp r6, 4 |
| if (r6 == 4) {
0x0000b552 bne 0xb564 |
0x0000b554 ldr.w r3, [sl] | r3 = *(sl);
0x0000b558 movs r0, 0x4b | r0 = 0x4b;
0x0000b55a ldr r3, [r3, 0xc] | r3 = *((r3 + 0xc));
0x0000b55c blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
0x0000b55e cmp r0, 0 |
| if (r0 != 0) {
0x0000b560 bne.w 0xb7a6 | goto label_124;
| }
| }
| label_47:
0x0000b564 ldr r1, [pc, 0x2f0] |
0x0000b566 movs r0, 7 | r0 = 7;
0x0000b568 add r1, pc | r1 = 0x16dc4;
0x0000b56a bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b56e ldr r0, [pc, 0x2ec] |
0x0000b570 add r0, pc | r0 = 0x16dd2;
0x0000b572 bl 0xa454 | fcn_0000a454 (r0);
0x0000b576 ldr r0, [pc, 0x2e8] |
0x0000b578 add r0, pc |
0x0000b57a bl 0xa454 | fcn_0000a454 (r0);
0x0000b57c vceq.i32 d20, d27, d25 | __asm ("vceq.i32 d20, d27, d25");
0x0000b580 add r0, pc | r0 = 0x22362;
0x0000b582 bl 0xa454 | fcn_0000a454 (r0);
0x0000b586 ldr.w r3, [sl] | r3 = *(sl);
0x0000b58a movs r0, 0x4b | r0 = 0x4b;
0x0000b58c ldr r3, [r3, 0xc] | r3 = *((r3 + 0xc));
0x0000b58e blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
0x0000b590 cmp r0, 0 |
| if (r0 == 0) {
0x0000b592 beq.w 0xb760 | goto label_125;
| }
0x0000b596 ldr r1, [pc, 0x2d0] |
0x0000b598 add r1, pc | r1 = 0x16e06;
| label_45:
0x0000b59a movs r0, 7 | r0 = 7;
0x0000b59c bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b5a0 ldr r3, [r5] | r3 = *(r5);
0x0000b5a2 cmp r3, 4 |
| if (r3 == 4) {
0x0000b5a4 beq.w 0xb786 | goto label_126;
| }
0x0000b5a8 cmp r3, 3 |
| if (r3 == 3) {
0x0000b5aa beq.w 0xb792 | goto label_127;
| }
0x0000b5ae cmp r3, 2 |
| if (r3 == 2) {
0x0000b5b0 beq.w 0xb7f2 | goto label_128;
| }
0x0000b5b4 ldr r3, [pc, 0x2b4] |
0x0000b5b6 add r3, pc | r3 = 0x16e26;
| label_46:
0x0000b5b8 str r3, [sp, 4] | var_4h = r3;
0x0000b5ba add r6, sp, 0x1cc | r6 += var_1cch;
0x0000b5bc ldr r3, [pc, 0x2b0] |
0x0000b5be mov.w r2, 0x100 | r2 = 0x100;
0x0000b5c2 ldr r7, [pc, 0x2b0] |
0x0000b5c4 movs r1, 1 | r1 = 1;
0x0000b5c6 mov r0, r6 | r0 = r6;
0x0000b5c8 add r3, pc | r3 = 0x16e3c;
0x0000b5ca str r3, [sp, 0xc] | var_ch = r3;
0x0000b5cc add r7, pc | r7 = 0x16e46;
0x0000b5ce ldr r3, [pc, 0x2a8] |
0x0000b5d0 str r7, [sp, 8] | var_8h = r7;
0x0000b5d2 add r3, pc | r3 = 0x16e50;
0x0000b5d4 str r3, [sp] | *(sp) = r3;
0x0000b5d6 ldr r3, [pc, 0x2a4] |
0x0000b5d8 add r3, pc |
0x0000b5da blx 0x3200 | ERR_error_string ();
0x0000b5de mov r0, r6 | r0 = r6;
0x0000b5e0 blx 0x2de8 | fcn_00002de8 ();
0x0000b5e4 ldr r1, [pc, 0x298] |
0x0000b5e6 mov r6, r0 | r6 = r0;
0x0000b5e8 movs r0, 7 | r0 = 7;
0x0000b5ea add r1, pc | r1 = 0x16e6e;
0x0000b5ec bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b5f0 ldr r0, [pc, 0x290] |
0x0000b5f2 add r0, pc | r0 = 0x16e7a;
0x0000b5f4 blx 0x3030 | fcn_00003030 ();
0x0000b5f8 ldr r0, [pc, 0x28c] |
0x0000b5fa add r0, pc | r0 = 0x16e86;
0x0000b5fc blx 0x3030 | fcn_00003030 ();
0x0000b600 ldr r0, [pc, 0x288] |
0x0000b602 add r0, pc | r0 = 0x16e92;
0x0000b604 blx 0x3030 | fcn_00003030 ();
0x0000b608 ldr r0, [pc, 0x284] |
0x0000b60a add r0, pc | r0 = 0x16e9e;
0x0000b60c blx 0x3030 | fcn_00003030 ();
0x0000b610 ldr r0, [pc, 0x280] |
0x0000b612 add r0, pc | r0 = 0x16eaa;
0x0000b614 blx 0x3030 | fcn_00003030 ();
0x0000b618 ldr.w r3, [sl] | r3 = *(sl);
0x0000b61c mov r1, r7 | r1 = r7;
0x0000b61e movs r0, 0x41 | r0 = 0x41;
0x0000b620 ldr r3, [r3, 0x18] | r3 = *(0x16e72);
0x0000b622 blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
0x0000b624 cmp r0, 0 |
| if (r0 < 0) {
0x0000b626 blt.w 0xb802 | goto label_129;
| }
| label_44:
0x0000b62a lsls r3, r6, 0x19 | r3 = r6 << 0x19;
0x0000b62c ubfx r2, r6, 8, 8 | r2 = (r6 >> 8) & ((1 << 8) - 1);
| if (r3 != r6) {
0x0000b630 bne 0xb63e | goto label_130;
| }
0x0000b632 cmp r2, 0x7f |
| if (r2 == 0x7f) {
0x0000b634 beq.w 0xb7e6 | goto label_131;
| }
0x0000b638 cmp r2, 0 |
| if (r2 == 0) {
0x0000b63a beq.w 0xb170 | goto label_39;
| }
| label_130:
0x0000b63e ldr r1, [pc, 0x258] |
0x0000b640 movs r0, 2 | r0 = 2;
0x0000b642 add r1, pc | r1 = 0x16ee0;
0x0000b644 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b648 ldr r3, [r5] | r3 = *(r5);
0x0000b64a cmp r3, 4 |
| if (r3 != 4) {
0x0000b64c bne.w 0xb170 | goto label_39;
| }
0x0000b650 ldr r3, [sp, 0x14] | r3 = var_14h;
0x0000b652 ldr r3, [r3] | r3 = *(r3);
0x0000b654 cmp r3, 1 |
| if (r3 == 1) {
0x0000b656 beq.w 0xb170 | goto label_39;
| }
0x0000b65a blx 0x317c | strncpy (r0, r1, r2);
0x0000b65e movs r3, 0x34 | r3 = 0x34;
0x0000b660 mov r2, r0 | r2 = r0;
0x0000b662 str r3, [r2] | *(r2) = r3;
0x0000b664 mov r0, r3 | r0 = r3;
0x0000b666 b.w 0xadbe | goto label_20;
| label_119:
0x0000b66a ldr r0, [pc, 0x230] |
0x0000b66c add r0, pc | r0 = 0x16f0e;
0x0000b66e blx 0x2d84 | fcn_00002d84 ();
0x0000b672 ldr r1, [pc, 0x22c] |
0x0000b674 add r1, pc | r1 = 0x16f1a;
0x0000b676 b.w 0xabd8 | goto label_6;
| label_116:
0x0000b67a ldr r1, [pc, 0x228] |
0x0000b67c movs r0, 7 | r0 = 7;
0x0000b67e add r1, pc | r1 = 0x16f28;
0x0000b680 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b684 ldr.w r3, [sl] | r3 = *(sl);
0x0000b688 movs r0, 0x42 | r0 = 0x42;
0x0000b68a ldr r1, [pc, 0x21c] |
0x0000b68c ldr r3, [r3, 0x18] | r3 = *((r3 + 0x18));
0x0000b68e add r1, pc | r1 = 0x16f3c;
0x0000b690 blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
0x0000b692 cmp r0, 0 |
| if (r0 >= 0) {
0x0000b694 bge.w 0xb178 | goto label_40;
| }
0x0000b698 ldr r1, [pc, 0x210] |
0x0000b69a movs r0, 2 | r0 = 2;
0x0000b69c add r1, pc | r1 = 0x16f4c;
0x0000b69e bl 0x10568 | r0 = fcn_00010568 (r0, r1, r2);
0x0000b6a2 blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000b6a6 ldr r0, [r0] | r0 = *(r0);
0x0000b6a8 b.w 0xadbe | goto label_20;
| label_120:
0x0000b6ac ldr r0, [pc, 0x200] |
0x0000b6ae ldr.w r8, [pc, 0x204] |
0x0000b6b2 add r0, pc | r0 = 0x16f66;
0x0000b6b4 blx 0x2d84 | fcn_00002d84 ();
0x0000b6b6 sbc.w sb, r6, pc, ror 17 | __asm ("sbc.w sb, r6, pc, ror 17");
0x0000b6b8 ldr r1, [pc, 0x1fc] |
0x0000b6ba add r8, pc | r8 = 0x16f74;
0x0000b6bc add r1, pc | r1 = 0x16f78;
0x0000b6be b.w 0xabd8 | goto label_6;
| label_111:
0x0000b6c2 str r6, [sp, 0x18] | var_18h = r6;
0x0000b6c4 mov r6, r0 | r6 = r0;
0x0000b6c6 b.w 0xac52 | goto label_36;
| label_118:
0x0000b6ca ldr r0, [pc, 0x1f0] |
0x0000b6cc add r0, pc | r0 = 0x16f8e;
0x0000b6ce bl 0x10d94 | r0 = fcn_00010d94 (r0);
0x0000b6d2 cmp r0, 0 |
| if (r0 != 0) {
0x0000b6d4 bne.w 0xadb8 | goto label_12;
| }
0x0000b6d8 ldr r0, [pc, 0x1e4] |
0x0000b6da add r0, pc | r0 = 0x16f9e;
0x0000b6dc bl 0x10d94 | r0 = fcn_00010d94 (r0);
0x0000b6de smmla r8, sl, r0, r2 | __asm ("smmla r8, sl, r0, r2");
0x0000b6e0 cmp r0, 0 |
| if (r0 == 0) {
0x0000b6e2 beq.w 0xb1c6 | goto label_41;
| }
0x0000b6e4 add r5, sp, 0x1c0 | r5 = sp + 0x1c0;
0x0000b6e6 b.w 0xadb8 | goto label_12;
| label_121:
0x0000b6ea mov r1, r3 | r1 = r3;
0x0000b6ec b 0xb190 | goto label_42;
| label_122:
0x0000b6ee ldr r1, [pc, 0x1d4] |
0x0000b6f0 ldr r0, [pc, 0x1d4] |
0x0000b6f2 add r1, pc | r1 = 0x16fbc;
0x0000b6f4 add r0, pc | r0 = 0x16fc0;
0x0000b6f6 bl 0xa224 | r0 = fcn_0000a224 (r0, r1);
0x0000b6fa cmp r0, 0 |
| if (r0 == 0) {
0x0000b6fc beq.w 0xb54e | goto label_43;
| }
| label_123:
0x0000b700 ldr r1, [pc, 0x1c8] |
0x0000b702 movs r0, 4 | r0 = 4;
0x0000b704 add r1, pc | r1 = 0x16fd4;
0x0000b706 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b70a ldr r1, [pc, 0x1c4] |
0x0000b70c movs r0, 7 | r0 = 7;
0x0000b70e add r1, pc | r1 = 0x16fe4;
0x0000b710 bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b714 ldr r3, [r5] | r3 = *(r5);
0x0000b716 cmp r3, 4 |
| if (r3 == 4) {
0x0000b718 beq 0xb7e0 | goto label_132;
| }
0x0000b71a cmp r3, 3 |
| if (r3 == 3) {
0x0000b71c beq 0xb7f8 | goto label_133;
| }
0x0000b71e cmp r3, 2 |
| if (r3 == 2) {
0x0000b720 beq.w 0xb83c | goto label_134;
| }
0x0000b724 ldr r3, [pc, 0x1ac] |
0x0000b726 add r3, pc | r3 = 0x16ffe;
| label_48:
0x0000b728 str r3, [sp, 4] | var_4h = r3;
0x0000b72a add r6, sp, 0x1cc | r6 += var_1cch;
0x0000b72c ldr r3, [pc, 0x1a8] |
0x0000b72e mov.w r2, 0x100 | r2 = 0x100;
0x0000b732 movs r1, 1 | r1 = 1;
0x0000b734 mov r0, r6 | r0 = r6;
0x0000b736 add r3, pc | r3 = 0x17012;
0x0000b738 strd r3, r3, [sp, 8] | __asm ("strd r3, r3, [var_ch]");
0x0000b73c ldr r3, [pc, 0x19c] |
0x0000b73e add r3, pc | r3 = 0x1701e;
0x0000b740 str r3, [sp] | *(sp) = r3;
0x0000b742 ldr r3, [pc, 0x19c] |
0x0000b744 add r3, pc | r3 = 0x1702a;
0x0000b746 blx 0x3200 | ERR_error_string ();
0x0000b74a mov r0, r6 | r0 = r6;
0x0000b74c blx 0x2de8 | r0 = fcn_00002de8 ();
0x0000b750 mov r6, r0 | r6 = r0;
0x0000b752 b 0xb62a | goto label_44;
| label_125:
0x0000b760 ldr r0, [pc, 0x184] |
0x0000b762 add r0, pc | r0 = 0x1704e;
0x0000b764 bl 0xa454 | fcn_0000a454 (r0);
0x0000b768 ldr r0, [pc, 0x180] |
0x0000b76a add r0, pc | r0 = 0x1705a;
0x0000b76c bl 0xa454 | fcn_0000a454 (r0);
0x0000b770 ldr r1, [pc, 0x17c] |
0x0000b772 add r1, pc | r1 = 0x17066;
0x0000b774 b 0xb59a | goto label_45;
| label_126:
0x0000b786 ldr r3, [pc, 0x16c] |
0x0000b788 add r3, pc | r3 = 0x17082;
0x0000b78a b 0xb5b8 | goto label_46;
| label_127:
0x0000b792 ldr r3, [pc, 0x164] |
0x0000b794 add r3, pc | r3 = 0x17092;
0x0000b796 b 0xb5b8 | goto label_46;
| label_55:
0x0000b798 ldr r3, [pc, 0x160] | r3 = *(0xb8fc);
0x0000b79a ldr.w fp, [r4, r3] | fp = *((r4 + r3));
0x0000b79e ldrb.w r3, [fp] | r3 = *(fp);
0x0000b7a2 b.w 0xa8b2 | goto label_4;
0x0000b7a4 invalid |
| label_124:
0x0000b7a6 ldr r1, [pc, 0x158] |
0x0000b7a8 movs r0, 7 | r0 = 7;
0x0000b7aa add r1, pc | r1 = 0x170b0;
0x0000b7ac bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b7b0 ldr.w r3, [sl] | r3 = *(sl);
0x0000b7b4 movs r2, 1 | r2 = 1;
0x0000b7b6 ldr r1, [pc, 0x14c] |
0x0000b7b8 movs r0, 0x4b | r0 = 0x4b;
0x0000b7ba ldr r3, [r3, 0x14] | r3 = *((r3 + 0x14));
0x0000b7bc add r1, pc | r1 = 0x170c6;
0x0000b7be blx r3 | r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
| if (r0 != 0) {
0x0000b7c0 cbnz r0, 0xb816 | goto label_135;
| }
0x0000b7c2 ldr r1, [pc, 0x144] |
0x0000b7c4 ldr r0, [pc, 0x144] |
0x0000b7c6 add r1, pc | r1 = 0x170d4;
0x0000b7c8 add r0, pc | r0 = 0x170d8;
0x0000b7ca invalid |
0x0000b7cc stc2 p8, c2, [fp, -0]! | __asm ("stc2 p8, c2, [fp, -0]!");
| if (r0 == 0) {
0x0000b7d0 beq.w 0xb564 | goto label_47;
| }
0x0000b7d2 add r6, sp, 0x320 | r6 = sp + 0x320;
0x0000b7d4 ldr r1, [pc, 0x138] |
0x0000b7d6 mov r0, r6 | r0 = r6;
0x0000b7d8 add r1, pc | r1 = 0x170ec;
0x0000b7da bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b7de b 0xb564 | goto label_47;
| label_132:
0x0000b7e0 ldr r3, [pc, 0x130] |
0x0000b7e2 add r3, pc | r3 = 0x170fa;
0x0000b7e4 b 0xb728 | goto label_48;
| label_131:
0x0000b7e6 ldr r1, [pc, 0x130] |
0x0000b7e8 movs r0, 5 | r0 = 5;
0x0000b7ea add r1, pc | r1 = 0x17108;
0x0000b7ec bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b7f0 b 0xb170 | goto label_39;
| label_128:
0x0000b7f2 ldr r3, [pc, 0x128] |
0x0000b7f4 add r3, pc | r3 = 0x17116;
0x0000b7f6 b 0xb5b8 | goto label_46;
| label_133:
0x0000b7f8 ldr r3, [pc, 0x124] |
0x0000b7fa add r3, pc | r3 = 0x1711e;
0x0000b7fc b 0xb728 | goto label_48;
| label_97:
0x0000b7fe blx 0x2eac | socket (r0, r1, r2);
| label_129:
0x0000b802 ldr r1, [pc, 0x120] |
0x0000b804 movs r0, 2 | r0 = 2;
0x0000b806 add r1, pc | r1 = 0x17130;
0x0000b808 bl 0x10568 | r0 = fcn_00010568 (r0, r1, r2);
0x0000b80c blx 0x317c | r0 = strncpy (r0, r1, r2);
0x0000b810 ldr r0, [r0] | r0 = *(r0);
0x0000b812 b.w 0xadbe | goto label_20;
| label_135:
0x0000b816 ldr r1, [pc, 0x110] |
0x0000b818 movs r0, 2 | r0 = 2;
0x0000b81a add r1, pc | r1 = 0x17148;
0x0000b81c bl 0x10568 | fcn_00010568 (r0, r1, r2);
0x0000b81e mcr2 p7, 5, pc, c4, c7, 7 | __asm ("mcr2 p7, 5, pc, c4, c7, 7");
0x0000b822 stc p8, c6, [ip], 0 | __asm ("stc p8, c6, [ip], 0");
0x0000b826 b.w 0xadbe | goto label_20;
| label_134:
0x0000b83c ldr r3, [pc, 0xec] |
0x0000b83e add r3, pc | r3 = 0x1716e;
0x0000b840 b 0xb728 | goto label_48;
| label_51:
0x0000b842 ldr r3, [pc, 0xec] | r3 = *(0xb932);
0x0000b844 str r6, [sp, 0x10] | var_10h = r6;
0x0000b846 ldr.w sb, [r4, r3] | sb = *((r4 + r3));
0x0000b84a b.w 0xab4a | goto label_49;
| /* Beware that this jump is a conditional jump.
| * r2dec transformed it as a return, due being the
| * last instruction. Please, check 'pdda' output
| * for more hints. */
0x0000b84c cbnz r6, 0xb86e | return void (*0xb86e)() ();
| }
[*] Function popen used 1 times fwmgr