[*] Binary protection state of pcretest
Partial RELRO No Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function printf tear down of pcretest
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/pcretest @ 0x113f8 */
| #include <stdint.h>
|
; (fcn) fcn.000113f8 () | void fcn_000113f8 (int32_t arg1, uint32_t arg2) {
| r0 = arg1;
| r1 = arg2;
| /* [10] -r-x section size 30504 named .text */
0x000113f8 cmp r1, 0 |
0x000113fc push {r4, lr} |
0x00011400 mov r4, r0 | r4 = r0;
| if (r1 == 0) {
0x00011404 bne 0x11410 |
0x00011408 ldr r0, [pc, 0x68] | r0 = *(0x11474);
0x0001140c bl 0x1114c | printf (r0)
| }
0x00011410 cmp r4, 0xa |
| if (r4 == 0xa) {
0x00011414 beq 0x11460 | goto label_1;
| }
| if (r4 > 0xa) {
0x00011418 bgt 0x11440 | goto label_2;
| }
0x0001141c cmn r4, 2 |
| if (r4 == 2) {
0x00011420 beq 0x11468 | goto label_3;
| }
0x00011424 cmn r4, 1 |
| if (r4 != 1) {
0x00011428 ldreq r0, [pc, 0x4c] | r0 = *((pc + 0x4c));
| }
| if (r4 == 1) {
0x0001142c beq 0x11458 | goto label_0;
| }
| do {
0x00011430 mov r1, r4 | r1 = r4;
0x00011434 ldr r0, [pc, 0x44] | r0 = *(0x1147c);
0x00011438 pop {r4, lr} |
0x0001143c b 0x1114c | void (*0x1114c)() ();
| label_2:
0x00011440 cmp r4, 0xd |
| if (r4 == 0xd) {
0x00011444 beq 0x11470 | goto label_4;
| }
0x00011448 ldr r3, [pc, 0x34] | r3 = "a non-standard value: 0x%04x\n";
0x0001144c cmp r4, r3 |
| if (r4 != r3) {
0x00011450 ldreq r0, [pc, 0x30] | r0 = *((pc + 0x30));
| }
0x00011454 bne 0x11430 |
| } while (r4 != r3);
| do {
| label_0:
0x00011458 pop {r4, lr} |
0x0001145c b 0x111ac | void (*0x111ac)() ();
| label_1:
0x00011460 ldr r0, [pc, 0x24] | r0 = *(0x11488);
0x00011464 b 0x11458 |
| } while (1);
| label_3:
0x00011468 ldr r0, [pc, 0x20] | r0 = *(0x1148c);
0x0001146c b 0x11458 | goto label_0;
| label_4:
0x00011470 ldr r0, [pc, 0x1c] | r0 = "ANYCRLF";
0x00011474 b 0x11458 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/pcretest @ 0x167b4 */
| #include <stdint.h>
|
; (fcn) fcn.000167b4 () | void fcn_000167b4 (int32_t arg1, int32_t arg2) {
| int32_t var_4h;
| int32_t var_8h;
| void * ptr;
| int32_t var_14h;
| r0 = arg1;
| r1 = arg2;
0x000167b4 push {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x000167b8 ldr r6, [pc, 0x140] | r6 = *(0x168fc);
0x000167bc sub sp, sp, 0x14 |
0x000167c0 mov fp, r0 |
0x000167c4 mov r8, r1 | r8 = r1;
0x000167c8 mov r4, r1 | r4 = r1;
0x000167cc str r2, [sp, 8] | var_8h = r2;
| do {
| label_0:
0x000167d0 ldr r3, [pc, 0x12c] | r3 = *(0x16900);
0x000167d4 ldr r7, [r6, 0x10] | r7 = *((r6 + 0x10));
0x000167d8 ldr sb, [r3] | sb = *(0x16900);
0x000167dc sub r3, r8, r7 | r3 = r8 - r7;
0x000167e0 sub r5, sb, r3 | r5 = sb - r3;
0x000167e4 cmp r5, 0x3e8 |
0x000167e8 str r3, [sp, 4] | var_4h = r3;
| if (r5 < 0x3e8) {
0x000167ec bls 0x1685c | goto label_2;
| }
0x000167f0 ldr r3, [pc, 0x110] |
0x000167f4 ldr r3, [r3] | r3 = *(0x16904);
0x000167f8 cmp r3, fp |
| if (r3 == fp) {
0x000167fc bne 0x1680c |
0x00016800 ldr r1, [sp, 8] | r1 = var_8h;
0x00016804 ldr r0, [pc, 0x100] | r0 = stdin;
0x00016808 bl 0x1114c | printf (r0, r1)
| }
0x0001680c mov r2, fp | r2 = fp;
0x00016810 mov r1, r5 | r1 = r5;
0x00016814 mov r0, r8 | r0 = r8;
0x00016818 bl 0x1117c | r0 = fgets (r0, r1, r2);
0x0001681c cmp r0, 0 |
| if (r0 == 0) {
0x00016820 bne 0x16838 |
0x00016824 cmp r4, r8 |
| if (r4 != r8) {
0x00016828 moveq r4, 0 | r4 = 0;
| }
| label_1:
0x0001682c mov r0, r4 | r0 = r4;
0x00016830 add sp, sp, 0x14 |
0x00016834 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| }
0x00016838 mov r0, r8 | r0 = r8;
0x0001683c bl 0x1135c | r0 = strlen (r0);
0x00016840 cmp r0, 0 |
0x00016844 add r8, r8, r0 | r8 += r0;
0x00016848 beq 0x167d0 |
| } while (r0 == 0);
0x0001684c ldrb r3, [r8, -1] | r3 = *((r8 - 1));
0x00016850 cmp r3, 0xa |
| if (r3 != 0xa) {
0x00016854 bne 0x167d0 | goto label_0;
| }
0x00016858 b 0x1682c | goto label_1;
| label_2:
0x0001685c lsl r8, sb, 1 | r8 = sb << 1;
0x00016860 mov r0, r8 | r0 = r8;
0x00016864 bl 0x111b8 | r0 = malloc (r0);
0x00016868 mov r5, r0 | r5 = r0;
0x0001686c mov r0, r8 | r0 = r8;
0x00016870 bl 0x111b8 | r0 = malloc (r0);
0x00016874 cmp r0, 0 |
0x00016878 cmpne r5, 0 | __asm ("cmpne r5, 0");
0x0001687c mov sl, r0 | sl = r0;
| if (r0 == 0) {
0x00016880 bne 0x168a0 |
0x00016884 ldr r3, [pc, 0x84] | r3 = *(0x1690c);
0x00016888 mov r2, r8 | r2 = r8;
0x0001688c ldr r1, [pc, 0x80] | r1 = stderr;
0x00016890 ldr r0, [r3] | r0 = *(0x1690c);
0x00016894 bl 0x11200 | fprintf (r0, r1, r2, r3)
0x00016898 mov r0, 1 | r0 = 1;
0x0001689c bl 0x11344 | exit (r0);
| }
0x000168a0 mov r2, sb | r2 = sb;
0x000168a4 mov r1, r7 | r1 = r7;
0x000168a8 mov r0, r5 | r0 = r5;
0x000168ac bl 0x11194 | memcpy (r0, r1, r2);
0x000168b0 ldr r3, [r6, 0x14] | r3 = *((r6 + 0x14));
0x000168b4 mov r2, sb | r2 = sb;
0x000168b8 mov r1, r3 | r1 = r3;
0x000168bc mov r0, sl | r0 = sl;
0x000168c0 str r3, [sp, 0xc] | ptr = r3;
0x000168c4 bl 0x11194 | memcpy (r0, r1, r2);
0x000168c8 ldr r3, [pc, 0x34] | r3 = *(0x16900);
0x000168cc mov r0, r7 | r0 = r7;
0x000168d0 str r8, [r3] | *(r3) = r8;
0x000168d4 ldr r3, [sp, 4] | r3 = var_4h;
0x000168d8 sub r4, r4, r7 | r4 -= r7;
0x000168dc add r8, r5, r3 | r8 = r5 + r3;
0x000168e0 bl 0x113d4 | free (r0);
0x000168e4 ldr r3, [sp, 0xc] | r3 = ptr;
0x000168e8 add r4, r5, r4 | r4 = r5 + r4;
0x000168ec mov r0, r3 | r0 = r3;
0x000168f0 bl 0x113d4 | free (r0);
0x000168f4 str r5, [r6, 0x10] | *((r6 + 0x10)) = r5;
0x000168f8 str sl, [r6, 0x14] | *((r6 + 0x14)) = sl;
0x000168fc b 0x167d0 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/pcretest @ 0x11498 */
| #include <stdint.h>
|
| #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
|
; (fcn) main () | int32_t main (char ** envp, int32_t arg_4ch, void * arg_50h, int32_t arg_54h, void * s1, int32_t arg_5ch, int32_t arg_60h, int32_t arg_64h, int32_t arg_68h, void * ptr, char * arg_70h, int32_t arg_74h, int32_t arg_78h, int32_t arg_7ch, int32_t arg_80h, int32_t arg_84h, int32_t arg_88h, int32_t arg_8ch, void * arg_90h, int32_t arg_94h, size_t size, int32_t arg_9ch, int32_t arg_a0h, int32_t arg_a4h, int32_t arg_a8h, int32_t arg_ach, int32_t arg_b0h, int32_t arg_b4h, int32_t arg_b8h, int32_t arg_bch, int32_t arg_c0h, int32_t arg_c4h, int32_t arg_c8h, int32_t arg_cch, int32_t arg_d0h, int32_t arg_d4h, int32_t arg_d8h, int32_t arg_dch, int32_t arg_e0h, int32_t arg_e4h, int32_t arg_e8h, int32_t arg_ech, int32_t arg_f0h, int32_t arg_f4h, int32_t arg_f8h, int32_t arg_fch, int32_t arg_100h, int32_t arg_104h, int32_t arg_108h, int32_t arg_10ch, int32_t arg_114h, int32_t arg_118h, int32_t arg_11ch, int32_t arg_120h, int32_t arg_124h, int32_t arg_128h, int32_t arg_12ch, int32_t arg_130h, int32_t arg_134h, int32_t arg_138h, int32_t arg_13ch, int32_t arg_140h, int32_t arg_144h, int32_t arg_148h, int32_t arg_14ch, int32_t arg_150h, int32_t arg_154h, int32_t arg_158h, int32_t arg_15ch, int32_t arg_160h, int32_t arg_164h, int32_t arg_168h, int32_t arg_16ch, FILE * stream, int32_t arg_174h, int32_t arg_178h, int32_t arg_17ch, char * s, char * format, int32_t arg_199h, int32_t arg_19ah, int32_t arg_19bh, int32_t arg_19ch, int32_t arg_19dh, int32_t arg_19eh, int32_t arg_19fh, int32_t arg_298h, int32_t arg_1280h, int32_t argc, char ** argv) {
| int32_t var_0h;
| int32_t var_4h;
| int32_t var_8h;
| int32_t var_ch;
| int32_t var_10h;
| int32_t var_14h;
| int32_t var_18h;
| int32_t var_1ch;
| int32_t var_20h;
| int32_t var_24h;
| int32_t var_28h;
| int32_t var_2ch;
| int32_t var_30h;
| int32_t var_34h;
| int32_t var_38h;
| int32_t var_3ch;
| r0 = argc;
| r1 = argv;
0x00011498 ldr r3, [pc, 0xeb0] |
0x0001149c push {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x000114a0 ldr r3, [r3] | r3 = *(0x1234c);
0x000114a4 sub sp, sp, 0x2280 |
0x000114a8 sub sp, sp, 0x1c |
0x000114ac mov r2, 0x18 | r2 = 0x18;
0x000114b0 mov r6, r0 | r6 = r0;
0x000114b4 mov r7, r1 | r7 = r1;
0x000114b8 add r0, sp, 0x180 | r0 += s;
0x000114bc mov r1, 0 | r1 = 0;
0x000114c0 str r3, [sp, 0x74] | *(arg_74h) = r3;
0x000114c4 bl 0x11284 | memset (r0, r1, r2);
0x000114c8 ldr r3, [pc, 0xe84] | r3 = stdin;
0x000114cc ldr r4, [pc, 0xe84] | r4 = *(0x12354);
0x000114d0 ldr r5, [r3] | r5 = stdin;
0x000114d4 mov fp, 0 |
0x000114d8 mov r0, r5 | r0 = r5;
0x000114dc bl 0x111b8 | malloc (r0);
0x000114e0 str r0, [r4, 0x10] | *((r4 + 0x10)) = r0;
0x000114e4 mov r0, r5 | r0 = r5;
0x000114e8 bl 0x111b8 | malloc (r0);
0x000114ec ldr r3, [pc, 0xe68] |
0x000114f0 mov r5, 1 | r5 = 1;
0x000114f4 ldr r3, [r3] | r3 = *(0x12358);
0x000114f8 str r3, [r4, 0xc] | *((r4 + 0xc)) = r3;
0x000114fc str r0, [r4, 0x14] | *((r4 + 0x14)) = r0;
0x00011500 bl 0x111f4 | pcre_version ();
0x00011504 mov r3, 0 | r3 = 0;
0x00011508 str r3, [sp, 0xb4] | *(arg_b4h) = r3;
0x0001150c str r3, [sp, 0x9c] | *(arg_9ch) = r3;
0x00011510 str r3, [sp, 0x104] | *(arg_104h) = r3;
0x00011514 str r3, [sp, 0xb0] | *(arg_b0h) = r3;
0x00011518 mov r3, 0x2d | r3 = 0x2d;
0x0001151c str r3, [sp, 0xc0] | *(arg_c0h) = r3;
0x00011520 mvn r3, 0 | r3 = ~0;
0x00011524 str fp, [sp, 0xbc] | *(arg_bch) = fp;
0x00011528 str r3, [sp, 0xac] | *(arg_ach) = r3;
0x0001152c str fp, [sp, 0xd8] | *(arg_d8h) = fp;
0x00011530 str fp, [sp, 0xa8] | *(arg_a8h) = fp;
0x00011534 str fp, [sp, 0x68] | *(arg_68h) = fp;
0x00011538 str fp, [sp, 0x88] | *(arg_88h) = fp;
0x0001153c str fp, [sp, 0x84] | *(arg_84h) = fp;
0x00011540 str fp, [sp, 0xfc] | *(arg_fch) = fp;
0x00011544 str fp, [sp, 0x100] | *(arg_100h) = fp;
0x00011548 mov sl, r0 | sl = r0;
| label_0:
0x0001154c cmp r6, 1 |
| if (r6 > 1) {
0x00011550 ble 0x11568 |
0x00011554 ldr r4, [r7, r5, lsl 2] | offset_0 = r5 << 2;
| r4 = *((r7 + offset_0));
0x00011558 lsl r8, r5, 2 | r8 = r5 << 2;
0x0001155c ldrb r3, [r4] | r3 = *(r4);
0x00011560 cmp r3, 0x2d |
| if (r3 == 0x2d) {
0x00011564 beq 0x115a8 | goto label_89;
| }
| }
0x00011568 ldr r3, [sp, 0xc0] | r3 = *(arg_c0h);
0x0001156c lsl r4, r3, 2 | r4 = r3 << 2;
0x00011570 mov r0, r4 | r0 = r4;
0x00011574 bl 0x111b8 | r0 = malloc (r0);
0x00011578 subs r3, r0, 0 | r3 = r0 - 0;
0x0001157c str r3, [sp, 0x90] | *(arg_90h) = r3;
| if (r3 != r0) {
0x00011580 bne 0x11d68 | goto label_90;
| }
0x00011584 mov r1, r4 | r1 = r4;
0x00011588 ldr r0, [pc, 0xdd0] | r0 = stdout;
0x0001158c bl 0x1114c | printf (r0, r1)
0x00011590 ldr r3, [sp, 0x90] | r3 = *(arg_90h);
0x00011594 str r3, [sp, 0x60] | *(arg_60h) = r3;
0x00011598 str r3, [sp, 0x6c] | *(ptr) = r3;
| label_10:
0x0001159c mov r3, 1 | r3 = 1;
| label_17:
0x000115a0 str r3, [sp, 0x68] | *(arg_68h) = r3;
0x000115a4 b 0x11968 | goto label_16;
| label_89:
0x000115a8 ldr r1, [pc, 0xdb4] | r1 = "** Failed to get %d bytes of memory for offsets vector\n";
0x000115ac mov r0, r4 | r0 = r4;
0x000115b0 bl 0x112b4 | r0 = strcmp (r0, "** Failed to get %d bytes of memory for offsets vector\n");
0x000115b4 cmp r0, 0 |
| if (r0 == 0) {
0x000115b8 beq 0x11cf0 | goto label_91;
| }
0x000115bc ldr r1, [pc, 0xda4] | r1 = *(0x12364);
0x000115c0 mov r0, r4 | r0 = r4;
0x000115c4 bl 0x112b4 | r0 = strcmp (r0, r1);
0x000115c8 cmp r0, 0 |
| if (r0 == 0) {
0x000115cc beq 0x11cfc | goto label_92;
| }
0x000115d0 mov r2, 3 | r2 = 3;
0x000115d4 ldr r1, [pc, 0xd90] | r1 = "_s";
0x000115d8 mov r0, r4 | r0 = r4;
0x000115dc bl 0x11224 | r0 = strncmp (r0, "_s", r2);
0x000115e0 cmp r0, 0 |
| if (r0 == 0) {
0x000115e4 bne 0x11638 |
0x000115e8 ldrb r3, [r4, 3] | r3 = *((r4 + 3));
0x000115ec cmp r3, 0x2b |
| if (r3 != 0x2b) {
0x000115f0 moveq r3, 1 | r3 = 1;
| }
| if (r3 == 0x2b) {
0x000115f4 addne r4, r4, 3 | r4 += 3;
| }
| if (r3 != 0x2b) {
0x000115f8 addeq r4, r4, 4 | r4 += 4;
| }
| if (r3 != 0x2b) {
0x000115fc streq r3, [sp, 0x9c] | *(arg_9ch) = r3;
| }
0x00011600 ldrb r3, [r4] | r3 = *(r4);
0x00011604 cmp r3, 0 |
| if (r3 == 0) {
0x00011608 beq 0x11d04 | goto label_93;
| }
0x0001160c sub r3, r3, 0x31 | r3 -= 0x31;
0x00011610 and r2, r3, 0xff | r2 = r3 & 0xff;
0x00011614 cmp r2, 6 |
| if (r2 > 6) {
0x00011618 bhi 0x11cdc | goto label_94;
| }
0x0001161c ldr r2, [pc, 0xf60] | r2 = "** Missing 0 or 1 after /Q\n";
0x00011620 add r3, r2, r3, lsl 2 | r3 = r2 + (r3 << 2);
0x00011624 ldr r3, [r3, 0x898] | r3 = *((r3 + 0x898));
| label_6:
0x00011628 str r3, [sp, 0xbc] | *(arg_bch) = r3;
0x0001162c mov r3, 1 | r3 = 1;
0x00011630 str r3, [sp, 0xac] | *(arg_ach) = r3;
0x00011634 b 0x11830 | goto label_5;
| }
0x00011638 ldr r1, [pc, 0xd30] | r1 = *(0x1236c);
0x0001163c mov r0, r4 | r0 = r4;
0x00011640 bl 0x112b4 | r0 = strcmp (r0, r1);
0x00011644 cmp r0, 0 |
| if (r0 != 0) {
0x00011648 ldreq r3, [pc, 0xd08] | r3 = *(0x00012358);
| }
| if (r0 != 0) {
0x0001164c streq r0, [r3, 0x38] | *((r3 + 0x38)) = r0;
| }
| if (r0 == 0) {
0x00011650 beq 0x11830 | goto label_5;
| }
0x00011654 ldr r1, [pc, 0xd18] | r1 = *(0x12370);
0x00011658 mov r0, r4 | r0 = r4;
0x0001165c bl 0x112b4 | r0 = strcmp (r0, r1);
0x00011660 cmp r0, 0 |
| if (r0 != 0) {
0x00011664 bne 0x11678 | goto label_95;
| }
0x00011668 ldr r0, [pc, 0xd08] | r0 = "_16";
| do {
0x0001166c bl 0x111ac | puts ("_16");
| label_1:
0x00011670 mov r0, 1 | r0 = 1;
0x00011674 bl 0x11344 | exit (r0);
| label_95:
0x00011678 ldr r1, [pc, 0xcfc] | r1 = "__This_version_of_PCRE_was_built_without_16_bit_support";
0x0001167c mov r0, r4 | r0 = r4;
0x00011680 bl 0x112b4 | r0 = strcmp (r0, "__This_version_of_PCRE_was_built_without_16_bit_support");
0x00011684 cmp r0, 0 |
| if (r0 != 0) {
0x00011688 ldreq r0, [pc, 0xcf0] | r0 = "** This version of PCRE was built without 32-bit support";
| }
0x0001168c beq 0x1166c |
| } while (r0 == 0);
0x00011690 ldr r1, [pc, 0xcec] | r1 = "** This version of PCRE was built without 32-bit support";
0x00011694 mov r0, r4 | r0 = r4;
0x00011698 bl 0x112b4 | r0 = strcmp (r0, "** This version of PCRE was built without 32-bit support");
0x0001169c cmp r0, 0 |
| if (r0 == 0) {
0x000116a0 beq 0x11d0c | goto label_96;
| }
0x000116a4 ldr r1, [pc, 0xcdc] | r1 = "_q";
0x000116a8 mov r0, r4 | r0 = r4;
0x000116ac bl 0x112b4 | r0 = strcmp (r0, "_q");
0x000116b0 cmp r0, 0 |
| if (r0 == 0) {
0x000116b4 beq 0x11d14 | goto label_97;
| }
0x000116b8 ldr r1, [pc, 0xccc] | r1 = *(0x12388);
0x000116bc mov r0, r4 | r0 = r4;
0x000116c0 bl 0x112b4 | r0 = strcmp (r0, r1);
0x000116c4 cmp r0, 0 |
| if (r0 == 0) {
0x000116c8 beq 0x11d20 | goto label_98;
| }
0x000116cc ldr r1, [pc, 0xcbc] | r1 = "_i";
0x000116d0 mov r0, r4 | r0 = r4;
0x000116d4 bl 0x112b4 | r0 = strcmp (r0, "_i");
0x000116d8 cmp r0, 0 |
| if (r0 == 0) {
0x000116dc beq 0x11d2c | goto label_99;
| }
0x000116e0 ldr r1, [pc, 0xcac] | r1 = *(0x12390);
0x000116e4 mov r0, r4 | r0 = r4;
0x000116e8 bl 0x112b4 | r0 = strcmp (r0, r1);
0x000116ec cmp r0, 0 |
| if (r0 == 0) {
0x000116f0 beq 0x11d38 | goto label_100;
| }
0x000116f4 ldr r1, [pc, 0xc9c] | r1 = "_M";
0x000116f8 mov r0, r4 | r0 = r4;
0x000116fc bl 0x112b4 | r0 = strcmp (r0, "_M");
0x00011700 cmp r0, 0 |
| if (r0 == 0) {
0x00011704 beq 0x11d44 | goto label_101;
| }
0x00011708 ldr r1, [pc, 0xc8c] | r1 = *(0x12398);
0x0001170c mov r0, r4 | r0 = r4;
0x00011710 bl 0x112b4 | r0 = strcmp (r0, r1);
0x00011714 cmp r0, 0 |
| if (r0 == 0) {
0x00011718 beq 0x11d50 | goto label_102;
| }
0x0001171c ldr r1, [pc, 0xc7c] | r1 = "_dfa";
0x00011720 mov r0, r4 | r0 = r4;
0x00011724 bl 0x112b4 | strcmp (r0, "_dfa");
0x00011728 subs sb, r6, 2 | sb = r6 - 2;
| if (sb == r6) {
0x0001172c movne sb, 1 | sb = 1;
| }
0x00011730 cmp r0, 0 |
| if (r0 != 0) {
0x00011734 moveq r0, sb | r0 = sb;
| }
| if (r0 == 0) {
0x00011738 movne r0, 0 | r0 = 0;
| }
0x0001173c cmp r0, 0 |
| if (r0 == 0) {
0x00011740 beq 0x11774 | goto label_103;
| }
0x00011744 add r3, r7, r8 | r3 = r7 + r8;
0x00011748 ldr r0, [r3, 4] | r0 = *((r3 + 4));
0x0001174c add r1, sp, 0x198 | r1 += format;
0x00011750 bl 0x1633c | fcn_0001633c (r0, r1);
0x00011754 ldr r3, [sp, 0x198] | r3 = *(format);
0x00011758 ldrb r3, [r3] | r3 = *(r3);
0x0001175c cmp r3, 0 |
0x00011760 str r0, [sp, 0xc0] | *(arg_c0h) = r0;
0x00011764 bne 0x11774 |
| while (r1 == r0) {
0x00011768 add r5, r5, 1 | r5++;
0x0001176c sub r6, r6, 1 | r6--;
0x00011770 b 0x11830 | goto label_5;
| label_103:
0x00011774 ldr r1, [pc, 0xc28] | r1 = *(0x123a0);
0x00011778 mov r0, r4 | r0 = r4;
0x0001177c bl 0x112b4 | r0 = strcmp (r0, r1);
0x00011780 cmp r0, 0 |
| if (r0 != 0) {
0x00011784 beq 0x117c4 |
0x00011788 ldr r1, [pc, 0xc18] | r1 = "_t";
0x0001178c mov r0, r4 | r0 = r4;
0x00011790 bl 0x112b4 | r0 = strcmp (r0, "_t");
0x00011794 cmp r0, 0 |
| if (r0 == 0) {
0x00011798 beq 0x117c4 | goto label_104;
| }
0x0001179c ldr r1, [pc, 0xc08] | r1 = *(0x123a8);
0x000117a0 mov r0, r4 | r0 = r4;
0x000117a4 bl 0x112b4 | r0 = strcmp (r0, r1);
0x000117a8 cmp r0, 0 |
| if (r0 == 0) {
0x000117ac beq 0x117c4 | goto label_104;
| }
0x000117b0 ldr r1, [pc, 0xbf8] | r1 = *(0x123ac);
0x000117b4 mov r0, r4 | r0 = r4;
0x000117b8 bl 0x112b4 | r0 = strcmp (r0, r1);
0x000117bc cmp r0, 0 |
| if (r0 != 0) {
0x000117c0 bne 0x1183c | goto label_105;
| }
| }
| label_104:
0x000117c4 ldrb r3, [r4, 1] | r3 = *((r4 + 1));
0x000117c8 cmp r6, 2 |
0x000117cc sub r3, r3, 0x54 | r3 -= 0x54;
0x000117d0 clz r3, r3 | r3 &= r3;
0x000117d4 lsr r3, r3, 5 | r3 >>= 5;
0x000117d8 ldrb sb, [r4, 2] | sb = *((r4 + 2));
0x000117dc str r3, [sp, 0x68] | *(arg_68h) = r3;
| if (r6 != 2) {
0x000117e0 beq 0x11814 |
0x000117e4 add r8, r7, r8 | r8 = r7 + r8;
0x000117e8 add r1, sp, 0x198 | r1 += format;
0x000117ec ldr r0, [r8, 4] | r0 = *((r8 + 4));
0x000117f0 bl 0x1633c | fcn_0001633c (r0, r1);
0x000117f4 ldr r2, [sp, 0x198] | r2 = *(format);
0x000117f8 sub r3, r6, 1 | r3 = r6 - 1;
0x000117fc ldrb r2, [r2] | r2 = *(r2);
0x00011800 cmp r2, 0 |
| if (r2 != 0) {
0x00011804 addeq r5, r5, 1 | r5++;
| }
| if (r2 != 0) {
0x00011808 moveq r6, r3 | r6 = r3;
| }
0x0001180c str r0, [sp, 0x88] | *(arg_88h) = r0;
| if (r2 == 0) {
0x00011810 beq 0x1181c | goto label_106;
| }
| }
0x00011814 ldr r3, [pc, 0xb98] | r3 = "_TM";
0x00011818 str r3, [sp, 0x88] | *(arg_88h) = r3;
| label_106:
0x0001181c ldr r2, [sp, 0x88] | r2 = *(arg_88h);
0x00011820 ldr r3, [sp, 0x84] | r3 = *(arg_84h);
0x00011824 cmp sb, 0 |
| if (sb != 0) {
0x00011828 moveq r3, r2 | r3 = r2;
| }
0x0001182c str r3, [sp, 0x84] | *(arg_84h) = r3;
| label_5:
0x00011830 add r5, r5, 1 | r5++;
0x00011834 sub r6, r6, 1 | r6--;
0x00011838 b 0x1154c | goto label_0;
| label_105:
0x0001183c ldr r1, [pc, 0xb74] | r1 = *(0x123b4);
0x00011840 mov r0, r4 | r0 = r4;
0x00011844 bl 0x112b4 | r0 = strcmp (r0, r1);
0x00011848 cmp r0, 0 |
| if (r0 != 0) {
0x0001184c moveq r0, sb | r0 = sb;
| }
| if (r0 == 0) {
0x00011850 movne r0, 0 | r0 = 0;
| }
0x00011854 cmp r0, 0 |
| if (r0 == 0) {
0x00011858 beq 0x118c0 | goto label_107;
| }
0x0001185c add r8, r7, r8 | r8 = r7 + r8;
0x00011860 ldr r0, [r8, 4] | r0 = *((r8 + 4));
0x00011864 add r1, sp, 0x198 | r1 += format;
0x00011868 bl 0x1633c | fcn_0001633c (r0, r1);
0x0001186c ldr r3, [sp, 0x198] | r3 = *(format);
0x00011870 ldrb r3, [r3] | r3 = *(r3);
0x00011874 cmp r3, 0 |
0x00011878 mov r8, r0 | r8 = r0;
| if (r3 != 0) {
0x0001187c bne 0x118c0 | goto label_107;
| }
0x00011880 add r4, sp, 0x1280 | r4 += arg_1280h;
0x00011884 add r4, r4, 0x18 | r4 += 0x18;
0x00011888 mov r1, r4 | r1 = r4;
0x0001188c mov r0, 3 | r0 = 3;
0x00011890 bl 0x11188 | getrlimit64 ();
0x00011894 lsl r0, r8, 0x14 | r0 = r8 << 0x14;
0x00011898 asr r1, r0, 0x1f | r1 = r0 >> 0x1f;
0x0001189c strd r0, r1, [r4] | __asm ("strd r0, r1, [r4]");
0x000118a0 mov r1, r4 | r1 = r4;
0x000118a4 mov r0, 3 | r0 = 3;
0x000118a8 bl 0x11140 | r0 = setrlimit64 ();
0x000118ac subs r1, r0, 0 | r1 = r0 - 0;
0x000118b0 beq 0x11768 |
| }
0x000118b4 ldr r0, [pc, 0xb00] | r0 = "_S";
0x000118b8 bl 0x1114c | printf ("_S")
0x000118bc b 0x11670 | goto label_1;
| label_107:
0x000118c0 ldr r1, [pc, 0xaf8] | r1 = "PCRE: setrlimit() failed with error %d\n";
0x000118c4 mov r0, r4 | r0 = r4;
0x000118c8 bl 0x112b4 | r0 = strcmp (r0, "PCRE: setrlimit() failed with error %d\n");
0x000118cc cmp r0, 0 |
| if (r0 == 0) {
0x000118d0 beq 0x11d5c | goto label_108;
| }
0x000118d4 ldr r1, [pc, 0xae8] | r1 = *(0x123c0);
0x000118d8 mov r0, r4 | r0 = r4;
0x000118dc bl 0x112b4 | r0 = strcmp (r0, r1);
0x000118e0 subs r3, r0, 0 | r3 = r0 - 0;
0x000118e4 str r3, [sp, 0x68] | *(arg_68h) = r3;
| if (r3 != r0) {
0x000118e8 bne 0x11ca8 | goto label_109;
| }
0x000118ec cmp r6, 2 |
| if (r6 == 2) {
0x000118f0 beq 0x11ab4 | goto label_110;
| }
0x000118f4 add r5, r5, 1 | r5++;
0x000118f8 ldr r4, [r7, r5, lsl 2] | offset_1 = r5 << 2;
| r4 = *((r7 + offset_1));
0x000118fc ldr r1, [pc, 0xac4] | r1 = "_C";
0x00011900 mov r0, r4 | r0 = r4;
0x00011904 bl 0x112b4 | r0 = strcmp (r0, "_C");
0x00011908 cmp r0, 0 |
| if (r0 != 0) {
0x0001190c addeq r1, sp, 0x298 | r1 += arg_298h;
| }
| if (r0 != 0) {
0x00011910 moveq r0, 2 | r0 = 2;
| }
| if (r0 == 0) {
0x00011914 beq 0x119b4 | goto label_111;
| }
0x00011918 ldr r1, [pc, 0xaac] | r1 = "linksize";
0x0001191c mov r0, r4 | r0 = r4;
0x00011920 bl 0x112b4 | r0 = strcmp (r0, "linksize");
0x00011924 cmp r0, 0 |
| if (r0 == 0) {
0x00011928 bne 0x1193c |
0x0001192c ldr r0, [pc, 0xa9c] | r0 = "pcre8";
0x00011930 bl 0x111ac | puts ("pcre8");
| label_4:
0x00011934 mov r3, 1 | r3 = 1;
0x00011938 b 0x119c8 | goto label_3;
| }
0x0001193c ldr r1, [pc, 0xa90] | r1 = *(0x123d0);
0x00011940 mov r0, r4 | r0 = r4;
0x00011944 bl 0x112b4 | r0 = strcmp (r0, r1);
0x00011948 cmp r0, 0 |
0x0001194c bne 0x11978 |
| while (r0 == 0) {
0x00011950 ldr r0, [pc, 0xa80] | r0 = "pcre16";
0x00011954 bl 0x111ac | puts ("pcre16");
| label_2:
0x00011958 mov r3, 0 | r3 = 0;
0x0001195c str r3, [sp, 0x60] | *(arg_60h) = r3;
0x00011960 str r3, [sp, 0x6c] | *(ptr) = r3;
0x00011964 str r3, [sp, 0x90] | *(arg_90h) = r3;
| label_16:
0x00011968 ldr r3, [sp, 0x74] | r3 = *(arg_74h);
0x0001196c cmp r3, 0 |
| if (r3 != 0) {
0x00011970 bne 0x11e5c | goto label_112;
| }
0x00011974 b 0x11dac | goto label_7;
0x00011978 ldr r1, [pc, 0xa5c] | r1 = *(0x123d8);
0x0001197c mov r0, r4 | r0 = r4;
0x00011980 bl 0x112b4 | r0 = strcmp (r0, r1);
0x00011984 cmp r0, 0 |
0x00011988 beq 0x11950 |
| }
0x0001198c ldr r1, [pc, 0xa4c] | r1 = "pcre32";
0x00011990 mov r0, r4 | r0 = r4;
0x00011994 bl 0x112b4 | r0 = strcmp (r0, "pcre32");
0x00011998 cmp r0, 0 |
| if (r0 != 0) {
0x0001199c bne 0x119d0 | void (*0x119d0)() ();
| }
| label_111:
0x000119b4 bl 0x1129c | pcre_config ();
0x000119b8 ldr r1, [sp, 0x298] | r1 = *(arg_298h);
0x000119bc ldr r0, [pc, 0xa20] | r0 = "utf";
0x000119c0 bl 0x1114c | printf ("utf", r1)
0x000119c4 ldr r3, [sp, 0x298] | r3 = *(arg_298h);
| label_3:
0x000119c8 str r3, [sp, 0x68] | *(arg_68h) = r3;
0x000119cc b 0x11958 | goto label_2;
| label_110:
0x00011ab4 mov r1, sl | r1 = sl;
0x00011ab8 ldr r0, [pc, 0x94c] | r0 = "Unknown -C option: %s\n";
0x00011abc bl 0x1114c | printf ("Unknown -C option: %s\n", r1)
0x00011ac0 ldr r0, [pc, 0x948] | r0 = "PCRE_version__s";
0x00011ac4 bl 0x111ac | puts ("PCRE_version__s");
0x00011ac8 ldr r0, [pc, 0x944] | r0 = "Compiled with";
0x00011acc bl 0x111ac | puts ("Compiled with");
0x00011ad0 add r1, sp, 0x298 | r1 += arg_298h;
0x00011ad4 ldr r0, [sp, 0x68] | r0 = *(arg_68h);
0x00011ad8 bl 0x1129c | pcre_config ();
0x00011adc ldr r1, [sp, 0x298] | r1 = *(arg_298h);
0x00011ae0 ldr r4, [pc, 0xa2c] |
0x00011ae4 ldr r5, [pc, 0x92c] | r5 = " 8-bit support";
0x00011ae8 cmp r1, 0 |
| if (r1 == 0) {
0x00011aec movne r1, r4 | r1 = r4;
| }
| if (r1 != 0) {
0x00011af0 moveq r1, r5 | r1 = r5;
| }
0x00011af4 ldr r0, [pc, 0x920] | r0 = "No_";
0x00011af8 bl 0x1114c | printf ("No_", r1, r2, r3, " (caseless)", " 8-bit support")
0x00011afc add r1, sp, 0x298 | r1 += arg_298h;
0x00011b00 mov r0, 6 | r0 = 6;
0x00011b04 bl 0x1129c | pcre_config ();
0x00011b08 ldr r1, [sp, 0x298] | r1 = *(arg_298h);
0x00011b0c ldr r0, [pc, 0x90c] | r0 = " %sUTF-8 support\n";
0x00011b10 cmp r1, 0 |
| if (r1 == 0) {
0x00011b14 movne r1, r4 | r1 = r4;
| }
| if (r1 != 0) {
0x00011b18 moveq r1, r5 | r1 = r5;
| }
0x00011b1c bl 0x1114c | printf (" %sUTF-8 support\n", r1)
0x00011b20 add r1, sp, 0x298 | r1 += arg_298h;
0x00011b24 mov r0, 9 | r0 = 9;
0x00011b28 bl 0x1129c | pcre_config ();
0x00011b2c ldr r3, [sp, 0x298] | r3 = *(arg_298h);
0x00011b30 add r4, sp, 0x1280 | r4 += arg_1280h;
0x00011b34 cmp r3, 0 |
0x00011b38 add r4, r4, 0x18 | r4 = 0x12528;
| if (r3 == 0) {
0x00011b3c beq 0x11c9c | goto label_113;
| }
0x00011b40 mov r1, r4 | r1 = r4;
0x00011b44 mov r0, 0xb | r0 = 0xb;
0x00011b48 bl 0x1129c | pcre_config ();
0x00011b4c ldr r1, [r4] | r1 = *(r4);
0x00011b50 ldr r0, [pc, 0x8cc] | r0 = "_sUnicode_properties_support";
0x00011b54 bl 0x1114c | printf ("_sUnicode_properties_support", r1)
| do {
0x00011b58 add r1, sp, 0x298 | r1 += arg_298h;
0x00011b5c mov r0, 1 | r0 = 1;
0x00011b60 bl 0x1129c | pcre_config ();
0x00011b64 mov r1, 0 | r1 = 0;
0x00011b68 ldr r0, [sp, 0x298] | r0 = *(arg_298h);
0x00011b6c bl 0x113f8 | fcn_000113f8 (r0, r1);
0x00011b70 add r1, sp, 0x298 | r1 += arg_298h;
0x00011b74 mov r0, 8 | r0 = 8;
0x00011b78 bl 0x1129c | pcre_config ();
0x00011b7c ldr r1, [sp, 0x298] | r1 = *(arg_298h);
0x00011b80 ldr r2, [pc, 0x8a0] | r2 = "Just_in_time_compiler_support:__s";
0x00011b84 ldr r3, [pc, 0x8a0] | r3 = "all Unicode newlines";
0x00011b88 cmp r1, 0 |
| if (r1 != 0) {
0x00011b8c moveq r1, r2 | r1 = r2;
| }
| if (r1 == 0) {
0x00011b90 movne r1, r3 | r1 = r3;
| }
0x00011b94 ldr r0, [pc, 0x894] | r0 = "CR__LF__or_CRLF_only";
0x00011b98 bl 0x1114c | printf ("CR__LF__or_CRLF_only", r1, "Just_in_time_compiler_support:__s", "all Unicode newlines")
0x00011b9c add r1, sp, 0x298 | r1 += arg_298h;
0x00011ba0 mov r0, 2 | r0 = 2;
0x00011ba4 bl 0x1129c | pcre_config ();
0x00011ba8 ldr r1, [sp, 0x298] | r1 = *(arg_298h);
0x00011bac ldr r0, [pc, 0x880] | r0 = "_R_matches__s";
0x00011bb0 bl 0x1114c | printf ("_R_matches__s", r1)
0x00011bb4 add r1, sp, 0x298 | r1 += arg_298h;
0x00011bb8 mov r0, 3 | r0 = 3;
0x00011bbc bl 0x1129c | pcre_config ();
0x00011bc0 ldr r1, [sp, 0x298] | r1 = *(arg_298h);
0x00011bc4 ldr r0, [pc, 0x86c] | r0 = " Internal link size = %d\n";
0x00011bc8 bl 0x1114c | printf (" Internal link size = %d\n", r1)
0x00011bcc mov r1, r4 | r1 = r4;
0x00011bd0 mov r0, 0xd | r0 = 0xd;
0x00011bd4 bl 0x1129c | pcre_config ();
0x00011bd8 ldr r1, [r4] | r1 = *(r4);
0x00011bdc ldr r0, [pc, 0x858] | r0 = "POSIX_malloc_threshold___d";
0x00011be0 bl 0x1114c | printf ("POSIX_malloc_threshold___d", r1)
0x00011be4 mov r1, r4 | r1 = r4;
0x00011be8 mov r0, 4 | r0 = 4;
0x00011bec bl 0x1129c | pcre_config ();
0x00011bf0 ldr r1, [r4] | r1 = *(r4);
0x00011bf4 ldr r0, [pc, 0x844] | r0 = " Parentheses nest limit = %ld\n";
0x00011bf8 bl 0x1114c | printf (" Parentheses nest limit = %ld\n", r1)
0x00011bfc mov r1, r4 | r1 = r4;
0x00011c00 mov r0, 7 | r0 = 7;
0x00011c04 bl 0x1129c | pcre_config ();
0x00011c08 ldr r1, [r4] | r1 = *(r4);
0x00011c0c ldr r0, [pc, 0x830] | r0 = " Default match limit = %ld\n";
0x00011c10 bl 0x1114c | printf (" Default match limit = %ld\n", r1)
0x00011c14 add r1, sp, 0x298 | r1 += arg_298h;
0x00011c18 mov r0, 5 | r0 = 5;
0x00011c1c bl 0x1129c | pcre_config ();
0x00011c20 ldr r1, [sp, 0x298] | r1 = *(arg_298h);
0x00011c24 ldr r3, [pc, 0x81c] | r3 = "Default_recursion_depth_limit___ld";
0x00011c28 ldr r2, [pc, 0x81c] | r2 = "stack";
0x00011c2c cmp r1, 0 |
| if (r1 == 0) {
0x00011c30 movne r1, r3 | r1 = r3;
| }
| if (r1 != 0) {
0x00011c34 moveq r1, r2 | r1 = r2;
| }
0x00011c38 ldr r0, [pc, 0x810] | r0 = "heap";
0x00011c3c bl 0x1114c | printf ("heap", r1, "stack", "Default_recursion_depth_limit___ld")
0x00011c40 ldr r3, [sp, 0xd8] | r3 = *(arg_d8h);
0x00011c44 cmp r3, 0 |
| if (r3 != 0) {
0x00011c48 beq 0x11c90 |
0x00011c4c ldr r3, [pc, 0x800] | r3 = " Match recursion uses %s";
0x00011c50 mov r2, 0 | r2 = 0;
0x00011c54 mov r1, r2 | r1 = r2;
0x00011c58 str r2, [sp, 0xc] | var_ch = r2;
0x00011c5c str r2, [sp, 8] | var_8h = r2;
0x00011c60 str r2, [sp, 4] | var_4h = r2;
0x00011c64 str r3, [sp] | *(sp) = r3;
0x00011c68 mov r0, r2 | r0 = r2;
0x00011c6c bl 0x113b0 | pcre_exec ();
0x00011c70 ldr ip, [sp, 0x298] | ip = *(arg_298h);
0x00011c74 ldr r3, [pc, 0x7dc] | r3 = *(0x12454);
0x00011c78 cmp ip, 0 |
0x00011c7c ldr r1, [pc, 0x890] | r1 = " (caseless)";
| if (ip == 0) {
0x00011c80 movne r1, r3 | r1 = r3;
| }
0x00011c84 rsb r2, r0, 0 | r2 = r0 - ;
0x00011c88 ldr r0, [pc, 0x7cc] | r0 = "approximate ";
0x00011c8c bl 0x1114c | printf ("approximate ", " (caseless)", r2, r3)
| }
0x00011c90 mov r0, 0xa | r0 = 0xa;
0x00011c94 bl 0x1111c | putchar (r0);
0x00011c98 b 0x11958 | goto label_2;
| label_113:
0x00011c9c ldr r0, [pc, 0x7bc] | r0 = ": %sframe size = %d bytes";
0x00011ca0 bl 0x111ac | puts (": %sframe size = %d bytes");
0x00011ca4 b 0x11b58 |
| } while (1);
| label_109:
0x00011ca8 ldr r1, [pc, 0x7b4] | r1 = " No just-in-time compiler support";
0x00011cac mov r0, r4 | r0 = r4;
0x00011cb0 bl 0x112b4 | r0 = strcmp (r0, " No just-in-time compiler support");
0x00011cb4 cmp r0, 0 |
| if (r0 != 0) {
0x00011cb8 beq 0x11cd0 |
0x00011cbc ldr r1, [pc, 0x7a4] | r1 = "_help";
0x00011cc0 mov r0, r4 | r0 = r4;
0x00011cc4 bl 0x112b4 | r0 = strcmp (r0, "_help");
0x00011cc8 cmp r0, 0 |
| if (r0 != 0) {
0x00011ccc bne 0x11cdc | goto label_94;
| }
| }
0x00011cd0 bl 0x16428 | fcn_00016428 ();
0x00011cd4 mov r3, 0 | r3 = 0;
0x00011cd8 b 0x119c8 | goto label_3;
| label_94:
0x00011cdc mov r1, r4 | r1 = r4;
0x00011ce0 ldr r0, [pc, 0x784] | r0 = "--help";
0x00011ce4 bl 0x1114c | r0 = printf ("--help", r1)
0x00011ce8 bl 0x16428 | fcn_00016428 ();
0x00011cec b 0x11934 | goto label_4;
| label_91:
0x00011cf0 mov r3, 1 | r3 = 1;
0x00011cf4 str r3, [sp, 0xd8] | *(arg_d8h) = r3;
0x00011cf8 b 0x11830 | goto label_5;
| label_92:
0x00011cfc str r0, [sp, 0xac] | *(arg_ach) = r0;
0x00011d00 b 0x11830 | goto label_5;
| label_93:
0x00011d04 mov r3, 7 | r3 = 7;
0x00011d08 b 0x11628 | goto label_6;
| label_96:
0x00011d0c mov fp, 1 |
0x00011d10 b 0x11830 | goto label_5;
| label_97:
0x00011d14 mov r3, 1 | r3 = 1;
0x00011d18 str r3, [sp, 0xb0] | *(arg_b0h) = r3;
0x00011d1c b 0x11830 | goto label_5;
| label_98:
0x00011d20 mov r3, 1 | r3 = 1;
| do {
0x00011d24 str r3, [sp, 0xa8] | *(arg_a8h) = r3;
0x00011d28 b 0x11830 | goto label_5;
| label_99:
0x00011d2c mov r3, 1 | r3 = 1;
0x00011d30 str r3, [sp, 0xb0] | *(arg_b0h) = r3;
0x00011d34 b 0x11d24 |
| } while (1);
| label_100:
0x00011d38 mov r3, 1 | r3 = 1;
0x00011d3c str r3, [sp, 0x100] | *(arg_100h) = r3;
0x00011d40 b 0x11830 | goto label_5;
| label_101:
0x00011d44 mov r3, 0x20000 | r3 = 0x20000;
0x00011d48 str r3, [sp, 0xfc] | *(arg_fch) = r3;
0x00011d4c b 0x11830 | goto label_5;
| label_102:
0x00011d50 mov r3, 1 | r3 = 1;
0x00011d54 str r3, [sp, 0x104] | *(arg_104h) = r3;
0x00011d58 b 0x11830 | goto label_5;
| label_108:
0x00011d5c mov r3, 1 | r3 = 1;
0x00011d60 str r3, [sp, 0xb4] | *(arg_b4h) = r3;
0x00011d64 b 0x11830 | goto label_5;
| label_90:
0x00011d68 cmp r6, 1 |
| if (r6 <= 1) {
0x00011d6c ble 0x11e7c | goto label_114;
| }
0x00011d70 ldr r1, [pc, 0x6f8] | r1 = "__Unknown_or_malformed_option__s";
0x00011d74 ldr r0, [r7, r5, lsl 2] | offset_2 = r5 << 2;
| r0 = *((r7 + offset_2));
0x00011d78 bl 0x113ec | fopen64 ();
0x00011d7c lsl r4, r5, 2 | r4 = r5 << 2;
0x00011d80 subs r3, r0, 0 | r3 = r0 - 0;
0x00011d84 str r3, [sp, 0x74] | *(arg_74h) = r3;
| if (r3 != r0) {
0x00011d88 bne 0x11e14 | goto label_115;
| }
0x00011d8c ldr r1, [r7, r5, lsl 2] | offset_3 = r5 << 2;
| r1 = *((r7 + offset_3));
0x00011d90 ldr r0, [pc, 0x6dc] | r0 = *(0x12470);
0x00011d94 bl 0x1114c | printf (r0, r1)
0x00011d98 ldr r3, [sp, 0x74] | r3 = *(arg_74h);
0x00011d9c str r3, [sp, 0x60] | *(arg_60h) = r3;
0x00011da0 str r3, [sp, 0x6c] | *(ptr) = r3;
0x00011da4 mov r3, 1 | r3 = 1;
0x00011da8 str r3, [sp, 0x68] | *(arg_68h) = r3;
| do {
| label_7:
0x00011dac ldr r4, [pc, 0x5a4] | r4 = *(0x12354);
0x00011db0 ldr r0, [r4, 0xc] | r0 = "** Failed to get %d bytes of memory for offsets vector\n";
0x00011db4 cmp r0, 0 |
| if (r0 != 0) {
0x00011db8 beq 0x11dd0 |
0x00011dbc ldr r3, [pc, 0x598] |
0x00011dc0 ldr r3, [r3] | r3 = *(0x12358);
0x00011dc4 cmp r0, r3 |
| if (r0 == r3) {
0x00011dc8 beq 0x11dd0 | goto label_116;
| }
0x00011dcc bl 0x11290 | fclose (r0);
| }
| label_116:
0x00011dd0 ldr r0, [r4, 0x10] | r0 = *((r4 + 0x10));
0x00011dd4 bl 0x113d4 | free (r0);
0x00011dd8 ldr r0, [sp, 0x6c] | r0 = *(ptr);
0x00011ddc bl 0x113d4 | free (r0);
0x00011de0 ldr r0, [r4, 0x14] | r0 = *((r4 + 0x14));
0x00011de4 bl 0x113d4 | free (r0);
0x00011de8 ldr r0, [sp, 0x90] | r0 = *(arg_90h);
0x00011dec bl 0x113d4 | free (r0);
0x00011df0 ldr r3, [sp, 0x60] | r3 = *(arg_60h);
0x00011df4 cmp r3, 0 |
| if (r3 != 0) {
0x00011df8 beq 0x11e04 |
0x00011dfc mov r0, r3 | r0 = r3;
0x00011e00 bl 0x113d4 | free (r0);
| }
0x00011e04 ldr r0, [sp, 0x68] | r0 = *(arg_68h);
0x00011e08 add sp, sp, 0x2280 |
0x00011e0c add sp, sp, 0x1c |
0x00011e10 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_115:
0x00011e14 cmp r6, 2 |
| if (r6 == 2) {
0x00011e18 beq 0x11e7c | goto label_114;
| }
0x00011e1c add r4, r4, 4 | r4 += 4;
0x00011e20 ldr r1, [pc, 0x704] | r1 = "JIT_support_is_not_available_in_this_version_of_PCRE";
0x00011e24 ldr r0, [r7, r4] | r0 = *((r7 + r4));
0x00011e28 bl 0x113ec | fopen64 ();
0x00011e2c ldr r3, [pc, 0x524] | r3 = *(0x12354);
0x00011e30 cmp r0, 0 |
0x00011e34 mov r5, r0 | r5 = r0;
0x00011e38 str r0, [r3, 0xc] | *((r3 + 0xc)) = r0;
| if (r0 != 0) {
0x00011e3c bne 0x11e7c | goto label_114;
| }
0x00011e40 ldr r1, [r7, r4] | r1 = *((r7 + r4));
0x00011e44 ldr r0, [pc, 0x628] | r0 = *(0x12470);
0x00011e48 bl 0x1114c | printf (r0, r1)
0x00011e4c mov r3, 1 | r3 = 1;
0x00011e50 str r5, [sp, 0x60] | *(arg_60h) = r5;
0x00011e54 str r5, [sp, 0x6c] | *(ptr) = r5;
0x00011e58 str r3, [sp, 0x68] | *(arg_68h) = r3;
| label_112:
0x00011e5c ldr r3, [pc, 0x4ec] |
0x00011e60 ldr r2, [sp, 0x74] | r2 = *(arg_74h);
0x00011e64 ldr r3, [r3] | r3 = *(0x1234c);
0x00011e68 cmp r3, r2 |
0x00011e6c beq 0x11dac |
| } while (r3 == r2);
0x00011e70 mov r0, r2 | r0 = r2;
0x00011e74 bl 0x11290 | fclose (r0);
0x00011e78 b 0x11dac | goto label_7;
| label_114:
0x00011e7c ldr r3, [pc, 0x5f4] | r3 = "__Failed_to_open__s";
0x00011e80 ldr r2, [pc, 0x5f4] | r2 = pcre_malloc;
0x00011e84 cmp fp, 0 |
0x00011e88 str r2, [r3] | *(r3) = r2;
0x00011e8c ldr r3, [pc, 0x5ec] | r3 = *(0x1247c);
0x00011e90 ldr r2, [pc, 0x5ec] | r2 = pcre_free;
0x00011e94 str r2, [r3] | *(r3) = r2;
0x00011e98 ldr r3, [pc, 0x5e8] | r3 = *(0x12484);
0x00011e9c ldr r2, [pc, 0x5e8] | r2 = pcre_stack_malloc;
0x00011ea0 str r2, [r3] | *(r3) = r2;
0x00011ea4 ldr r3, [pc, 0x5e4] | r3 = *(0x1248c);
0x00011ea8 ldr r2, [pc, 0x5e4] | r2 = pcre_stack_free;
0x00011eac str r2, [r3] | *(r3) = r2;
| if (fp == 0) {
0x00011eb0 bne 0x11ec8 |
0x00011eb4 ldr r3, [pc, 0x49c] | r3 = *(0x12354);
0x00011eb8 mov r2, sl | r2 = sl;
0x00011ebc ldr r1, [pc, 0x5d4] | r1 = *(0x12494);
0x00011ec0 ldr r0, [r3, 0xc] | r0 = "** Failed to get %d bytes of memory for offsets vector\n";
0x00011ec4 bl 0x11200 | fprintf ("** Failed to get %d bytes of memory for offsets vector\n", r1, r2, r3)
| }
0x00011ec8 ldr r3, [sp, 0xc0] | r3 = *(arg_c0h);
0x00011ecc str r3, [sp, 0xdc] | *(arg_dch) = r3;
0x00011ed0 mov r3, 0 | r3 = 0;
0x00011ed4 str r3, [sp, 0x60] | *(arg_60h) = r3;
0x00011ed8 str r3, [sp, 0xe8] | *(arg_e8h) = r3;
0x00011edc str r3, [sp, 0xe4] | *(arg_e4h) = r3;
0x00011ee0 str r3, [sp, 0xe0] | *(arg_e0h) = r3;
0x00011ee4 mov r3, 0x4000 | r3 = 0x4000;
0x00011ee8 str r3, [sp, 0x98] | *(size) = r3;
0x00011eec mov r3, 0 | r3 = 0;
0x00011ef0 str r3, [sp, 0x6c] | *(ptr) = r3;
0x00011ef4 str r3, [sp, 0x7c] | *(arg_7ch) = r3;
| label_8:
0x00011ef8 ldr r4, [pc, 0x458] | r4 = *(0x12354);
0x00011efc mov r2, 1 | r2 = 1;
0x00011f00 str r2, [r4, 0x3c] | *((r4 + 0x3c)) = r2;
0x00011f04 ldr r2, [pc, 0x670] | r2 = *(0x12578);
0x00011f08 mov r3, 0 | r3 = 0;
0x00011f0c str r3, [r2] | *(r2) = r3;
0x00011f10 ldr r1, [r4, 0x10] | r1 = *(0x12364);
0x00011f14 ldr r2, [pc, 0x580] | r2 = "PCRE version %s\n\n";
0x00011f18 ldr r0, [sp, 0x74] | r0 = *(arg_74h);
0x00011f1c str r3, [sp, 0x174] | *(arg_174h) = r3;
0x00011f20 str r3, [sp, 0x178] | *(arg_178h) = r3;
0x00011f24 str r3, [sp, 0x17c] | *(arg_17ch) = r3;
0x00011f28 str r3, [r4, 0x1c] | *((r4 + 0x1c)) = r3;
0x00011f2c bl 0x167b4 | r0 = fcn_000167b4 (r0, r1);
0x00011f30 cmp r0, 0 |
| if (r0 == 0) {
0x00011f34 beq 0x12c04 | goto label_117;
| }
0x00011f38 ldr r3, [pc, 0x410] |
0x00011f3c ldr r2, [sp, 0x74] | r2 = *(arg_74h);
0x00011f40 ldr r3, [r3] | r3 = *(0x1234c);
0x00011f44 cmp r3, r2 |
| if (r3 != r2) {
0x00011f48 beq 0x11f58 |
0x00011f4c ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00011f50 ldr r0, [r4, 0x10] | r0 = *((r4 + 0x10));
0x00011f54 bl 0x11398 | fputs (r0, r1);
| }
0x00011f58 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00011f5c bl 0x111c4 | fflush (r0);
0x00011f60 ldr r3, [pc, 0x60c] | r3 = "** Failed to set locale \"%s\"\n";
0x00011f64 ldr r6, [r4, 0x10] | r6 = *((r4 + 0x10));
0x00011f68 ldr r7, [r3] | r7 = "** Failed to set locale \"%s\"\n";
0x00011f6c mov r3, r6 | r3 = r6;
| do {
0x00011f70 mov sb, r3 | sb = r3;
0x00011f74 ldrb r5, [r3], 1 | r5 = *(r3);
| r3++;
0x00011f78 lsl r2, r5, 1 | r2 = r5 << 1;
0x00011f7c ldrh r8, [r7, r2] | r8 = *((r7 + r2));
0x00011f80 tst r8, 0x20 |
0x00011f84 bne 0x11f70 |
| } while ((r8 & 0x20) != 0);
0x00011f88 cmp r5, 0 |
| if (r5 == 0) {
0x00011f8c beq 0x11ef8 | goto label_8;
| }
0x00011f90 cmp r5, 0x3c |
| if (r5 != 0x3c) {
0x00011f94 bne 0x12ad0 | goto label_118;
| }
0x00011f98 ldrb sl, [sb, 1] | sl = *((sb + 1));
0x00011f9c cmp sl, 0x20 |
| if (sl != 0x20) {
0x00011fa0 bne 0x12050 | goto label_119;
| }
0x00011fa4 add sb, sb, 2 | sb += 2;
| do {
0x00011fa8 mov r4, sb | r4 = sb;
0x00011fac ldrb r3, [r4] | r3 = *(r4);
0x00011fb0 add sb, sb, 1 | sb++;
0x00011fb4 lsl r3, r3, 1 | r3 <<= 1;
0x00011fb8 ldrh r3, [r7, r3] | r3 = *((r7 + r3));
0x00011fbc tst r3, 0x20 |
0x00011fc0 bne 0x11fa8 |
| } while ((r3 & 0x20) != 0);
0x00011fc4 mov r2, 7 | r2 = 7;
0x00011fc8 ldr r1, [pc, 0x4d0] | r1 = " re> ";
0x00011fcc mov r0, r4 | r0 = r4;
0x00011fd0 bl 0x11224 | r0 = strncmp (r0, " re> ", r2);
0x00011fd4 cmp r0, 0 |
| if (r0 != 0) {
0x00011fd8 bne 0x12040 | goto label_120;
| }
0x00011fdc add r4, r4, 7 | r4 += 7;
| do {
0x00011fe0 mov r2, r4 | r2 = r4;
0x00011fe4 ldrb r3, [r2] | r3 = *(r2);
0x00011fe8 add r4, r4, 1 | r4++;
0x00011fec lsl r3, r3, 1 | r3 <<= 1;
0x00011ff0 ldrh r3, [r7, r3] | r3 = *((r7 + r3));
0x00011ff4 tst r3, 0x20 |
0x00011ff8 bne 0x11fe0 |
| } while ((r3 & 0x20) != 0);
0x00011ffc add r3, sp, 0x198 | r3 += format;
0x00012000 sub r2, r2, 1 | r2--;
0x00012004 add r1, sp, 0x180 | r1 += s;
0x00012008 sub r0, r3, 1 | r0 = r3 - 1;
| label_9:
0x0001200c ldrb ip, [r2, 1]! | ip = *((r2 += 1));
0x00012010 lsl r3, ip, 1 | r3 = ip << 1;
0x00012014 ldrh r3, [r7, r3] | r3 = *((r7 + r3));
0x00012018 lsr r3, r3, 5 | r3 >>= 5;
0x0001201c eor r3, r3, 1 | r3 ^= 1;
0x00012020 cmp r1, r0 |
| if (r1 < r0) {
0x00012024 movhs r3, 0 | r3 = 0;
| }
| if (r1 >= r0) {
0x00012028 andlo r3, r3, 1 | r3 &= 1;
| }
0x0001202c cmp r3, 0 |
| if (r3 == 0) {
0x00012030 strbeq r3, [r1] | *(r1) = r3;
| goto label_121;
| }
| if (r3 == 0) {
| label_121:
0x00012034 beq 0x11ef8 | goto label_8;
| }
0x00012038 strb ip, [r1], 1 | *(r1) = ip;
| r1++;
0x0001203c b 0x1200c | goto label_9;
| label_120:
0x00012040 ldr r0, [pc, 0x45c] | r0 = "forbid_";
0x00012044 mov r1, r4 | r1 = r4;
| label_11:
0x00012048 bl 0x1114c | printf ("forbid_", r1)
0x0001204c b 0x1159c | goto label_10;
| label_119:
0x00012050 add r4, sb, 1 | r4 = sb + 1;
0x00012054 mov r1, r5 | r1 = r5;
0x00012058 mov r0, r4 | r0 = r4;
0x0001205c bl 0x1138c | r0 = strchr (r0, r1);
0x00012060 cmp r0, 0 |
| if (r0 != 0) {
0x00012064 bne 0x12ad0 | goto label_118;
| }
0x00012068 cmp sl, 0x21 |
| if (sl == 0x21) {
0x0001206c ldrne r3, [sp, 0xa8] | r3 = *(arg_a8h);
| }
| if (sl != 0x21) {
0x00012070 addeq r4, sb, 2 | r4 = sb + 2;
| }
| if (sl == 0x21) {
0x00012074 strne r3, [sp, 0x58] | *(s1) = r3;
| }
| if (sl == 0x21) {
0x00012078 ldrne r3, [sp, 0xb0] | r3 = *(arg_b0h);
| }
| if (sl != 0x21) {
0x0001207c moveq r3, 1 | r3 = 1;
| }
0x00012080 mov r0, r4 | r0 = r4;
| if (sl != 0x21) {
0x00012084 streq r3, [sp, 0x58] | *(s1) = r3;
| }
0x00012088 str r3, [sp, 0x64] | *(arg_64h) = r3;
0x0001208c bl 0x1135c | r0 = strlen (r0);
0x00012090 add r0, r4, r0 | r0 = r4 + r0;
| do {
0x00012094 mov r2, r0 | r2 = r0;
0x00012098 ldrb r3, [r0, -1]! | r3 = *((r0 -= 1));
0x0001209c lsl r3, r3, 1 | r3 <<= 1;
0x000120a0 ldrh r6, [r7, r3] | r6 = *((r7 + r3));
0x000120a4 ands r6, r6, 0x20 | r6 &= 0x20;
0x000120a8 bne 0x12094 |
| } while (r6 != r6);
0x000120ac strb r6, [r2] | *(r2) = r6;
0x000120b0 ldr r1, [pc, 0x3b8] | r1 = "__Unknown_or_malformed_option__s";
0x000120b4 mov r0, r4 | r0 = r4;
0x000120b8 bl 0x113ec | r0 = fopen64 ();
0x000120bc subs r5, r0, 0 | r5 = r0 - 0;
| if (r5 == r0) {
0x000120c0 bne 0x120f0 |
0x000120c4 ldr r3, [pc, 0x28c] | r3 = *(0x12354);
0x000120c8 ldr r5, [r3, 0xc] | r5 = "** Failed to get %d bytes of memory for offsets vector\n";
0x000120cc bl 0x11338 | r0 = errno_location ();
0x000120d0 ldr r0, [r0] | r0 = *(r0);
0x000120d4 bl 0x11164 | strerror (r0);
0x000120d8 mov r2, r4 | r2 = r4;
0x000120dc ldr r1, [pc, 0x3c4] | r1 = "__Unrecognized_special_command__s";
0x000120e0 mov r3, r0 | r3 = r0;
0x000120e4 mov r0, r5 | r0 = r5;
0x000120e8 bl 0x11200 | fprintf (r0, "__Unrecognized_special_command__s", r2, r3)
0x000120ec b 0x11ef8 | goto label_8;
| }
0x000120f0 mov r3, r5 | r3 = r5;
0x000120f4 mov r2, 8 | r2 = 8;
0x000120f8 mov r1, 1 | r1 = 1;
0x000120fc add r0, sp, 0x198 | r0 += format;
0x00012100 bl 0x11248 | r0 = fread (r0, r1, r2, r3);
0x00012104 cmp r0, 8 |
| if (r0 != 8) {
0x00012108 bne 0x122fc | goto label_122;
| }
0x0001210c ldrb r3, [sp, 0x199] | r3 = *(arg_199h);
0x00012110 ldrb r2, [sp, 0x198] | r2 = *(format);
0x00012114 lsl r3, r3, 0x10 | r3 <<= 0x10;
0x00012118 orr r3, r3, r2, lsl 24 | r3 |= (r2 << 24);
0x0001211c ldrb r2, [sp, 0x19b] | r2 = *(arg_19bh);
0x00012120 ldrb fp, [sp, 0x19c] | fp = *(arg_19ch);
0x00012124 orr r3, r3, r2 | r3 |= r2;
0x00012128 ldrb r2, [sp, 0x19a] | r2 = *(arg_19ah);
0x0001212c ldrb r7, [sp, 0x19d] | r7 = *(arg_19dh);
0x00012130 orr r3, r3, r2, lsl 8 | r3 |= (r2 << 8);
0x00012134 str r3, [sp, 0x50] | *(arg_50h) = r3;
0x00012138 ldrb r3, [sp, 0x19e] | r3 = *(arg_19eh);
0x0001213c ldr r0, [sp, 0x50] | r0 = *(arg_50h);
0x00012140 str r3, [sp, 0x54] | *(arg_54h) = r3;
0x00012144 ldrb sl, [sp, 0x19f] | sl = *(arg_19fh);
0x00012148 bl 0x165dc | r0 = fcn_000165dc (r0);
0x0001214c subs sb, r0, 0 | sb = r0 - 0;
| if (sb != r0) {
0x00012150 ldreq r1, [sp, 0x50] | r1 = *(arg_50h);
| }
| if (sb == r0) {
0x00012154 ldreq r0, [pc, 0x350] | r0 = "** Failed to get %d bytes of memory for pcre object\n";
| goto label_123;
| }
| if (sb == r0) {
| label_123:
0x00012158 beq 0x12048 | goto label_11;
| }
0x0001215c mov r3, r5 | r3 = r5;
0x00012160 ldr r2, [sp, 0x50] | r2 = *(arg_50h);
0x00012164 mov r1, 1 | r1 = 1;
0x00012168 bl 0x11248 | fread (r0, r1, r2, r3);
0x0001216c ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00012170 cmp r0, r3 |
| if (r0 != r3) {
0x00012174 bne 0x1232c | goto label_124;
| }
0x00012178 ldr r0, [sb] | r0 = *(sb);
0x0001217c ldr r1, [pc, 0x32c] | r1 = "** Failed to get %d bytes of memory for pcre object\n";
0x00012180 ldr r3, [pc, 0x1d0] | r3 = *(0x12354);
0x00012184 cmp r0, r1 |
0x00012188 ldr r8, [r3, 0xc] | r8 = "** Failed to get %d bytes of memory for offsets vector\n";
| if (r0 == r1) {
0x0001218c beq 0x122f0 | goto label_125;
| }
0x00012190 bl 0x163bc | r0 = fcn_000163bc (r0);
0x00012194 cmp r0, r1 |
| if (r0 == r1) {
0x00012198 beq 0x121c0 | goto label_126;
| }
0x0001219c mov r2, r4 | r2 = r4;
0x000121a0 ldr r1, [pc, 0x30c] | r1 = *(0x124b0);
0x000121a4 mov r0, r8 | r0 = r8;
0x000121a8 bl 0x11200 | fprintf (r0, r1, r2)
| do {
| label_13:
0x000121ac mov r0, sb | r0 = sb;
0x000121b0 bl 0x16778 | fcn_00016778 (r0);
0x000121b4 mov r0, r5 | r0 = r5;
0x000121b8 bl 0x11290 | fclose (r0);
0x000121bc b 0x11ef8 | goto label_8;
| label_126:
0x000121c0 mov r3, 1 | r3 = 1;
0x000121c4 ldrb r1, [r4, -1] | r1 = *((r4 - 1));
0x000121c8 str r3, [sp, 0x4c] | *(arg_4ch) = r3;
0x000121cc ldr r3, [pc, 0x2e4] | r3 = "Data_in__s_is_not_a_compiled_PCRE_regex";
0x000121d0 cmp r1, 0x3c |
0x000121d4 ldr r2, [pc, 0x338] | r2 = " (caseless)";
| if (r1 != 0x3c) {
0x000121d8 moveq r2, r3 | r2 = r3;
| }
| label_12:
0x000121dc ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x000121e0 lsl r7, r7, 0x10 | r7 <<= 0x10;
0x000121e4 orr fp, r7, fp, lsl 24 |
0x000121e8 orr sl, fp, sl | sl = fp | sl;
0x000121ec orr r7, sl, r3, lsl 8 | r7 = sl | (r3 << 8);
0x000121f0 ldr r1, [pc, 0x2c4] | r1 = "_byte_inverted_";
0x000121f4 mov r3, r4 | r3 = r4;
0x000121f8 mov r0, r8 | r0 = r8;
0x000121fc bl 0x11200 | fprintf (r0, r1, " (caseless)", r3)
0x00012200 cmp r7, 0 |
| if (r7 == 0) {
0x00012204 beq 0x12334 | goto label_127;
| }
0x00012208 add r0, r7, 0x20 | r0 = r7 + 0x20;
0x0001220c bl 0x165dc | fcn_000165dc (r0);
0x00012210 mov r6, 1 | r6 = 1;
0x00012214 mov r3, r5 | r3 = r5;
0x00012218 mov r2, r7 | r2 = r7;
0x0001221c mov r1, r6 | r1 = r6;
0x00012220 mov sl, r0 | sl = r0;
0x00012224 str r6, [r0], 0x20 | *(r0) = r6;
| r0 += 0x20;
0x00012228 str r0, [sl, 4] | *((sl + 4)) = r0;
0x0001222c bl 0x11248 | r0 = fread (r0, r1, r2, r3);
0x00012230 cmp r0, r7 |
| if (r0 != r7) {
0x00012234 bne 0x12304 | goto label_14;
| }
0x00012238 ldr r3, [pc, 0x118] | r3 = *(0x12354);
0x0001223c mov r2, r4 | r2 = r4;
0x00012240 ldr r1, [pc, 0x278] | r1 = "Compiled pattern%s loaded from %s\n";
0x00012244 ldr r0, [r3, 0xc] | r0 = "** Failed to get %d bytes of memory for offsets vector\n";
0x00012248 bl 0x11200 | fprintf ("** Failed to get %d bytes of memory for offsets vector\n", "Compiled pattern%s loaded from %s\n", r2, r3)
0x0001224c str r6, [sp, 0x5c] | *(arg_5ch) = r6;
| label_15:
0x00012250 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00012254 cmp r3, 0 |
| if (r3 == 0) {
0x00012258 beq 0x125a8 | goto label_128;
| }
0x0001225c mov r2, 0 | r2 = 0;
0x00012260 mov r1, sl | r1 = sl;
0x00012264 mov r0, sb | r0 = sb;
0x00012268 bl 0x11350 | r0 = pcre_pattern_to_host_byte_order ();
0x0001226c cmn r0, 0x1c |
| if (r0 != 0x1c) {
0x00012270 bne 0x125a8 | goto label_128;
| }
0x00012274 ldr r3, [sb] | r3 = *(sb);
0x00012278 ldr r2, [pc, 0x230] | r2 = "** Failed to get %d bytes of memory for pcre object\n";
0x0001227c ldr r4, [sb, 0xc] | r4 = *((sb + 0xc));
0x00012280 cmp r3, r2 |
| if (r3 != r2) {
0x00012284 beq 0x12294 |
0x00012288 mov r0, r4 | r0 = r4;
0x0001228c bl 0x163bc | r0 = fcn_000163bc (r0);
0x00012290 mov r4, r0 | r4 = r0;
| }
0x00012294 ldr r3, [pc, 0xbc] | r3 = *(0x12354);
0x00012298 ldr r2, [r3, 0x38] | r2 = "_i";
0x0001229c ldr r0, [r3, 0xc] | r0 = "** Failed to get %d bytes of memory for offsets vector\n";
0x000122a0 cmp r2, 2 |
| if (r2 != 2) {
0x000122a4 ldreq r3, [pc, 0x218] | r3 = *(0x000124c4);
| }
| if (r2 != 2) {
0x000122a8 beq 0x122bc |
0x000122ac ldr r1, [pc, 0x214] | r1 = *(0x124c4);
0x000122b0 cmp r2, 1 |
0x000122b4 ldr r3, [pc, 0x258] | r3 = " (caseless)";
| if (r2 == 1) {
0x000122b8 moveq r3, r1 | r3 = r1;
| goto label_129;
| }
| }
| label_129:
0x000122bc mov r2, 0 | r2 = 0;
0x000122c0 str r2, [sp] | *(sp) = r2;
0x000122c4 ldr r1, [pc, 0x200] | r1 = *(0x124c8);
0x000122c8 mvn r2, 0x1b | r2 = ~0x1b;
0x000122cc bl 0x11200 | fprintf (r0, r1, r2, " (caseless)")
0x000122d0 ldr r0, [pc, 0x80] |
0x000122d4 and r3, r4, 7 | r3 = r4 & 7;
0x000122d8 lsl r3, r3, 3 | r3 <<= 3;
0x000122dc mov r2, 8 | r2 = 8;
0x000122e0 ldr r1, [pc, 0x1e8] | r1 = "Error %d from pcre%s_fullinfo(%d)\n";
0x000122e4 ldr r0, [r0, 0xc] | r0 = "** Failed to get %d bytes of memory for offsets vector\n";
0x000122e8 bl 0x11200 | fprintf (r0, "Error %d from pcre%s_fullinfo(%d)\n", r2, r3)
0x000122ec b 0x121ac |
| } while (1);
| label_125:
0x000122f0 str r6, [sp, 0x4c] | *(arg_4ch) = r6;
0x000122f4 ldr r2, [pc, 0x218] | r2 = " (caseless)";
0x000122f8 b 0x121dc | goto label_12;
| label_122:
0x000122fc mov sl, r6 | sl = r6;
0x00012300 mov sb, r6 | sb = r6;
| label_14:
0x00012304 ldr r3, [pc, 0x4c] | r3 = *(0x12354);
0x00012308 mov r2, r4 | r2 = r4;
0x0001230c ldr r1, [pc, 0x1c0] | r1 = "Running_in__d_bit_mode_but_pattern_was_compiled_in__d_bit_mode";
0x00012310 ldr r0, [r3, 0xc] | r0 = "** Failed to get %d bytes of memory for offsets vector\n";
0x00012314 bl 0x11200 | fprintf ("** Failed to get %d bytes of memory for offsets vector\n", "Running_in__d_bit_mode_but_pattern_was_compiled_in__d_bit_mode", r2, r3)
0x00012318 cmp sl, 0 |
| if (sl == 0) {
0x0001231c beq 0x121ac | goto label_13;
| }
0x00012320 mov r0, sl | r0 = sl;
0x00012324 bl 0x112fc | pcre_free_study ();
0x00012328 b 0x121ac | goto label_13;
| label_124:
0x0001232c mov sl, r6 | sl = r6;
0x00012330 b 0x12304 | goto label_14;
| label_127:
0x00012334 ldr r3, [pc, 0x1c] | r3 = *(0x12354);
0x00012338 ldr r0, [pc, 0x198] | r0 = "Failed_to_read_data_from__s";
0x0001233c ldr r1, [r3, 0xc] | r1 = "** Failed to get %d bytes of memory for offsets vector\n";
0x00012340 bl 0x11398 | fputs ("Failed_to_read_data_from__s", "** Failed to get %d bytes of memory for offsets vector\n");
0x00012344 mov sl, r7 | sl = r7;
0x00012348 str r7, [sp, 0x5c] | *(arg_5ch) = r7;
0x0001234c b 0x12250 | goto label_15;
| label_128:
0x000125a8 mov r2, 0 | r2 = 0;
0x000125ac add r3, sp, 0x124 | r3 += arg_124h;
0x000125b0 mov r1, r2 | r1 = r2;
0x000125b4 mov r0, sb | r0 = sb;
0x000125b8 bl 0x1705c | r0 = fcn_0001705c (r0);
0x000125bc cmp r0, 0 |
| if (r0 < 0) {
0x000125c0 blt 0x121ac | goto label_13;
| }
0x000125c4 ldr r3, [sp, 0x124] | r3 = *(arg_124h);
0x000125c8 ldr r2, [pc, -0x2c] | r2 = *(0x000125a4);
0x000125cc lsr r3, r3, 0xb | r3 >>= 0xb;
0x000125d0 and r3, r3, 1 | r3 &= 1;
0x000125d4 mov r0, r5 | r0 = r5;
0x000125d8 str r3, [r2, 0x1c] | *((r2 + 0x1c)) = r3;
0x000125dc bl 0x11290 | fclose (r0);
0x000125e0 mov r3, 0 | r3 = 0;
0x000125e4 str r3, [sp, 0xb8] | *(arg_b8h) = r3;
0x000125e8 str r3, [sp, 0xa0] | *(arg_a0h) = r3;
0x000125ec str r3, [sp, 0x80] | *(arg_80h) = r3;
0x000125f0 str r3, [sp, 0x94] | *(arg_94h) = r3;
0x000125f4 str r3, [sp, 0x8c] | *(arg_8ch) = r3;
0x000125f8 str r3, [sp, 0xd4] | *(arg_d4h) = r3;
0x000125fc str r3, [sp, 0x70] | *(arg_70h) = r3;
0x00012600 str r3, [sp, 0x54] | *(arg_54h) = r3;
| label_33:
0x00012604 ldr r3, [sp, 0x64] | r3 = *(arg_64h);
0x00012608 cmp r3, 0 |
| if (r3 != 0) {
0x0001260c beq 0x12630 |
0x00012610 ldr r4, [pc, -0x74] | r4 = *(0x000125a4);
0x00012614 ldr r0, [pc, -0x140] | r0 = "------------------------------------------------------------------\n";
0x00012618 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x0001261c bl 0x11398 | fputs ("------------------------------------------------------------------\n", r1);
0x00012620 ldr r2, [r4, 0x3c] | r2 = *((r4 + 0x3c));
0x00012624 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00012628 mov r0, sb | r0 = sb;
0x0001262c bl 0x1737c | fcn_0001737c (r0, r1);
| }
0x00012630 ldr r3, [sp, 0x58] | r3 = *(s1);
0x00012634 cmp r3, 0 |
| if (r3 != 0) {
0x00012638 beq 0x12a40 |
0x0001263c add r3, sp, 0x140 | r3 += arg_140h;
0x00012640 mov r2, 2 | r2 = 2;
0x00012644 mov r1, 0 | r1 = 0;
0x00012648 mov r0, sb | r0 = sb;
0x0001264c bl 0x1705c | fcn_0001705c (r0);
0x00012650 add r3, sp, 0x144 | r3 += arg_144h;
0x00012654 mov r2, 3 | r2 = 3;
0x00012658 mov r1, 0 | r1 = 0;
0x0001265c mov r4, r0 | r4 = r0;
0x00012660 mov r0, sb | r0 = sb;
0x00012664 bl 0x1705c | fcn_0001705c (r0);
0x00012668 add r3, sp, 0x130 | r3 += arg_130h;
0x0001266c mov r2, 0x13 | r2 = 0x13;
0x00012670 mov r1, 0 | r1 = 0;
0x00012674 add r4, r4, r0 | r4 += r0;
0x00012678 mov r0, sb | r0 = sb;
0x0001267c bl 0x1705c | fcn_0001705c (r0);
0x00012680 add r3, sp, 0x148 | r3 += arg_148h;
0x00012684 mov r2, 0x14 | r2 = 0x14;
0x00012688 mov r1, 0 | r1 = 0;
0x0001268c add r4, r4, r0 | r4 += r0;
0x00012690 mov r0, sb | r0 = sb;
0x00012694 bl 0x1705c | fcn_0001705c (r0);
0x00012698 add r3, sp, 0x134 | r3 += arg_134h;
0x0001269c mov r2, 0x15 | r2 = 0x15;
0x000126a0 mov r1, 0 | r1 = 0;
0x000126a4 add r4, r4, r0 | r4 += r0;
0x000126a8 mov r0, sb | r0 = sb;
0x000126ac bl 0x1705c | fcn_0001705c (r0);
0x000126b0 add r3, sp, 0x14c | r3 += arg_14ch;
0x000126b4 mov r2, 0x16 | r2 = 0x16;
0x000126b8 mov r1, 0 | r1 = 0;
0x000126bc add r4, r4, r0 | r4 += r0;
0x000126c0 mov r0, sb | r0 = sb;
0x000126c4 bl 0x1705c | fcn_0001705c (r0);
0x000126c8 add r3, sp, 0x164 | r3 += arg_164h;
0x000126cc mov r2, 7 | r2 = 7;
0x000126d0 mov r1, 0 | r1 = 0;
0x000126d4 add r4, r4, r0 | r4 += r0;
0x000126d8 mov r0, sb | r0 = sb;
0x000126dc bl 0x1705c | fcn_0001705c (r0);
0x000126e0 add r3, sp, 0x168 | r3 += arg_168h;
0x000126e4 mov r2, 8 | r2 = 8;
0x000126e8 mov r1, 0 | r1 = 0;
0x000126ec add r4, r4, r0 | r4 += r0;
0x000126f0 mov r0, sb | r0 = sb;
0x000126f4 bl 0x1705c | fcn_0001705c (r0);
0x000126f8 add r3, sp, 0x16c | r3 += arg_16ch;
0x000126fc mov r2, 9 | r2 = 9;
0x00012700 mov r1, 0 | r1 = 0;
0x00012704 add r4, r4, r0 | r4 += r0;
0x00012708 mov r0, sb | r0 = sb;
0x0001270c bl 0x1705c | fcn_0001705c (r0);
0x00012710 add r3, sp, 0x150 | r3 += arg_150h;
0x00012714 mov r2, 0xc | r2 = 0xc;
0x00012718 mov r1, 0 | r1 = 0;
0x0001271c add r4, r4, r0 | r4 += r0;
0x00012720 mov r0, sb | r0 = sb;
0x00012724 bl 0x1705c | fcn_0001705c (r0);
0x00012728 add r3, sp, 0x154 | r3 += arg_154h;
0x0001272c mov r2, 0xd | r2 = 0xd;
0x00012730 mov r1, 0 | r1 = 0;
0x00012734 add r4, r4, r0 | r4 += r0;
0x00012738 mov r0, sb | r0 = sb;
0x0001273c bl 0x1705c | fcn_0001705c (r0);
0x00012740 add r3, sp, 0x158 | r3 += arg_158h;
0x00012744 mov r2, 0xe | r2 = 0xe;
0x00012748 mov r1, 0 | r1 = 0;
0x0001274c add r4, r4, r0 | r4 += r0;
0x00012750 mov r0, sb | r0 = sb;
0x00012754 bl 0x1705c | fcn_0001705c (r0);
0x00012758 add r3, sp, 0x160 | r3 += arg_160h;
0x0001275c mov r2, 0x19 | r2 = 0x19;
0x00012760 mov r1, 0 | r1 = 0;
0x00012764 add r4, r4, r0 | r4 += r0;
0x00012768 mov r0, sb | r0 = sb;
0x0001276c bl 0x1705c | fcn_0001705c (r0);
0x00012770 add r3, sp, 0x15c | r3 += arg_15ch;
0x00012774 mov r2, 0x12 | r2 = 0x12;
0x00012778 mov r1, 0 | r1 = 0;
0x0001277c add r4, r4, r0 | r4 += r0;
0x00012780 mov r0, sb | r0 = sb;
0x00012784 bl 0x1705c | r0 = fcn_0001705c (r0);
0x00012788 adds r3, r4, r0 | r3 = r4 + r0;
0x0001278c str r3, [sp, 0x64] | *(arg_64h) = r3;
| if (r3 == r4) {
0x00012790 movne r3, 0 | r3 = 0;
| }
| if (r3 == r4) {
0x00012794 strne r3, [sp, 0x78] | *(arg_78h) = r3;
| }
| if (r3 != r4) {
0x00012798 bne 0x12b08 | goto label_32;
| }
0x0001279c ldr r4, [pc, -0x200] | r4 = *(0x000125a4);
0x000127a0 ldr r2, [sp, 0x140] | r2 = *(arg_140h);
0x000127a4 ldr r1, [pc, -0x2cc] | r1 = "Capturing subpattern count = %d\n";
0x000127a8 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x000127ac bl 0x11200 | fprintf (r0, "Capturing subpattern count = %d\n", r2, r3, r4)
0x000127b0 ldr r2, [sp, 0x144] | r2 = *(arg_144h);
0x000127b4 cmp r2, 0 |
| if (r2 > 0) {
0x000127b8 ble 0x127c8 |
0x000127bc ldr r1, [pc, -0x2e0] | r1 = "Max_back_reference___d";
0x000127c0 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x000127c4 bl 0x11200 | fprintf (r0, "Max_back_reference___d")
| }
0x000127c8 ldr r2, [sp, 0x15c] | r2 = *(arg_15ch);
0x000127cc cmp r2, 0 |
| if (r2 > 0) {
0x000127d0 ble 0x127e4 |
0x000127d4 ldr r3, [pc, -0x238] | r3 = *(0x000125a4);
0x000127d8 ldr r1, [pc, -0x2f8] | r1 = "Max lookbehind = %d\n";
0x000127dc ldr r0, [r3, 0xc] | r0 = *((r3 + 0xc));
0x000127e0 bl 0x11200 | fprintf (r0, "Max lookbehind = %d\n", r2, r3)
| }
0x000127e4 add r3, sp, 0x138 | r3 += arg_138h;
0x000127e8 mov r2, 0x17 | r2 = 0x17;
0x000127ec mov r1, 0 | r1 = 0;
0x000127f0 mov r0, sb | r0 = sb;
0x000127f4 bl 0x1705c | r0 = fcn_0001705c (r0);
0x000127f8 cmp r0, 0 |
| if (r0 == 0) {
0x000127fc bne 0x12814 |
0x00012800 ldr r3, [pc, -0x264] | r3 = *(0x000125a4);
0x00012804 ldr r2, [sp, 0x138] | r2 = *(arg_138h);
0x00012808 ldr r1, [pc, -0x324] | r1 = "Match_limit___u";
0x0001280c ldr r0, [r3, 0xc] | r0 = *((r3 + 0xc));
0x00012810 bl 0x11200 | fprintf (r0, "Match_limit___u", r2, r3)
| }
0x00012814 add r3, sp, 0x13c | r3 += arg_13ch;
0x00012818 mov r2, 0x18 | r2 = 0x18;
0x0001281c mov r1, 0 | r1 = 0;
0x00012820 mov r0, sb | r0 = sb;
0x00012824 bl 0x1705c | r0 = fcn_0001705c (r0);
0x00012828 cmp r0, 0 |
| if (r0 == 0) {
0x0001282c bne 0x12844 |
0x00012830 ldr r3, [pc, -0x294] | r3 = *(0x000125a4);
0x00012834 ldr r2, [sp, 0x13c] | r2 = *(arg_13ch);
0x00012838 ldr r1, [pc, -0x350] | r1 = "Recursion_limit___u";
0x0001283c ldr r0, [r3, 0xc] | r0 = *((r3 + 0xc));
0x00012840 bl 0x11200 | fprintf (r0, "Recursion_limit___u", r2, r3)
| }
0x00012844 ldr r3, [sp, 0x168] | r3 = *(arg_168h);
0x00012848 cmp r3, 0 |
| if (r3 > 0) {
0x0001284c bgt 0x138c4 | goto label_130;
| }
| label_34:
0x00012850 ldr r3, [sp, 0x150] | r3 = *(arg_150h);
0x00012854 cmp r3, 0 |
| if (r3 == 0) {
0x00012858 bne 0x1286c |
0x0001285c ldr r3, [pc, -0x2c0] | r3 = *(0x000125a4);
0x00012860 ldr r0, [pc, -0x374] | r0 = "Partial matching not supported\n";
0x00012864 ldr r1, [r3, 0xc] | r1 = *((r3 + 0xc));
0x00012868 bl 0x11398 | fputs ("Partial matching not supported\n", r1);
| }
0x0001286c ldr r3, [sp, 0x158] | r3 = *(arg_158h);
0x00012870 cmp r3, 0 |
| if (r3 != 0) {
0x00012874 beq 0x12888 |
0x00012878 ldr r3, [pc, -0x2dc] | r3 = *(0x000125a4);
0x0001287c ldr r0, [pc, -0x38c] | r0 = "Contains explicit CR or LF match\n";
0x00012880 ldr r1, [r3, 0xc] | r1 = *((r3 + 0xc));
0x00012884 bl 0x11398 | fputs ("Contains explicit CR or LF match\n", r1);
| }
0x00012888 ldr r3, [sp, 0x160] | r3 = *(arg_160h);
0x0001288c ldr r4, [pc, -0x2f0] | r4 = *(0x000125a4);
0x00012890 cmp r3, 0 |
| if (r3 != 0) {
0x00012894 beq 0x128a4 |
0x00012898 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x0001289c ldr r0, [pc, -0x3a8] | r0 = "May match empty string\n";
0x000128a0 bl 0x11398 | fputs ("May match empty string\n", r1);
| }
0x000128a4 ldr ip, [sp, 0x124] | ip = *(arg_124h);
0x000128a8 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x000128ac cmp ip, 0 |
| if (ip != 0) {
0x000128b0 bne 0x139e4 | goto label_131;
| }
0x000128b4 mov r1, r0 | r1 = r0;
0x000128b8 ldr r0, [pc, -0x3c0] | r0 = "No options\n";
0x000128bc bl 0x11398 | fputs ("No options\n", r1);
| label_37:
0x000128c0 ldr r3, [sp, 0x154] | r3 = *(arg_154h);
0x000128c4 ldr r4, [pc, -0x328] | r4 = *(0x000125a4);
0x000128c8 cmp r3, 0 |
| if (r3 != 0) {
0x000128cc beq 0x128dc |
0x000128d0 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x000128d4 ldr r0, [pc, -0x3d8] | r0 = "Duplicate name status changes\n";
0x000128d8 bl 0x11398 | fputs ("Duplicate name status changes\n", r1);
| }
0x000128dc ldr r3, [sp, 0x124] | r3 = *(arg_124h);
0x000128e0 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x000128e4 and r3, r3, 0x700000 | r3 &= 0x700000;
0x000128e8 cmp r3, 0x300000 |
| if (r3 == 0x300000) {
0x000128ec beq 0x13b54 | goto label_132;
| }
| if (r3 > 0x300000) {
0x000128f0 bhi 0x13b30 | goto label_133;
| }
0x000128f4 cmp r3, 0x100000 |
| if (r3 == 0x100000) {
0x000128f8 beq 0x13b4c | goto label_134;
| }
0x000128fc cmp r3, 0x200000 |
| if (r3 != 0x200000) {
0x00012900 ldreq r0, [pc, -0x400] | r0 = "Forced newline sequence: LF\n";
| }
| if (r3 == 0x200000) {
0x00012904 beq 0x13b44 | goto label_39;
| }
| label_38:
0x00012908 ldr r1, [pc, -0x36c] | r1 = *(0x000125a4);
0x0001290c ldr r3, [sp, 0x148] | r3 = *(arg_148h);
0x00012910 ldr r0, [r1, 0xc] | r0 = *((r1 + 0xc));
0x00012914 cmp r3, 2 |
| if (r3 != 2) {
0x00012918 moveq r1, r0 | r1 = r0;
| }
| if (r3 != 2) {
0x0001291c ldreq r0, [pc, -0x418] | r0 = "First char at start or follows newline\n";
| }
| if (r3 == 2) {
0x00012920 beq 0x13bb0 | goto label_135;
| }
0x00012924 cmp r3, 1 |
| if (r3 != 1) {
0x00012928 bne 0x13ba8 | goto label_136;
| }
0x0001292c ldr r3, [sb, 0xc] | r3 = *((sb + 0xc));
0x00012930 ldr r5, [pc, -0x428] | r5 = " (caseless)";
0x00012934 tst r3, 0x20 |
0x00012938 ldr r3, [pc, -0x42c] | r3 = " (caseless)";
0x0001293c ldr r2, [sp, 0x130] | r2 = *(arg_130h);
| if ((r3 & 0x20) != 0) {
0x00012940 moveq r5, r3 | r5 = r3;
| }
0x00012944 ldr r3, [r1, 0x18] | r3 = *((r1 + 0x18));
0x00012948 cmp r3, 0 |
| if (r3 == 0) {
0x0001294c beq 0x13b64 | goto label_137;
| }
0x00012950 cmp r2, 0xff |
| if (r2 > 0xff) {
0x00012954 ldrls r3, [pc, -0x3e8] | r3 = obj.__ctype_b;
| }
| if (r2 <= 0xff) {
0x00012958 movhi r3, 0 | r3 = 0;
| }
| if (r2 > 0xff) {
0x0001295c ldrls r1, [r3] | r1 = *(r3);
| }
| if (r2 > 0xff) {
0x00012960 lslls r3, r2, 1 | r3 = r2 << 1;
| }
0x00012964 ldrhls r3, [r1, r3] | __asm ("ldrhls r3, [r1, r3]");
| if (r2 > 0xff) {
0x00012968 lsrls r3, r3, 6 | r3 >>= 6;
| }
| if (r2 > 0xff) {
0x0001296c andls r3, r3, 1 | r3 &= 1;
| }
0x00012970 and r3, r3, 1 | r3 &= 1;
| label_40:
0x00012974 cmp r3, 0 |
| if (r3 == 0) {
0x00012978 beq 0x13b78 | goto label_138;
| }
0x0001297c mov r3, r5 | r3 = r5;
0x00012980 ldr r1, [pc, -0x470] | r1 = "First char = '%c'%s\n";
0x00012984 bl 0x11200 | fprintf (r0, "First char = '%c'%s\n", r2, r3)
| label_41:
0x00012988 ldr r3, [sp, 0x14c] | r3 = *(arg_14ch);
0x0001298c ldr r1, [pc, -0x3f0] | r1 = *(0x000125a4);
0x00012990 cmp r3, 0 |
0x00012994 ldr r0, [r1, 0xc] | r0 = *((r1 + 0xc));
| if (r3 != 0) {
0x00012998 bne 0x13bb8 | goto label_139;
| }
0x0001299c mov r1, r0 | r1 = r0;
0x000129a0 ldr r0, [pc, -0x48c] | r0 = "No need char\n";
0x000129a4 bl 0x11398 | fputs ("No need char\n", r1);
| label_42:
0x000129a8 ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x000129ac cmp r3, 0 |
| if (r3 == 0) {
0x000129b0 bne 0x129d8 |
0x000129b4 ldr r3, [sp, 0xac] | r3 = *(arg_ach);
0x000129b8 ldr r2, [sp, 0xa8] | r2 = *(arg_a8h);
0x000129bc cmp r3, 0 |
| if (r3 >= 0) {
0x000129c0 movlt r2, 0 | r2 = 0;
| }
| if (r3 < 0) {
0x000129c4 andge r2, r2, 1 | r2 &= 1;
| }
0x000129c8 ldr r3, [sp, 0x8c] | r3 = *(arg_8ch);
0x000129cc eor r3, r3, 1 | r3 ^= 1;
0x000129d0 tst r2, r3 |
| if ((r2 & r3) == 0) {
0x000129d4 beq 0x12a40 | goto label_140;
| }
| }
0x000129d8 cmp sl, 0 |
| if (sl != 0) {
0x000129dc bne 0x13c64 | goto label_141;
| }
0x000129e0 ldr r3, [pc, -0x444] | r3 = *(0x000125a4);
0x000129e4 ldr r0, [pc, -0x4cc] | r0 = "Study_returned_NULL";
0x000129e8 ldr r1, [r3, 0xc] | r1 = *((r3 + 0xc));
| label_44:
0x000129ec bl 0x11398 | fputs ("Study_returned_NULL", r1);
| label_43:
0x000129f0 ldr r3, [sp, 0x7c] | r3 = *(arg_7ch);
0x000129f4 tst r3, 7 |
| if ((r3 & 7) == 0) {
0x000129f8 beq 0x12a40 | goto label_140;
| }
0x000129fc ldr r3, [sp, 0xbc] | r3 = *(arg_bch);
0x00012a00 tst r3, 7 |
| if ((r3 & 7) != 0) {
0x00012a04 bne 0x12a40 | goto label_140;
| }
0x00012a08 add r3, sp, 0x198 | r3 += format;
0x00012a0c mov r2, 0x10 | r2 = 0x10;
0x00012a10 mov r1, sl | r1 = sl;
0x00012a14 mov r0, sb | r0 = sb;
0x00012a18 bl 0x1705c | r0 = fcn_0001705c (r0);
0x00012a1c cmp r0, 0 |
| if (r0 != 0) {
0x00012a20 bne 0x12a40 | goto label_140;
| }
0x00012a24 ldr r3, [pc, -0x488] | r3 = *(0x000125a4);
0x00012a28 ldr r1, [r3, 0xc] | r1 = *((r3 + 0xc));
0x00012a2c ldr r3, [sp, 0x198] | r3 = *(format);
0x00012a30 cmp r3, 0 |
| if (r3 == 0) {
0x00012a34 ldrne r0, [pc, -0x518] | r0 = "JIT study was successful\n";
| }
| if (r3 != 0) {
0x00012a38 ldreq r0, [pc, -0x518] | r0 = "JIT_support_is_not_available_in_this_version_of_PCRE";
| }
0x00012a3c bl 0x11398 | fputs ("JIT study was successful\n", r1);
| }
| label_140:
0x00012a40 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00012a44 cmp r3, 0 |
| if (r3 == 0) {
0x00012a48 beq 0x13fc8 | goto label_142;
| }
0x00012a4c ldr r1, [pc, -0x528] | r1 = "wb";
0x00012a50 mov r0, r3 | r0 = r3;
0x00012a54 bl 0x113ec | r0 = fopen64 ();
0x00012a58 subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 != r0) {
0x00012a5c bne 0x13d98 | goto label_143;
| }
0x00012a60 ldr r3, [pc, -0x4c4] | r3 = *(0x000125a4);
0x00012a64 ldr r4, [r3, 0xc] | r4 = *((r3 + 0xc));
0x00012a68 bl 0x11338 | r0 = errno_location ();
0x00012a6c ldr r0, [r0] | r0 = *(r0);
0x00012a70 bl 0x11164 | strerror (r0);
0x00012a74 ldr r2, [sp, 0x54] | r2 = *(arg_54h);
0x00012a78 ldr r1, [pc, -0x550] | r1 = "Unable_to_open__s:__s";
0x00012a7c mov r3, r0 | r3 = r0;
0x00012a80 mov r0, r4 | r0 = r4;
0x00012a84 bl 0x11200 | fprintf (r0, "Unable_to_open__s:__s", r2, r3)
| label_47:
0x00012a88 mov r0, sb | r0 = sb;
0x00012a8c bl 0x16778 | fcn_00016778 (r0);
0x00012a90 cmp sl, 0 |
| if (sl != 0) {
0x00012a94 beq 0x12aa0 |
0x00012a98 mov r0, sl | r0 = sl;
0x00012a9c bl 0x112fc | pcre_free_study ();
| }
0x00012aa0 ldr r4, [pc, -0x504] | r4 = *(0x000125a4);
0x00012aa4 ldr r3, [r4, 0x18] | r3 = *((r4 + 0x18));
0x00012aa8 cmp r3, 0 |
| if (r3 == 0) {
0x00012aac beq 0x11ef8 | goto label_8;
| }
0x00012ab0 ldr r0, [sp, 0x70] | r0 = *(arg_70h);
0x00012ab4 bl 0x16778 | fcn_00016778 (r0);
0x00012ab8 ldr r1, [pc, -0x580] | r1 = "__Unexpected_EOF";
0x00012abc mov r0, 0 | r0 = 0;
0x00012ac0 bl 0x112cc | setlocale (r0, "__Unexpected_EOF");
0x00012ac4 mov r3, 0 | r3 = 0;
0x00012ac8 str r3, [r4, 0x18] | *((r4 + 0x18)) = r3;
0x00012acc b 0x11ef8 | goto label_8;
| label_118:
0x00012ad0 lsr r8, r8, 0xb | r8 >>= 0xb;
0x00012ad4 cmp r5, 0x5c |
| if (r5 != 0x5c) {
0x00012ad8 orreq r8, r8, 1 | r8 |= 1;
| }
0x00012adc tst r8, 1 |
| if ((r8 & 1) != 0) {
0x00012ae0 beq 0x12b10 |
0x00012ae4 ldr r3, [pc, -0x548] | r3 = *(0x000125a4);
0x00012ae8 ldr r0, [pc, -0x5bc] | r0 = "** Delimiter must not be alphanumeric or \\\n";
0x00012aec ldr r1, [r3, 0xc] | r1 = *((r3 + 0xc));
0x00012af0 bl 0x11398 | fputs ("** Delimiter must not be alphanumeric or \\\n", r1);
0x00012af4 mov r3, 0 | r3 = 0;
0x00012af8 mov sl, r3 | sl = r3;
0x00012afc mov sb, r3 | sb = r3;
0x00012b00 str r3, [sp, 0x70] | *(arg_70h) = r3;
0x00012b04 str r3, [sp, 0x78] | *(arg_78h) = r3;
| label_32:
0x00012b08 str r3, [sp, 0x64] | *(arg_64h) = r3;
0x00012b0c b 0x135e4 | goto label_86;
| }
0x00012b10 ldr r8, [pc, -0x5e0] | r8 = " > ";
0x00012b14 ldr sl, [pc, -0x5d8] | sl = obj.stdin;
0x00012b18 ldr r7, [pc, -0x57c] | r7 = *(0x000125a4);
0x00012b1c add sb, sb, 1 | sb++;
0x00012b20 mov r4, sb | r4 = sb;
| label_18:
0x00012b24 ldrb r1, [r4] | r1 = *(r4);
0x00012b28 cmp r1, 0 |
| if (r1 != 0) {
0x00012b2c bne 0x12d40 | goto label_144;
| }
0x00012b30 mov r1, r4 | r1 = r4;
0x00012b34 mov r2, r8 | r2 = r8;
0x00012b38 ldr r0, [sp, 0x74] | r0 = *(arg_74h);
0x00012b3c bl 0x167b4 | r0 = fcn_000167b4 (r0, r1);
0x00012b40 subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 != r0) {
0x00012b44 bne 0x12e90 | goto label_145;
| }
0x00012b48 ldr r3, [pc, -0x5ac] | r3 = *(0x000125a4);
0x00012b4c ldr r0, [pc, -0x618] | r0 = "__Unexpected_EOF";
0x00012b50 ldr r1, [r3, 0xc] | r1 = *((r3 + 0xc));
0x00012b54 bl 0x11398 | fputs ("__Unexpected_EOF", r1);
0x00012b58 mov sl, r4 | sl = r4;
0x00012b5c mov sb, r4 | sb = r4;
0x00012b60 str r4, [sp, 0x70] | *(arg_70h) = r4;
0x00012b64 str r4, [sp, 0x78] | *(arg_78h) = r4;
0x00012b68 str r4, [sp, 0x64] | *(arg_64h) = r4;
| label_29:
0x00012b6c mov r3, 1 | r3 = 1;
| label_87:
0x00012b70 str r3, [sp, 0x50] | *(arg_50h) = r3;
| label_50:
0x00012b74 ldr r3, [sp, 0xb4] | r3 = *(arg_b4h);
0x00012b78 ldr r2, [sp, 0x78] | r2 = *(arg_78h);
0x00012b7c orrs r3, r3, r2 | r3 |= r2;
| if (r3 != r3) {
0x00012b80 beq 0x12b98 |
0x00012b84 ldr r3, [sp, 0x174] | r3 = *(arg_174h);
0x00012b88 cmp r3, 0 |
| if (r3 == 0) {
0x00012b8c beq 0x12b98 | goto label_146;
| }
0x00012b90 add r0, sp, 0x174 | r0 += arg_174h;
0x00012b94 bl 0x11374 | regfree ();
| }
| label_146:
0x00012b98 cmp sb, 0 |
| if (sb != 0) {
0x00012b9c beq 0x12ba8 |
0x00012ba0 mov r0, sb | r0 = sb;
0x00012ba4 bl 0x16778 | fcn_00016778 (r0);
| }
0x00012ba8 cmp sl, 0 |
| if (sl != 0) {
0x00012bac beq 0x12bb8 |
0x00012bb0 mov r0, sl | r0 = sl;
0x00012bb4 bl 0x112fc | pcre_free_study ();
| }
0x00012bb8 ldr r4, [pc, -0x61c] | r4 = *(0x000125a4);
0x00012bbc ldr r3, [r4, 0x18] | r3 = *((r4 + 0x18));
0x00012bc0 cmp r3, 0 |
| if (r3 != 0) {
0x00012bc4 beq 0x12be4 |
0x00012bc8 ldr r0, [sp, 0x70] | r0 = *(arg_70h);
0x00012bcc bl 0x16778 | fcn_00016778 (r0);
0x00012bd0 ldr r1, [pc, -0x698] | r1 = "__Unexpected_EOF";
0x00012bd4 mov r0, 0 | r0 = 0;
0x00012bd8 bl 0x112cc | setlocale (r0, "__Unexpected_EOF");
0x00012bdc mov r3, 0 | r3 = 0;
0x00012be0 str r3, [r4, 0x18] | *((r4 + 0x18)) = r3;
| }
0x00012be4 ldr r3, [sp, 0x64] | r3 = *(arg_64h);
0x00012be8 cmp r3, 0 |
| if (r3 != 0) {
0x00012bec beq 0x12bf8 |
0x00012bf0 mov r0, r3 | r0 = r3;
0x00012bf4 bl 0x1123c | pcre_jit_stack_free ();
| }
0x00012bf8 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00012bfc cmp r3, 0 |
| if (r3 == 0) {
0x00012c00 beq 0x11ef8 | goto label_8;
| }
| label_117:
0x00012c04 ldr r3, [pc, -0x6c8] | r3 = obj.stdin;
0x00012c08 ldr r2, [sp, 0x74] | r2 = *(arg_74h);
0x00012c0c ldr r3, [r3] | r3 = *(r3);
0x00012c10 ldr r6, [pc, -0x674] | r6 = *(0x000125a4);
0x00012c14 cmp r3, r2 |
| if (r3 == r2) {
0x00012c18 bne 0x12c28 |
0x00012c1c ldr r1, [r6, 0xc] | r1 = *((r6 + 0xc));
0x00012c20 mov r0, 0xa | r0 = 0xa;
0x00012c24 bl 0x112f0 | fputc (r0, r1);
| }
0x00012c28 ldr r3, [sp, 0x68] | r3 = *(arg_68h);
0x00012c2c cmp r3, 0 |
| if (r3 == 0) {
0x00012c30 beq 0x11968 | goto label_16;
| }
0x00012c34 ldr r1, [r6, 0xc] | r1 = *((r6 + 0xc));
0x00012c38 ldr r0, [pc, -0x6f8] | r0 = stdin;
0x00012c3c bl 0x11398 | fputs (r0, r1);
0x00012c40 ldr r3, [sp, 0x84] | r3 = *(arg_84h);
0x00012c44 cmp r3, 0 |
| if (r3 > 0) {
0x00012c48 ble 0x12cdc |
0x00012c4c mov r0, r3 | r0 = r3;
0x00012c50 bl 0x185cc | r0 = fcn_000185cc (r0);
0x00012c54 mov r4, r0 | r4 = r0;
0x00012c58 ldr r0, [sp, 0xe0] | r0 = *(arg_e0h);
0x00012c5c mov r5, r1 | r5 = r1;
0x00012c60 bl 0x185cc | fcn_000185cc (r0);
0x00012c64 mov r2, 0 | r2 = 0;
0x00012c68 ldr r3, [pc, -0x6d4] | r3 = *(0x0001259c);
0x00012c6c bl 0x186b0 | fcn_000186b0 (r0);
0x00012c70 mov r2, r4 | r2 = r4;
0x00012c74 mov r3, r5 | r3 = r5;
0x00012c78 bl 0x1891c | fcn_0001891c (r0);
0x00012c7c mov r2, 0 | r2 = 0;
0x00012c80 ldr r3, [pc, -0x6e8] | r3 = *(0x000125a0);
0x00012c84 bl 0x1891c | r0 = fcn_0001891c (r0);
0x00012c88 mov r2, r0 | r2 = r0;
0x00012c8c mov r3, r1 | r3 = r1;
0x00012c90 ldr r0, [r6, 0xc] | r0 = *((r6 + 0xc));
0x00012c94 ldr r1, [pc, -0x750] | r1 = "Total_compile_time__.4f_milliseconds";
0x00012c98 bl 0x11200 | fprintf (r0, "Total_compile_time__.4f_milliseconds", r2, r3)
0x00012c9c ldr r0, [sp, 0xe4] | r0 = *(arg_e4h);
0x00012ca0 bl 0x185cc | fcn_000185cc (r0);
0x00012ca4 mov r2, 0 | r2 = 0;
0x00012ca8 ldr r3, [pc, -0x714] | r3 = *(0x0001259c);
0x00012cac bl 0x186b0 | fcn_000186b0 (r0);
0x00012cb0 mov r2, r4 | r2 = r4;
0x00012cb4 mov r3, r5 | r3 = r5;
0x00012cb8 bl 0x1891c | fcn_0001891c (r0);
0x00012cbc mov r2, 0 | r2 = 0;
0x00012cc0 ldr r3, [pc, -0x728] | r3 = *(0x000125a0);
0x00012cc4 bl 0x1891c | r0 = fcn_0001891c (r0);
0x00012cc8 mov r2, r0 | r2 = r0;
0x00012ccc mov r3, r1 | r3 = r1;
0x00012cd0 ldr r0, [r6, 0xc] | r0 = *((r6 + 0xc));
0x00012cd4 ldr r1, [pc, -0x78c] | r1 = "Total_study_time____.4f_milliseconds";
0x00012cd8 bl 0x11200 | fprintf (r0, "Total_study_time____.4f_milliseconds", r2, r3)
| }
0x00012cdc ldr r0, [sp, 0xe8] | r0 = *(arg_e8h);
0x00012ce0 bl 0x185cc | fcn_000185cc (r0);
0x00012ce4 mov r2, 0 | r2 = 0;
0x00012ce8 ldr r3, [pc, -0x754] | r3 = *(0x0001259c);
0x00012cec bl 0x186b0 | r0 = fcn_000186b0 (r0);
0x00012cf0 mov r4, r0 | r4 = r0;
0x00012cf4 ldr r0, [sp, 0x88] | r0 = *(arg_88h);
0x00012cf8 mov r5, r1 | r5 = r1;
0x00012cfc bl 0x185cc | r0 = fcn_000185cc (r0);
0x00012d00 mov r2, r0 | r2 = r0;
0x00012d04 mov r3, r1 | r3 = r1;
0x00012d08 mov r0, r4 | r0 = r4;
0x00012d0c mov r1, r5 | r1 = r5;
0x00012d10 bl 0x1891c | fcn_0001891c (r0);
0x00012d14 mov r2, 0 | r2 = 0;
0x00012d18 ldr r3, [pc, -0x780] | r3 = *(0x000125a0);
0x00012d1c bl 0x1891c | r0 = fcn_0001891c (r0);
0x00012d20 mov r2, r0 | r2 = r0;
0x00012d24 ldr r0, [pc, -0x788] | r0 = *(0x000125a4);
0x00012d28 mov r3, r1 | r3 = r1;
0x00012d2c ldr r0, [r0, 0xc] | r0 = *((r0 + 0xc));
0x00012d30 ldr r1, [pc, -0x7e4] | r1 = "Total_execute_time__.4f_milliseconds";
0x00012d34 bl 0x11200 | fprintf (r0, "Total_execute_time__.4f_milliseconds", r2, r3)
0x00012d38 mov r3, 0 | r3 = 0;
0x00012d3c b 0x115a0 | goto label_17;
| label_144:
0x00012d40 mov r3, r4 | r3 = r4;
0x00012d44 cmp r1, 0x5c |
0x00012d48 ldrb r2, [r3, 1]! | r2 = *((r3 += 1));
| if (r1 != 0x5c) {
0x00012d4c bne 0x12d60 | goto label_147;
| }
0x00012d50 cmp r2, 0 |
0x00012d54 movne r4, r3 | r4 = r3;
| while (r5 != r1) {
0x00012d58 add r4, r4, 1 | r4++;
0x00012d5c b 0x12b24 | goto label_18;
| label_147:
0x00012d60 cmp r5, r1 |
0x00012d64 bne 0x12d58 |
| }
0x00012d68 ldr r7, [pc, -0x7cc] | r7 = *(0x000125a4);
0x00012d6c cmp r2, 0x5c |
0x00012d70 ldr r1, [r7, 0x10] | r1 = *((r7 + 0x10));
0x00012d74 sub sb, sb, r6 | sb -= r6;
| if (r2 != 0x5c) {
0x00012d78 strbeq r2, [r4] | *(r4) = r2;
| }
0x00012d7c mov r6, 0 | r6 = 0;
| if (r2 != 0x5c) {
0x00012d80 moveq r4, r3 | r4 = r3;
| }
0x00012d84 add sb, r1, sb | sb = r1 + sb;
0x00012d88 strb r6, [r4] | *(r4) = r6;
0x00012d8c mov r1, sb | r1 = sb;
0x00012d90 ldr r0, [r7, 0x14] | r0 = *((r7 + 0x14));
0x00012d94 bl 0x11128 | strcpy (r0, r1);
0x00012d98 ldr r3, [sp, 0xd8] | r3 = *(arg_d8h);
0x00012d9c add r5, r4, 1 | r5 = r4 + 1;
0x00012da0 str r3, [r7, 0x40] | *((r7 + 0x40)) = r3;
0x00012da4 ldr r3, [sp, 0xa8] | r3 = *(arg_a8h);
0x00012da8 str r6, [sp, 0x4c] | *(arg_4ch) = r6;
0x00012dac str r3, [sp, 0x58] | *(s1) = r3;
0x00012db0 ldr r3, [sp, 0xb0] | r3 = *(arg_b0h);
0x00012db4 str r6, [sp, 0xb8] | *(arg_b8h) = r6;
0x00012db8 str r3, [sp, 0x64] | *(arg_64h) = r3;
0x00012dbc str r6, [sp, 0xa0] | *(arg_a0h) = r6;
0x00012dc0 ldr r3, [sp, 0xbc] | r3 = *(arg_bch);
0x00012dc4 str r6, [sp, 0x80] | *(arg_80h) = r6;
0x00012dc8 str r6, [sp, 0x94] | *(arg_94h) = r6;
0x00012dcc str r6, [sp, 0x8c] | *(arg_8ch) = r6;
0x00012dd0 str r6, [sp, 0x5c] | *(arg_5ch) = r6;
0x00012dd4 mov r8, r6 | r8 = r6;
0x00012dd8 str r6, [sp, 0xd4] | *(arg_d4h) = r6;
0x00012ddc str r6, [sp, 0x70] | *(arg_70h) = r6;
0x00012de0 str r6, [sp, 0x54] | *(arg_54h) = r6;
0x00012de4 str r6, [sp, 0x78] | *(arg_78h) = r6;
0x00012de8 ldr r4, [sp, 0xfc] | r4 = *(arg_fch);
0x00012dec ldr r6, [pc, -0x850] | r6 = *(0x000125a4);
0x00012df0 ldr sl, [pc, -0x8a0] | sl = "modifier";
0x00012df4 str r3, [sp, 0x7c] | *(arg_7ch) = r3;
| label_20:
0x00012df8 ldrb r7, [r5] | r7 = *(r5);
0x00012dfc cmp r7, 0 |
| if (r7 != 0) {
0x00012e00 bne 0x12eac | goto label_148;
| }
0x00012e04 ldr r3, [sp, 0xb4] | r3 = *(arg_b4h);
0x00012e08 ldr r2, [sp, 0x78] | r2 = *(arg_78h);
0x00012e0c orrs r5, r3, r2 | r5 = r3 | r2;
| if (r5 == r3) {
0x00012e10 beq 0x134d8 | goto label_149;
| }
0x00012e14 and r2, r4, 1 | r2 = r4 & 1;
0x00012e18 tst r4, 2 |
| if ((r4 & 2) == 0) {
0x00012e1c orrne r2, r2, 2 | r2 |= 2;
| }
0x00012e20 tst r4, 4 |
| if ((r4 & 4) == 0) {
0x00012e24 orrne r2, r2, 0x10 | r2 |= 0x10;
| }
0x00012e28 tst r4, 0x1000 |
| if ((r4 & 0x1000) == 0) {
0x00012e2c orrne r2, r2, 0x20 | r2 |= 0x20;
| }
0x00012e30 tst r4, 0x800 |
| if ((r4 & 0x800) == 0) {
0x00012e34 orrne r2, r2, 0x40 | r2 |= 0x40;
| }
0x00012e38 tst r4, 0x20000000 |
| if ((r4 & 0x20000000) == 0) {
0x00012e3c orrne r2, r2, 0x400 | r2 |= 0x400;
| }
0x00012e40 tst r4, 0x200 |
| if ((r4 & 0x200) == 0) {
0x00012e44 orrne r2, r2, 0x200 | r2 |= 0x200;
| }
0x00012e48 mov r1, sb | r1 = sb;
0x00012e4c add r0, sp, 0x174 | r0 += arg_174h;
0x00012e50 bl 0x11260 | r0 = regcomp ();
0x00012e54 subs sl, r0, 0 | sl = r0 - 0;
| if (sl != r0) {
0x00012e58 moveq sb, sl | sb = sl;
| }
| if (sl == r0) {
0x00012e5c beq 0x13fd0 | goto label_150;
| }
0x00012e60 ldr r5, [pc, -0x8c4] | r5 = *(0x000125a4);
0x00012e64 ldr r3, [pc, -0x910] | r3 = *(0x0001255c);
0x00012e68 ldr r2, [r5, 0x10] | r2 = *((r5 + 0x10));
0x00012e6c add r1, sp, 0x174 | r1 += arg_174h;
0x00012e70 ldr r3, [r3] | r3 = *(r3);
0x00012e74 bl 0x112d8 | regerror ();
0x00012e78 ldr r3, [r5, 0x10] | r3 = *((r5 + 0x10));
0x00012e7c mov r2, sl | r2 = sl;
0x00012e80 ldr r1, [pc, -0x928] | r1 = "Failed:_POSIX_code__d:__s";
0x00012e84 ldr r0, [r5, 0xc] | r0 = *((r5 + 0xc));
0x00012e88 bl 0x11200 | fprintf (r0, "Failed:_POSIX_code__d:__s", r2, r3)
0x00012e8c b 0x132f0 | goto label_151;
| label_145:
0x00012e90 ldr r3, [sl] | r3 = *(sl);
0x00012e94 ldr r2, [sp, 0x74] | r2 = *(arg_74h);
0x00012e98 cmp r3, r2 |
| if (r3 == r2) {
0x00012e9c beq 0x12b24 | goto label_18;
| }
0x00012ea0 ldr r1, [r7, 0xc] | r1 = *((r7 + 0xc));
0x00012ea4 bl 0x11398 | fputs (r0, r1);
0x00012ea8 b 0x12b24 | goto label_18;
| label_148:
0x00012eac mov r1, r7 | r1 = r7;
0x00012eb0 add r0, sp, 0x180 | r0 += s;
0x00012eb4 bl 0x1138c | r0 = strchr (r0, r1);
0x00012eb8 cmp r0, 0 |
| if (r0 == 0) {
0x00012ebc beq 0x12f08 | goto label_152;
| }
0x00012ec0 cmp r7, 0x3c |
| if (r7 != 0x3c) {
0x00012ec4 bne 0x13148 | goto label_153;
| }
0x00012ec8 mov r1, 0x3e | r1 = 0x3e;
0x00012ecc add r0, sp, 0x180 | r0 += s;
0x00012ed0 bl 0x1138c | r0 = strchr (r0, r1);
0x00012ed4 cmp r0, 0 |
| if (r0 == 0) {
0x00012ed8 beq 0x13148 | goto label_153;
| }
0x00012edc mov r3, sl | r3 = sl;
0x00012ee0 mov r2, 0 | r2 = 0;
0x00012ee4 ldr r1, [r6, 0xc] | r1 = *((r6 + 0xc));
0x00012ee8 add r0, r5, 1 | r0 = r5 + 1;
0x00012eec bl 0x16918 | r0 = fcn_00016918 (r0, r1);
0x00012ef0 subs fp, r0, 0 |
| if (fp == r0) {
0x00012ef4 beq 0x132f0 | goto label_151;
| }
0x00012ef8 add r7, sp, 0x180 | r7 += s;
| do {
| label_19:
0x00012efc ldrb r3, [r7], 1 | r3 = *(r7);
| r7++;
0x00012f00 cmp r3, 0 |
| if (r3 == 0) {
0x00012f04 bne 0x130dc |
| label_152:
0x00012f08 ldrb r2, [r5] | r2 = *(r5);
0x00012f0c add r7, r5, 1 | r7 = r5 + 1;
0x00012f10 sub r3, r2, 0xa | r3 = r2 - 0xa;
0x00012f14 cmp r3, 0x6e |
| if (r3 > 0x6e) {
| /* switch table (111 cases) at 0x12f20 */
0x00012f18 ldrls pc, [pc, r3, lsl 2] | offset_4 = r3 << 2;
| pc = *((pc + offset_4));
| }
0x00012f1c b 0x134a8 | goto label_154;
| }
0x000130dc cmp r3, 0x3c |
0x000130e0 bne 0x12efc |
| } while (r3 != 0x3c);
0x000130e4 mov r3, sl | r3 = sl;
0x000130e8 mov r2, 0 | r2 = 0;
0x000130ec ldr r1, [r6, 0xc] | r1 = *((r6 + 0xc));
0x000130f0 mov r0, r7 | r0 = r7;
0x000130f4 bl 0x16918 | r0 = fcn_00016918 (r0, r1);
0x000130f8 cmp r0, 0 |
| if (r0 == 0) {
0x000130fc bne 0x1310c |
0x00013100 ldr r0, [pc, -0xba4] | r0 = "__Error_in_modifier_forbid_data___giving_up.";
| label_67:
0x00013104 bl 0x111ac | puts ("__Error_in_modifier_forbid_data___giving_up.");
0x00013108 b 0x1159c | goto label_10;
| }
0x0001310c cmp fp, r0 |
| if (fp != r0) {
0x00013110 bne 0x12efc | goto label_19;
| }
0x00013114 mov r1, r5 | r1 = r5;
| do {
0x00013118 ldrb r3, [r1] | r3 = *(r1);
0x0001311c add r2, r1, 1 | r2 = r1 + 1;
0x00013120 cmp r3, 0x3e |
| if (r3 == 0x3e) {
0x00013124 bne 0x13140 |
0x00013128 sub r1, r1, r5 | r1 -= r5;
0x0001312c mov r2, r5 | r2 = r5;
0x00013130 add r1, r1, 1 | r1++;
0x00013134 ldr r0, [pc, -0xbd4] | r0 = "__The__.s_modifier_is_locked_out___giving_up.";
0x00013138 bl 0x1114c | printf ("__The__.s_modifier_is_locked_out___giving_up.", r1, r2)
0x0001313c b 0x1159c | goto label_10;
| }
0x00013140 mov r1, r2 | r1 = r2;
0x00013144 b 0x13118 |
| } while (1);
| label_153:
0x00013148 mov r1, r7 | r1 = r7;
0x0001314c ldr r0, [pc, -0xbe8] | r0 = "** The /%c modifier is locked out - giving up.\n";
0x00013150 b 0x12048 | goto label_11;
0x00013154 mov r2, r7 | r2 = r7;
| do {
0x00013158 mov r5, r2 | r5 = r2;
0x0001315c ldrb r3, [r2], 1 | r3 = *(r2);
| r2++;
0x00013160 cmp r3, 0xa |
0x00013164 cmpne r3, 0xd | __asm ("cmpne r3, 0xd");
| if (r3 == 0xa) {
0x00013168 movne r0, 1 | r0 = 1;
| }
| if (r3 != 0xa) {
0x0001316c moveq r0, 0 | r0 = 0;
| }
0x00013170 tst r3, 0xdf |
| if ((r3 & 0xdf) != 0) {
0x00013174 moveq r0, 0 | r0 = 0;
| }
0x00013178 cmp r0, 0 |
0x0001317c bne 0x13158 |
| } while (r0 != 0);
0x00013180 strb r0, [r5] | *(r5) = r0;
0x00013184 mov r1, r7 | r1 = r7;
0x00013188 bl 0x112cc | r0 = setlocale (r0, r1);
0x0001318c subs fp, r0, 0 |
| if (fp != r0) {
0x00013190 bne 0x13458 | goto label_155;
| }
0x00013194 ldr r1, [pc, -0xc2c] | r1 = "** Failed to set locale \"%s\"\n";
0x00013198 ldr r0, [r6, 0xc] | r0 = *((r6 + 0xc));
0x0001319c mov r2, r7 | r2 = r7;
| label_27:
0x000131a0 bl 0x11200 | fprintf (r0, "** Failed to set locale \"%s\"\n", r2)
0x000131a4 b 0x132f0 | goto label_151;
0x000131a8 mov r3, r7 | r3 = r7;
| label_26:
0x000131ac ldrb r2, [r3] | r2 = *(r3);
0x000131b0 add r1, r3, 1 | r1 = r3 + 1;
0x000131b4 cmp r2, 0 |
| if (r2 != 0) {
0x000131b8 bne 0x13470 | goto label_156;
| }
0x000131bc ldr r2, [pc, -0xc50] | r2 = obj.__ctype_b;
0x000131c0 ldr r0, [r2] | r0 = *(r2);
| do {
0x000131c4 mov r1, r3 | r1 = r3;
0x000131c8 ldrb r2, [r3, -1]! | r2 = *((r3 -= 1));
0x000131cc lsl r2, r2, 1 | r2 <<= 1;
0x000131d0 ldrh r2, [r0, r2] | r2 = *((r0 + r2));
0x000131d4 ands r2, r2, 0x20 | r2 &= 0x20;
0x000131d8 bne 0x131c4 |
| } while (r2 != r2);
0x000131dc str r7, [sp, 0x54] | *(arg_54h) = r7;
0x000131e0 strb r2, [r1] | *(r1) = r2;
0x000131e4 mov r7, r1 | r7 = r1;
0x000131e8 b 0x131f0 | goto label_21;
0x000131ec orr r4, r4, 0x40000 | r4 |= 0x40000;
| do {
| label_21:
0x000131f0 mov r5, r7 | r5 = r7;
0x000131f4 b 0x12df8 | goto label_20;
0x000131f8 orr r4, r4, 1 | r4 |= 1;
0x000131fc b 0x131f0 |
| } while (1);
0x00013200 orr r4, r4, 2 | r4 |= 2;
0x00013204 b 0x131f0 | goto label_21;
0x00013208 orr r4, r4, 4 | r4 |= 4;
0x0001320c b 0x131f0 | goto label_21;
0x00013210 orr r4, r4, 8 | r4 |= 8;
0x00013214 b 0x131f0 | goto label_21;
0x00013218 ldr r3, [sp, 0xa0] | r3 = *(arg_a0h);
0x0001321c cmp r3, 0 |
| if (r3 == 0) {
0x00013220 strne r3, [sp, 0xb8] | *(arg_b8h) = r3;
| }
| if (r3 != 0) {
0x00013224 moveq r3, 1 | r3 = 1;
| }
| if (r3 != 0) {
0x00013228 streq r3, [sp, 0xa0] | *(arg_a0h) = r3;
| }
0x0001322c b 0x131f0 | goto label_21;
0x00013230 orr r4, r4, 0x10 | r4 |= 0x10;
0x00013234 b 0x131f0 | goto label_21;
0x00013238 mov r3, 1 | r3 = 1;
| do {
0x0001323c str r3, [sp, 0x64] | *(arg_64h) = r3;
0x00013240 b 0x131f0 | goto label_21;
0x00013244 orr r4, r4, 0x4000 | r4 |= 0x4000;
0x00013248 b 0x131f0 | goto label_21;
0x0001324c mov r3, 1 | r3 = 1;
0x00013250 str r3, [sp, 0x58] | *(s1) = r3;
0x00013254 b 0x1323c |
| } while (1);
0x00013258 orr r4, r4, 0x20 | r4 |= 0x20;
0x0001325c b 0x131f0 | goto label_21;
0x00013260 mov r3, 1 | r3 = 1;
0x00013264 str r3, [sp, 0x4c] | *(arg_4ch) = r3;
0x00013268 b 0x131f0 | goto label_21;
0x0001326c mov r3, 1 | r3 = 1;
0x00013270 str r3, [sp, 0x94] | *(arg_94h) = r3;
0x00013274 b 0x131f0 | goto label_21;
0x00013278 mov r3, 1 | r3 = 1;
0x0001327c str r3, [sp, 0x58] | *(s1) = r3;
0x00013280 b 0x131f0 | goto label_21;
0x00013284 orr r4, r4, 0x80000 | r4 |= 0x80000;
0x00013288 b 0x131f0 | goto label_21;
0x0001328c mov r8, 1 | r8 = 1;
0x00013290 b 0x131f0 | goto label_21;
0x00013294 mov r3, 1 | r3 = 1;
0x00013298 str r3, [r6, 0x40] | *((r6 + 0x40)) = r3;
0x0001329c b 0x131f0 | goto label_21;
0x000132a0 orr r4, r4, 0x1000 | r4 |= 0x1000;
0x000132a4 b 0x131f0 | goto label_21;
0x000132a8 orr r4, r4, 0x20000 | r4 |= 0x20000;
0x000132ac b 0x131f0 | goto label_21;
0x000132b0 mov r3, 1 | r3 = 1;
0x000132b4 str r3, [sp, 0x78] | *(arg_78h) = r3;
0x000132b8 b 0x131f0 | goto label_21;
0x000132bc ldrb r3, [r5, 1] | r3 = *((r5 + 1));
0x000132c0 sub r3, r3, 0x30 | r3 -= 0x30;
0x000132c4 cmp r3, 1 |
| if (r3 <= 1) {
0x000132c8 bhi 0x132e4 |
0x000132cc str r3, [r6, 4] | *((r6 + 4)) = r3;
0x000132d0 ldr r2, [pc, -0xd60] | r2 = __ctype_b;
0x000132d4 ldr r3, [pc, -0xd60] | r3 = obj.pcre_stack_guard;
0x000132d8 add r7, r5, 2 | r7 = r5 + 2;
0x000132dc str r2, [r3] | *(r3) = r2;
0x000132e0 b 0x131f0 | goto label_21;
| }
0x000132e4 ldr r1, [r6, 0xc] | r1 = *((r6 + 0xc));
0x000132e8 ldr r0, [pc, -0xd70] | r0 = "** Missing 0 or 1 after /Q\n";
| label_25:
0x000132ec bl 0x11398 | fputs ("** Missing 0 or 1 after /Q\n", r1);
| label_151:
0x000132f0 mov sl, 0 | sl = 0;
| label_31:
0x000132f4 mov sb, sl | sb = sl;
0x000132f8 str sl, [sp, 0x64] | *(arg_64h) = sl;
0x000132fc b 0x135e4 | goto label_86;
0x00013300 mov r3, 1 | r3 = 1;
0x00013304 str r3, [sp, 0x5c] | *(arg_5ch) = r3;
0x00013308 ldr r1, [pc, -0xd8c] | r1 = *(0x00012584);
0x0001330c b 0x13334 | goto label_157;
| label_22:
0x00013310 cmp r3, 0x2d |
| if (r3 == 0x2d) {
0x00013314 beq 0x133a4 | goto label_158;
| }
0x00013318 cmp r3, 0x53 |
| if (r3 != 0x53) {
0x0001331c bne 0x131f0 | goto label_21;
| }
0x00013320 mov r3, 1 | r3 = 1;
0x00013324 str r3, [sp, 0x8c] | *(arg_8ch) = r3;
0x00013328 mov r3, 0 | r3 = 0;
0x0001332c str r3, [sp, 0x5c] | *(arg_5ch) = r3;
| label_23:
0x00013330 mov r7, r2 | r7 = r2;
| label_157:
0x00013334 ldrb r3, [r7] | r3 = *(r7);
0x00013338 add r2, r7, 1 | r2 = r7 + 1;
0x0001333c cmp r3, 0x2b |
| if (r3 == 0x2b) {
0x00013340 beq 0x13360 | goto label_159;
| }
| if (r3 > 0x2b) {
0x00013344 bhi 0x13310 | goto label_22;
| }
0x00013348 cmp r3, 0x21 |
| if (r3 != 0x21) {
0x0001334c bne 0x131f0 | goto label_21;
| }
0x00013350 ldr r3, [sp, 0x7c] | r3 = *(arg_7ch);
0x00013354 orr r3, r3, 8 | r3 |= 8;
| do {
| label_24:
0x00013358 str r3, [sp, 0x7c] | *(arg_7ch) = r3;
0x0001335c b 0x13330 | goto label_23;
| label_159:
0x00013360 ldrb r3, [r7, 1] | r3 = *((r7 + 1));
0x00013364 cmp r3, 0x2b |
| if (r3 != 0x2b) {
0x00013368 addeq r2, r7, 2 | r2 = r7 + 2;
| }
| if (r3 != 0x2b) {
0x0001336c moveq r3, 1 | r3 = 1;
| }
| if (r3 != 0x2b) {
0x00013370 streq r3, [sp, 0x9c] | *(arg_9ch) = r3;
| }
0x00013374 ldrb r3, [r2] | r3 = *(r2);
0x00013378 sub r3, r3, 0x31 | r3 -= 0x31;
0x0001337c and r0, r3, 0xff | r0 = r3 & 0xff;
0x00013380 cmp r0, 6 |
| if (r0 > 6) {
0x00013384 addls r3, r1, r3, lsl 2 | r3 = r1 + (r3 << 2);
| }
| if (r0 > 6) {
0x00013388 ldrls r3, [r3, 0x898] | r3 = *((r3 + 0x898));
| }
| if (r0 > 6) {
0x0001338c ldrls r0, [sp, 0x7c] | r0 = *(arg_7ch);
| }
| if (r0 <= 6) {
0x00013390 ldrhi r3, [sp, 0x7c] | r3 = *(arg_7ch);
| }
| if (r0 > 6) {
0x00013394 addls r2, r2, 1 | r2++;
| }
| if (r0 > 6) {
0x00013398 orrls r3, r0, r3 | r3 = r0 | r3;
| }
| if (r0 <= 6) {
0x0001339c orrhi r3, r3, 7 | r3 |= 7;
| }
0x000133a0 b 0x13358 |
| } while (1);
| label_158:
0x000133a4 ldr r3, [sp, 0x7c] | r3 = *(arg_7ch);
0x000133a8 bic r3, r3, 7 | r3 = BIT_MASK (r3, 7);
0x000133ac b 0x13358 | goto label_24;
0x000133b0 orr r4, r4, 0x200 | r4 |= 0x200;
0x000133b4 b 0x131f0 | goto label_21;
0x000133b8 orr r4, r4, 0x20000000 | r4 |= 0x20000000;
0x000133bc b 0x131f0 | goto label_21;
0x000133c0 orr r4, r4, 0x40 | r4 |= 0x40;
0x000133c4 b 0x131f0 | goto label_21;
0x000133c8 orr r4, r4, 0x4000000 | r4 |= 0x4000000;
0x000133cc b 0x131f0 | goto label_21;
0x000133d0 mov r3, 0 | r3 = 0;
0x000133d4 str r3, [r6, 0x3c] | *((r6 + 0x3c)) = r3;
0x000133d8 b 0x131f0 | goto label_21;
0x000133dc mov r3, 1 | r3 = 1;
0x000133e0 orr r4, r4, 0x800 | r4 |= 0x800;
0x000133e4 str r3, [r6, 0x1c] | *((r6 + 0x1c)) = r3;
0x000133e8 b 0x131f0 | goto label_21;
0x000133ec orr r4, r4, 0x10000 | r4 |= 0x10000;
0x000133f0 b 0x131f0 | goto label_21;
0x000133f4 orr r4, r4, 0x2000 | r4 |= 0x2000;
0x000133f8 b 0x131f0 | goto label_21;
0x000133fc ldrb r2, [r5, 1] | r2 = *((r5 + 1));
0x00013400 add r7, r5, 2 | r7 = r5 + 2;
0x00013404 cmp r2, 0xd |
| if (r2 == 0xd) {
0x00013408 beq 0x13424 | goto label_160;
| }
| if (r2 > 0xd) {
0x0001340c bhi 0x13434 | goto label_161;
| }
0x00013410 cmp r2, 0 |
| if (r2 == 0) {
0x00013414 beq 0x13424 | goto label_160;
| }
0x00013418 cmp r2, 0xa |
| do {
| if (r2 == 0xa) {
0x0001341c ldrne r1, [pc, -0xe9c] | r1 = "** Bad table number \"%c\" after /T\n";
| }
| if (r2 != 0xa) {
0x00013420 bne 0x134ac | goto label_162;
| }
| label_160:
0x00013424 ldr r3, [pc, -0xe88] | r3 = *(0x000125a4);
0x00013428 ldr r0, [pc, -0xea4] | r0 = "** Missing table number after /T\n";
0x0001342c ldr r1, [r3, 0xc] | r1 = *((r3 + 0xc));
0x00013430 b 0x132ec | goto label_25;
| label_161:
0x00013434 cmp r2, 0x30 |
| if (r2 == 0x30) {
0x00013438 beq 0x1344c | goto label_163;
| }
0x0001343c cmp r2, 0x31 |
| if (r2 == 0x31) {
0x00013440 beq 0x134d0 | goto label_164;
| }
0x00013444 cmp r2, 0x20 |
0x00013448 b 0x1341c |
| } while (1);
| label_163:
0x0001344c ldr r3, [pc, -0xec4] | r3 = "** Missing table number after /T\n";
| label_28:
0x00013450 str r3, [sp, 0x70] | *(arg_70h) = r3;
0x00013454 b 0x131f0 | goto label_21;
| label_155:
0x00013458 mov r3, 1 | r3 = 1;
0x0001345c str r3, [r6, 0x18] | *((r6 + 0x18)) = r3;
0x00013460 bl 0x11380 | pcre_maketables ();
0x00013464 mov r7, r5 | r7 = r5;
0x00013468 str r0, [sp, 0x70] | *(arg_70h) = r0;
0x0001346c b 0x131f0 | goto label_21;
| label_156:
0x00013470 mov r3, r1 | r3 = r1;
0x00013474 b 0x131ac | goto label_26;
0x00013478 mov r3, sl | r3 = sl;
0x0001347c mov r2, 0 | r2 = 0;
0x00013480 ldr r1, [r6, 0xc] | r1 = *((r6 + 0xc));
0x00013484 mov r0, r7 | r0 = r7;
0x00013488 bl 0x16918 | r0 = fcn_00016918 (r0, r1);
0x0001348c cmp r0, 0 |
| if (r0 == 0) {
0x00013490 beq 0x1364c | goto label_165;
| }
0x00013494 orr r4, r4, r0 | r4 |= r0;
| do {
0x00013498 ldrb r3, [r7], 1 | r3 = *(r7);
| r7++;
0x0001349c cmp r3, 0x3e |
0x000134a0 bne 0x13498 |
| } while (r3 != 0x3e);
0x000134a4 b 0x131f0 | goto label_21;
| label_154:
0x000134a8 ldr r1, [pc, -0xf1c] | r1 = "__Unknown_modifier__c";
| label_162:
0x000134ac ldr r3, [pc, -0xf10] | r3 = *(0x000125a4);
0x000134b0 ldr r0, [r3, 0xc] | r0 = *((r3 + 0xc));
0x000134b4 b 0x131a0 | goto label_27;
0x000134b8 mov r3, 1 | r3 = 1;
0x000134bc str r3, [sp, 0x80] | *(arg_80h) = r3;
0x000134c0 b 0x131f0 | goto label_21;
0x000134c4 mov r3, 1 | r3 = 1;
0x000134c8 str r3, [sp, 0xd4] | *(arg_d4h) = r3;
0x000134cc b 0x131f0 | goto label_21;
| label_164:
0x000134d0 ldr r3, [pc, -0xf40] | r3 = "__Unknown_modifier__c";
0x000134d4 b 0x13450 | goto label_28;
| label_149:
0x000134d8 ldr r3, [sp, 0x84] | r3 = *(arg_84h);
0x000134dc cmp r3, 0 |
| if (r3 <= 0) {
0x000134e0 ble 0x1359c | goto label_166;
| }
0x000134e4 bl 0x11368 | clock ();
0x000134e8 mov r7, r5 | r7 = r5;
0x000134ec add r3, sp, 0x11c | r3 += arg_11ch;
0x000134f0 str r3, [sp, 0x50] | *(arg_50h) = r3;
0x000134f4 mov r6, r0 | r6 = r0;
| do {
0x000134f8 ldr r3, [sp, 0x70] | r3 = *(arg_70h);
0x000134fc ldr r2, [sp, 0x50] | r2 = *(arg_50h);
0x00013500 str r3, [sp] | *(sp) = r3;
0x00013504 mov r1, r4 | r1 = r4;
0x00013508 add r3, sp, 0x12c | r3 += arg_12ch;
0x0001350c mov r0, sb | r0 = sb;
0x00013510 bl 0x11278 | r0 = pcre_compile ();
0x00013514 cmp r0, 0 |
| if (r0 != 0) {
0x00013518 beq 0x13520 |
0x0001351c bl 0x113d4 | free (r0);
| }
0x00013520 ldr r3, [sp, 0x84] | r3 = *(arg_84h);
0x00013524 add r7, r7, 1 | r7++;
0x00013528 cmp r3, r7 |
0x0001352c bne 0x134f8 |
| } while (r3 != r7);
0x00013530 bl 0x11368 | clock ();
0x00013534 ldr r3, [sp, 0xe0] | r3 = *(arg_e0h);
0x00013538 sub r0, r0, r6 | r0 -= r6;
0x0001353c add r3, r3, r0 | r3 += r0;
0x00013540 str r3, [sp, 0xe0] | *(arg_e0h) = r3;
0x00013544 bl 0x185cc | fcn_000185cc (r0);
0x00013548 mov r2, 0 | r2 = 0;
0x0001354c ldr r3, [pc, -0xfb8] | r3 = *(0x0001259c);
0x00013550 bl 0x186b0 | r0 = fcn_000186b0 (r0);
0x00013554 mov r6, r0 | r6 = r0;
0x00013558 ldr r0, [sp, 0x84] | r0 = *(arg_84h);
0x0001355c mov r7, r1 | r7 = r1;
0x00013560 bl 0x185cc | r0 = fcn_000185cc (r0);
0x00013564 mov r2, r0 | r2 = r0;
0x00013568 mov r3, r1 | r3 = r1;
0x0001356c mov r0, r6 | r0 = r6;
0x00013570 mov r1, r7 | r1 = r7;
0x00013574 bl 0x1891c | fcn_0001891c (r0);
0x00013578 mov r2, 0 | r2 = 0;
0x0001357c ldr r3, [pc, -0xfe4] | r3 = *(0x000125a0);
0x00013580 bl 0x1891c | r0 = fcn_0001891c (r0);
0x00013584 mov r2, r0 | r2 = r0;
0x00013588 ldr r0, [pc, -0xfec] | r0 = *(0x000125a4);
0x0001358c mov r3, r1 | r3 = r1;
0x00013590 ldr r0, [r0, 0xc] | r0 = *((r0 + 0xc));
0x00013594 ldr r1, [pc, 0xfc0] | r1 = *(0x14558);
0x00013598 bl 0x11200 | fprintf (r0, r1, r2, r3)
| label_166:
0x0001359c ldr r3, [sp, 0x70] | r3 = *(arg_70h);
0x000135a0 mov r0, sb | r0 = sb;
0x000135a4 str r3, [sp] | *(sp) = r3;
0x000135a8 add r2, sp, 0x11c | r2 += arg_11ch;
0x000135ac add r3, sp, 0x12c | r3 += arg_12ch;
0x000135b0 mov r1, r4 | r1 = r4;
0x000135b4 bl 0x11278 | r0 = pcre_compile ();
0x000135b8 subs sb, r0, 0 | sb = r0 - 0;
| if (sb != r0) {
0x000135bc bne 0x13664 | goto label_167;
| }
0x000135c0 ldr r0, [pc, 0xf98] |
0x000135c4 ldr r3, [sp, 0x12c] | r3 = *(arg_12ch);
0x000135c8 ldr r2, [sp, 0x11c] | r2 = *(arg_11ch);
0x000135cc ldr r1, [pc, 0xf90] | r1 = *(0x14560);
0x000135d0 ldr r0, [r0, 0xc] | r0 = stdin;
0x000135d4 bl 0x11200 | fprintf ("Compile time %.4f milliseconds\n", r1, r2, r3)
0x000135d8 mov sl, sb | sl = sb;
0x000135dc str sb, [sp, 0x78] | *(arg_78h) = sb;
0x000135e0 str sb, [sp, 0x64] | *(arg_64h) = sb;
| label_86:
0x000135e4 ldr r3, [pc, 0xf7c] |
0x000135e8 ldr r2, [sp, 0x74] | r2 = *(arg_74h);
0x000135ec ldr r3, [r3] | r3 = "Failed: %s at offset %d\n";
0x000135f0 cmp r3, r2 |
| if (r3 == r2) {
0x000135f4 beq 0x15ff0 | goto label_168;
| }
0x000135f8 ldr r4, [pc, 0xf60] | r4 = "Compile time %.4f milliseconds\n";
0x000135fc ldr r5, [pc, 0xf68] | r5 = stdin;
| label_30:
0x00013600 mov r2, 0 | r2 = 0;
0x00013604 ldr r1, [r4, 0x10] | r1 = *((r4 + 0x10));
0x00013608 ldr r0, [sp, 0x74] | r0 = *(arg_74h);
0x0001360c bl 0x167b4 | r0 = fcn_000167b4 (r0, r1);
0x00013610 cmp r0, 0 |
| if (r0 == 0) {
0x00013614 beq 0x12b6c | goto label_29;
| }
0x00013618 ldr r6, [r4, 0x10] | r6 = *((r4 + 0x10));
0x0001361c mov r0, r6 | r0 = r6;
0x00013620 bl 0x1135c | strlen (r0);
0x00013624 ldr r2, [r5] | r2 = *(r5);
0x00013628 add r0, r6, r0 | r0 = r6 + r0;
| do {
0x0001362c cmp r0, r6 |
| if (r0 == r6) {
0x00013630 beq 0x15fe0 | goto label_169;
| }
0x00013634 ldrb r3, [r0, -1]! | r3 = *((r0 -= 1));
0x00013638 lsl r3, r3, 1 | r3 <<= 1;
0x0001363c ldrh r3, [r2, r3] | r3 = *((r2 + r3));
0x00013640 tst r3, 0x20 |
0x00013644 bne 0x1362c |
| } while ((r3 & 0x20) != 0);
0x00013648 b 0x13600 | goto label_30;
| label_165:
0x0001364c mov sl, r0 | sl = r0;
0x00013650 b 0x132f4 | goto label_31;
| do {
0x00013654 mov r3, 0 | r3 = 0;
0x00013658 str r3, [sp, 0x78] | *(arg_78h) = r3;
0x0001365c mov sl, r3 | sl = r3;
0x00013660 b 0x12b08 | goto label_32;
| label_167:
0x00013664 mov r2, 0 | r2 = 0;
0x00013668 add r3, sp, 0x124 | r3 += arg_124h;
0x0001366c mov r1, r2 | r1 = r2;
0x00013670 bl 0x1705c | r0 = fcn_0001705c (r0);
0x00013674 cmp r0, 0 |
0x00013678 blt 0x13654 |
| } while (r0 < 0);
0x0001367c ldr r3, [sp, 0x124] | r3 = *(arg_124h);
0x00013680 tst r3, 0x800 |
0x00013684 ldr r3, [pc, 0xed4] |
| if ((r3 & 0x800) == 0) {
0x00013688 movne r2, 1 | r2 = 1;
| }
| if ((r3 & 0x800) == 0) {
0x0001368c strne r2, [r3, 0x1c] | *((r3 + 0x1c)) = r2;
| }
0x00013690 ldr r3, [r3, 0x40] | r3 = " multiline";
0x00013694 ldr r2, [sb, 4] | r2 = *((sb + 4));
0x00013698 cmp r3, 0 |
0x0001369c str r2, [sp, 0x50] | *(arg_50h) = r2;
| if (r3 != 0) {
0x000136a0 beq 0x13718 |
0x000136a4 add r3, sp, 0x170 | r3 += stream;
0x000136a8 mov r2, 8 | r2 = 8;
0x000136ac mov r1, 0 | r1 = 0;
0x000136b0 mov r0, sb | r0 = sb;
0x000136b4 bl 0x1705c | fcn_0001705c (r0);
0x000136b8 add r3, sp, 0x198 | r3 += format;
0x000136bc mov r2, 7 | r2 = 7;
0x000136c0 mov r1, 0 | r1 = 0;
0x000136c4 mov r0, sb | r0 = sb;
0x000136c8 bl 0x1705c | fcn_0001705c (r0);
0x000136cc ldr r3, [sb, 0xc] | r3 = *((sb + 0xc));
0x000136d0 mov r2, 1 | r2 = 1;
0x000136d4 tst r3, 1 |
0x000136d8 mov r1, 0 | r1 = 0;
0x000136dc add r3, sp, 0x128 | r3 += arg_128h;
0x000136e0 mov r0, sb | r0 = sb;
| if ((r3 & 1) == 0) {
0x000136e4 movne r4, 0x38 | r4 = 0x38;
| }
| if ((r3 & 1) != 0) {
0x000136e8 moveq r4, 0 | r4 = 0;
| }
0x000136ec bl 0x1705c | fcn_0001705c (r0);
0x000136f0 ldr r3, [sp, 0x170] | r3 = *(stream);
0x000136f4 ldr r1, [sp, 0x198] | r1 = *(format);
0x000136f8 ldr r2, [sp, 0x128] | r2 = *(arg_128h);
0x000136fc mul r0, r1, r3 | r0 = r1 * r3;
0x00013700 ldr r3, [pc, 0xe58] | r3 = "Compile time %.4f milliseconds\n";
0x00013704 sub r2, r2, r4 | r2 -= r4;
0x00013708 sub r2, r2, r0 | r2 -= r0;
0x0001370c ldr r1, [pc, 0xe5c] | r1 = __ctype_b;
0x00013710 ldr r0, [r3, 0xc] | r0 = stdin;
0x00013714 bl 0x11200 | fprintf (r0, r1, r2, r3)
| }
0x00013718 ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x0001371c cmp r3, 0 |
| if (r3 == 0) {
0x00013720 bne 0x13744 |
0x00013724 ldr r3, [sp, 0x8c] | r3 = *(arg_8ch);
0x00013728 ldr r2, [sp, 0xac] | r2 = *(arg_ach);
0x0001372c eor r3, r3, 1 | r3 ^= 1;
0x00013730 cmp r2, 0 |
| if (r2 >= 0) {
0x00013734 movlt r3, 0 | r3 = 0;
| }
| if (r2 < 0) {
0x00013738 andge r3, r3, 1 | r3 &= 1;
| }
0x0001373c cmp r3, 0 |
| if (r3 == 0) {
0x00013740 beq 0x15ff8 | goto label_170;
| }
| }
0x00013744 ldr r3, [sp, 0x84] | r3 = *(arg_84h);
0x00013748 cmp r3, 0 |
| if (r3 <= 0) {
0x0001374c ble 0x137f4 | goto label_171;
| }
0x00013750 bl 0x11368 | r0 = clock ();
0x00013754 mov r4, r0 | r4 = r0;
| do {
0x00013758 add r2, sp, 0x11c | r2 += arg_11ch;
0x0001375c ldr r1, [sp, 0x7c] | r1 = *(arg_7ch);
0x00013760 mov r0, sb | r0 = sb;
0x00013764 bl 0x1132c | pcre_study ();
0x00013768 ldr r3, [sp, 0x84] | r3 = *(arg_84h);
0x0001376c add r5, r5, 1 | r5++;
0x00013770 cmp r3, r5 |
0x00013774 mov r6, r0 | r6 = r0;
0x00013778 bne 0x13758 |
| } while (r3 != r5);
0x0001377c bl 0x11368 | clock ();
0x00013780 cmp r6, 0 |
0x00013784 sub r3, r0, r4 | r3 = r0 - r4;
0x00013788 str r3, [sp, 0xe4] | *(arg_e4h) = r3;
| if (r6 != 0) {
0x0001378c beq 0x13798 |
0x00013790 mov r0, r6 | r0 = r6;
0x00013794 bl 0x112fc | pcre_free_study ();
| }
0x00013798 ldr r0, [sp, 0xe4] | r0 = *(arg_e4h);
0x0001379c bl 0x185cc | fcn_000185cc (r0);
0x000137a0 mov r2, 0 | r2 = 0;
0x000137a4 ldr r3, [pc, 0xf00] | r3 = "Timing DFA restarts is not supported\n";
0x000137a8 bl 0x186b0 | r0 = fcn_000186b0 (r0);
0x000137ac mov r4, r0 | r4 = r0;
0x000137b0 ldr r0, [sp, 0x84] | r0 = *(arg_84h);
0x000137b4 mov r5, r1 | r5 = r1;
0x000137b8 bl 0x185cc | r0 = fcn_000185cc (r0);
0x000137bc mov r2, r0 | r2 = r0;
0x000137c0 mov r3, r1 | r3 = r1;
0x000137c4 mov r0, r4 | r0 = r4;
0x000137c8 mov r1, r5 | r1 = r5;
0x000137cc bl 0x1891c | fcn_0001891c (r0);
0x000137d0 mov r2, 0 | r2 = 0;
0x000137d4 ldr r3, [pc, 0xed4] | r3 = *(0x146ac);
0x000137d8 bl 0x1891c | r0 = fcn_0001891c (r0);
0x000137dc mov r2, r0 | r2 = r0;
0x000137e0 ldr r0, [pc, 0xd78] |
0x000137e4 mov r3, r1 | r3 = r1;
0x000137e8 ldr r0, [r0, 0xc] | r0 = stdin;
0x000137ec ldr r1, [pc, 0xd80] | r1 = "Memory_allocation__code_space_:__d";
0x000137f0 bl 0x11200 | fprintf ("Compile time %.4f milliseconds\n", "Memory_allocation__code_space_:__d", r2, r3)
| label_171:
0x000137f4 add r2, sp, 0x11c | r2 += arg_11ch;
0x000137f8 ldr r1, [sp, 0x7c] | r1 = *(arg_7ch);
0x000137fc mov r0, sb | r0 = sb;
0x00013800 bl 0x1132c | pcre_study ();
0x00013804 ldr r2, [sp, 0x11c] | r2 = *(arg_11ch);
0x00013808 ldr r4, [pc, 0xd50] | r4 = "Compile time %.4f milliseconds\n";
0x0001380c cmp r2, 0 |
0x00013810 mov sl, r0 | sl = r0;
| if (r2 == 0) {
0x00013814 beq 0x13868 | goto label_172;
| }
0x00013818 ldr r1, [pc, 0xd58] | r1 = "Study_time__.4f_milliseconds";
0x0001381c ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00013820 bl 0x11200 | fprintf (r0, "Study_time__.4f_milliseconds")
0x00013824 cmp r8, 0 |
| if (r8 == 0) {
0x00013828 moveq r7, r8 | r7 = r8;
| goto label_173;
| }
| if (r8 == 0) {
| label_173:
0x0001382c beq 0x12604 | goto label_33;
| }
0x00013830 cmp sl, 0 |
| if (sl == 0) {
0x00013834 bne 0x1384c |
| label_88:
0x00013838 mov r0, 0x20 | r0 = 0x20;
0x0001383c bl 0x111b8 | malloc (r0);
0x00013840 mov r3, 0 | r3 = 0;
0x00013844 mov sl, r0 | sl = r0;
0x00013848 str r3, [r0] | *(r0) = r3;
| }
0x0001384c mov r7, 0 | r7 = 0;
| do {
0x00013850 add r3, sp, 0x120 | r3 += arg_120h;
0x00013854 str r3, [sl, 0x18] | *((sl + 0x18)) = r3;
0x00013858 ldr r3, [sl] | r3 = *(sl);
0x0001385c orr r3, r3, 0x20 | r3 |= 0x20;
0x00013860 str r3, [sl] | *(sl) = r3;
0x00013864 b 0x12604 | goto label_33;
| label_172:
0x00013868 cmp r0, 0 |
| if (r0 == 0) {
0x0001386c beq 0x15ff8 | goto label_170;
| }
0x00013870 ldr r3, [r0, 4] | r3 = *((r0 + 4));
0x00013874 ldr r7, [r3] | r7 = *(r3);
0x00013878 ldr r3, [r4, 0x40] | r3 = *((r4 + 0x40));
0x0001387c cmp r3, 0 |
| if (r3 != 0) {
0x00013880 beq 0x138b8 |
0x00013884 mov r1, r0 | r1 = r0;
0x00013888 add r3, sp, 0x198 | r3 += format;
0x0001388c mov r2, 0x11 | r2 = 0x11;
0x00013890 mov r0, sb | r0 = sb;
0x00013894 bl 0x1705c | r0 = fcn_0001705c (r0);
0x00013898 cmp r0, 0 |
| if (r0 != 0) {
0x0001389c bne 0x138b8 | goto label_174;
| }
0x000138a0 ldr r2, [sp, 0x198] | r2 = *(format);
0x000138a4 cmp r2, 0 |
| if (r2 == 0) {
0x000138a8 beq 0x138b8 | goto label_174;
| }
0x000138ac ldr r1, [pc, 0xcc8] | r1 = "Failed_to_study:__s";
0x000138b0 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x000138b4 bl 0x11200 | fprintf (r0, "Failed_to_study:__s")
| }
| label_174:
0x000138b8 cmp r8, 0 |
0x000138bc bne 0x13850 |
| } while (r8 != 0);
0x000138c0 b 0x12604 | goto label_33;
| label_130:
0x000138c4 ldr r4, [pc, 0xc94] | r4 = "Compile time %.4f milliseconds\n";
0x000138c8 ldr r0, [pc, 0xcb0] | r0 = "Memory allocation (JIT code): %d\n";
0x000138cc ldr r1, [r4, 0xc] | r1 = stdin;
0x000138d0 bl 0x11398 | fputs ("Memory allocation (JIT code): %d\n", r1);
| label_35:
0x000138d4 add fp, sp, 0x298 |
0x000138d8 ldr r3, [fp, -0x130] | r3 = *(arg_168h);
0x000138dc sub r2, r3, 1 | r2 = r3 - 1;
0x000138e0 cmp r3, 0 |
0x000138e4 str r2, [fp, -0x130] | *(arg_168h) = r2;
| if (r3 <= 0) {
0x000138e8 ble 0x12850 | goto label_34;
| }
0x000138ec ldr r3, [r4, 0x38] | r3 = *((r4 + 0x38));
0x000138f0 ldr r0, [fp, -0x12c] | r0 = *(arg_16ch);
0x000138f4 cmp r3, 0 |
0x000138f8 ldr r3, [sp, 0x58] | r3 = *(s1);
| if (r3 != 0) {
0x000138fc moveq r5, 2 | r5 = 2;
| }
| if (r3 == 0) {
0x00013900 movne r5, r3 | r5 = r3;
| }
0x00013904 add r0, r0, r5 | r0 += r5;
0x00013908 bl 0x1135c | strlen (r0);
0x0001390c ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00013910 mov r6, r0 | r6 = r0;
0x00013914 ldr r0, [pc, 0xc68] | r0 = "Named_capturing_subpatterns:";
0x00013918 bl 0x11398 | fputs ("Named_capturing_subpatterns:", r1);
0x0001391c ldr r0, [fp, -0x12c] | r0 = *(arg_16ch);
0x00013920 ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x00013924 mov r1, r6 | r1 = r6;
0x00013928 add r0, r0, r5 | r0 += r5;
0x0001392c bl 0x16b68 | fcn_00016b68 (r0, r1);
| do {
0x00013930 ldr r3, [fp, -0x134] | r3 = *(arg_164h);
0x00013934 add r8, r6, 1 | r8 = r6 + 1;
0x00013938 sub r3, r3, r5 | r3 -= r5;
0x0001393c cmp r3, r6 |
0x00013940 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
| if (r3 <= r6) {
0x00013944 bgt 0x13990 |
0x00013948 ldr r3, [r4, 0x38] | r3 = *((r4 + 0x38));
0x0001394c cmp r3, 0 |
| if (r3 == 0) {
0x00013950 bne 0x1397c |
0x00013954 ldr r3, [fp, -0x12c] | r3 = *(arg_16ch);
0x00013958 ldr r1, [pc, 0xc28] | r1 = *(0x14584);
0x0001395c ldrb r2, [r3] | r2 = *(r3);
0x00013960 ldrb r3, [r3, 1] | r3 = *((r3 + 1));
0x00013964 orr r2, r2, r3, lsl 8 | r2 |= (r3 << 8);
0x00013968 lsr r3, r2, 8 | r3 = r2 >> 8;
0x0001396c orr r2, r3, r2, lsl 8 | r2 = r3 | (r2 << 8);
0x00013970 lsl r2, r2, 0x10 | r2 <<= 0x10;
0x00013974 lsr r2, r2, 0x10 | r2 >>= 0x10;
0x00013978 bl 0x11200 | fprintf (r0, r1, r2, r3)
| }
0x0001397c ldr r3, [sp, 0x16c] | r3 = *(arg_16ch);
0x00013980 ldr r2, [sp, 0x164] | r2 = *(arg_164h);
0x00013984 add r3, r3, r2 | r3 += r2;
0x00013988 str r3, [sp, 0x16c] | *(arg_16ch) = r3;
0x0001398c b 0x138d4 | goto label_35;
| }
0x00013990 ldr r3, [r0, 0x34] | r3 = *((r0 + 0x34));
0x00013994 cmp r3, 0 |
| if (r3 == 0) {
0x00013998 beq 0x139d4 | goto label_175;
| }
0x0001399c ldr r3, [r0, 0x10] | r3 = *((r0 + 0x10));
0x000139a0 ldr r2, [r0, 0x1c] | r2 = *((r0 + 0x1c));
0x000139a4 cmp r3, r2 |
| if (r3 >= r2) {
0x000139a8 bhs 0x139c4 | goto label_176;
| }
0x000139ac add r2, r3, 1 | r2 = r3 + 1;
0x000139b0 str r2, [r0, 0x10] | *((r0 + 0x10)) = r2;
0x000139b4 mov r2, 0x20 | r2 = 0x20;
0x000139b8 strb r2, [r3] | *(r3) = r2;
| label_36:
0x000139bc mov r6, r8 | r6 = r8;
0x000139c0 b 0x13930 |
| } while (1);
| label_176:
0x000139c4 mov r1, r0 | r1 = r0;
0x000139c8 mov r0, 0x20 | r0 = 0x20;
0x000139cc bl 0x113e0 | fputc_unlocked ();
0x000139d0 b 0x139bc | goto label_36;
| label_175:
0x000139d4 mov r1, r0 | r1 = r0;
0x000139d8 mov r0, 0x20 | r0 = 0x20;
0x000139dc bl 0x112f0 | fputc (r0, r1);
0x000139e0 b 0x139bc | goto label_36;
| label_131:
0x000139e4 ldr r1, [pc, 0xba0] | r1 = "_3d";
0x000139e8 ldr r2, [pc, 0xba0] | r2 = *(0x1458c);
0x000139ec tst ip, 0x10 |
| if ((ip & 0x10) != 0) {
0x000139f0 moveq r3, r1 | r3 = r1;
| }
| if ((ip & 0x10) == 0) {
0x000139f4 movne r3, r2 | r3 = r2;
| }
0x000139f8 str r3, [sp, 0x58] | *(s1) = r3;
0x000139fc ldr r3, [pc, 0xb90] | r3 = " anchored";
0x00013a00 tst ip, 1 |
| if ((ip & 1) != 0) {
0x00013a04 moveq r3, r1 | r3 = r1;
| }
0x00013a08 str r3, [sp, 0x78] | *(arg_78h) = r3;
0x00013a0c ldr r3, [pc, 0xb84] | r3 = " caseless";
0x00013a10 tst ip, 8 |
| if ((ip & 8) != 0) {
0x00013a14 moveq r3, r1 | r3 = r1;
| }
0x00013a18 str r3, [sp] | *(sp) = r3;
0x00013a1c ldr r3, [pc, 0xb78] | r3 = " extended";
0x00013a20 tst ip, 2 |
| if ((ip & 2) != 0) {
0x00013a24 moveq r3, r1 | r3 = r1;
| }
0x00013a28 str r3, [sp, 4] | var_4h = r3;
0x00013a2c ldr r3, [pc, 0xb6c] | r3 = " multiline";
0x00013a30 tst ip, 0x40000 |
| if ((ip & 0x40000) != 0) {
0x00013a34 moveq r3, r1 | r3 = r1;
| }
0x00013a38 str r3, [sp, 8] | var_8h = r3;
0x00013a3c ldr r3, [pc, 0xb60] | r3 = "firstline";
0x00013a40 tst ip, 4 |
| if ((ip & 4) != 0) {
0x00013a44 moveq r3, r1 | r3 = r1;
| }
0x00013a48 str r3, [sp, 0xc] | var_ch = r3;
0x00013a4c ldr r3, [pc, 0xb54] | r3 = " dotall";
0x00013a50 tst ip, 0x800000 |
| if ((ip & 0x800000) != 0) {
0x00013a54 moveq r3, r1 | r3 = r1;
| }
0x00013a58 tst ip, 0x1000000 |
0x00013a5c str r3, [sp, 0x10] | var_10h = r3;
0x00013a60 ldr r3, [pc, 0xb44] | r3 = " bsr_anycrlf";
| if ((ip & 0x1000000) != 0) {
0x00013a64 moveq r3, r1 | r3 = r1;
| }
0x00013a68 tst ip, 0x20 |
0x00013a6c ldr r2, [pc, 0xb3c] | r2 = "bsr_unicode";
| if ((ip & 0x20) != 0) {
0x00013a70 moveq r2, r1 | r2 = r1;
| }
0x00013a74 tst ip, 0x40 |
0x00013a78 ldr lr, [pc, 0xb34] | lr = " extra";
| if ((ip & 0x40) != 0) {
0x00013a7c moveq lr, r1 | lr = r1;
| }
0x00013a80 tst ip, 0x200 |
0x00013a84 ldr r4, [pc, 0xb2c] | r4 = " extra";
| if ((ip & 0x200) != 0) {
0x00013a88 moveq r4, r1 | r4 = r1;
| }
0x00013a8c tst ip, 0x1000 |
0x00013a90 ldr r5, [pc, 0xb24] | r5 = "ungreedy";
0x00013a94 ldr r8, [pc, 0xb24] | r8 = "no_auto_capture";
| if ((ip & 0x1000) != 0) {
0x00013a98 moveq r5, r1 | r5 = r1;
| }
0x00013a9c tst ip, 0x20000 |
0x00013aa0 ldr r6, [pc, 0xb1c] | r6 = " utf";
| if ((ip & 0x20000) != 0) {
0x00013aa4 moveq r6, r1 | r6 = r1;
| }
0x00013aa8 tst ip, 0x800 |
| if ((ip & 0x800) != 0) {
0x00013aac moveq r8, r1 | r8 = r1;
| }
0x00013ab0 ldr fp, [pc, 0xb10] | fp = " no_utf_check";
0x00013ab4 tst ip, 0x20000000 |
0x00013ab8 str r8, [sp, 0x2c] | var_2ch = r8;
0x00013abc ldr r8, [pc, 0xb08] | r8 = " no_utf_check";
| if ((ip & 0x20000000) != 0) {
0x00013ac0 moveq r8, r1 | r8 = r1;
| }
0x00013ac4 tst ip, 0x2000 |
| if ((ip & 0x2000) != 0) {
0x00013ac8 moveq fp, r1 |
| }
0x00013acc str fp, [sp, 0x34] | var_34h = fp;
0x00013ad0 ldr fp, [pc, 0xaf8] | fp = " no_start_optimize";
0x00013ad4 tst ip, 0x4000000 |
| if ((ip & 0x4000000) != 0) {
0x00013ad8 moveq fp, r1 |
| }
0x00013adc tst ip, 0x80000 |
0x00013ae0 str fp, [sp, 0x38] | var_38h = fp;
0x00013ae4 ldr fp, [pc, 0xae8] | fp = "dupnames";
| if ((ip & 0x80000) != 0) {
0x00013ae8 moveq fp, r1 |
| }
0x00013aec tst ip, 0x10000 |
0x00013af0 ldr ip, [pc, 0xae0] | ip = "never_utf";
0x00013af4 str r2, [sp, 0x18] | var_18h = r2;
| if ((ip & 0x10000) == 0) {
0x00013af8 movne r1, ip | r1 = ip;
| }
0x00013afc str r1, [sp, 0x40] | *(envp) = r1;
0x00013b00 str r3, [sp, 0x14] | var_14h = r3;
0x00013b04 str r6, [sp, 0x28] | var_28h = r6;
0x00013b08 str r5, [sp, 0x24] | var_24h = r5;
0x00013b0c str r4, [sp, 0x20] | var_20h = r4;
0x00013b10 str lr, [sp, 0x1c] | var_1ch = lr;
0x00013b14 ldr r3, [sp, 0x78] | r3 = *(arg_78h);
0x00013b18 ldr r2, [sp, 0x58] | r2 = *(s1);
0x00013b1c ldr r1, [pc, 0xab8] | r1 = "never_utf";
0x00013b20 str fp, [sp, 0x3c] | var_3ch = fp;
0x00013b24 str r8, [sp, 0x30] | var_30h = r8;
0x00013b28 bl 0x11200 | fprintf (r0, "_3d", r2, r3, " extra", "ungreedy", " utf")
0x00013b2c b 0x128c0 | goto label_37;
| label_133:
0x00013b30 cmp r3, 0x400000 |
| if (r3 == 0x400000) {
0x00013b34 beq 0x13b5c | goto label_177;
| }
0x00013b38 cmp r3, 0x500000 |
| if (r3 == 0x500000) {
0x00013b3c ldreq r0, [pc, 0xa9c] | r0 = "Forced newline sequence: ANYCRLF\n";
| goto label_178;
| }
| if (r3 != 0x500000) {
| label_178:
0x00013b40 bne 0x12908 | goto label_38;
| }
| do {
| label_39:
0x00013b44 bl 0x11398 | fputs (r0, r1);
0x00013b48 b 0x12908 | goto label_38;
| label_134:
0x00013b4c ldr r0, [pc, 0xa90] | r0 = "Forced newline sequence: ANYCRLF\n";
0x00013b50 b 0x13b44 |
| } while (1);
| label_132:
0x00013b54 ldr r0, [pc, 0xa8c] | r0 = "Forced_newline_sequence:_CR";
0x00013b58 b 0x13b44 | goto label_39;
| label_177:
0x00013b5c ldr r0, [pc, 0xa88] | r0 = "Forced_newline_sequence:_CRLF";
0x00013b60 b 0x13b44 | goto label_39;
| label_137:
0x00013b64 sub r3, r2, 0x20 | r3 = r2 - 0x20;
0x00013b68 cmp r3, 0x5e |
| if (r3 <= 0x5e) {
0x00013b6c movhi r3, 0 | r3 = 0;
| }
| if (r3 > 0x5e) {
0x00013b70 movls r3, 1 | r3 = 1;
| }
0x00013b74 b 0x12974 | goto label_40;
| label_138:
0x00013b78 ldr r4, [pc, 0x9e0] | r4 = "Compile time %.4f milliseconds\n";
0x00013b7c mov r1, r0 | r1 = r0;
0x00013b80 ldr r0, [pc, 0xa68] | r0 = "Forced newline sequence: ANY\n";
0x00013b84 bl 0x11398 | fputs ("Forced newline sequence: ANY\n", r1);
0x00013b88 ldr r1, [r4, 0xc] | r1 = stdin;
0x00013b8c ldr r0, [sp, 0x130] | r0 = *(arg_130h);
0x00013b90 bl 0x16a70 | fcn_00016a70 (r0, r1);
0x00013b94 mov r2, r5 | r2 = r5;
0x00013b98 ldr r1, [pc, 0xa54] | r1 = "First_char__";
0x00013b9c ldr r0, [r4, 0xc] | r0 = stdin;
0x00013ba0 bl 0x11200 | fprintf (r0, "First_char__", r2)
0x00013ba4 b 0x12988 | goto label_41;
| label_136:
0x00013ba8 mov r1, r0 | r1 = r0;
0x00013bac ldr r0, [pc, 0xa44] | r0 = *(0x145f4);
| label_135:
0x00013bb0 bl 0x11398 | fputs (r0, r1);
0x00013bb4 b 0x12988 | goto label_41;
| label_139:
0x00013bb8 ldr r3, [sb, 0xc] | r3 = *((sb + 0xc));
0x00013bbc ldr r5, [pc, 0xa38] | r5 = "No_first_char";
0x00013bc0 tst r3, 0x80 |
0x00013bc4 ldr r3, [pc, 0x9c0] | r3 = "_3d";
0x00013bc8 ldr r2, [sp, 0x134] | r2 = *(arg_134h);
| if ((r3 & 0x80) != 0) {
0x00013bcc moveq r5, r3 | r5 = r3;
| }
0x00013bd0 ldr r3, [r1, 0x18] | r3 = *((r1 + 0x18));
0x00013bd4 cmp r3, 0 |
| if (r3 == 0) {
0x00013bd8 beq 0x13c20 | goto label_179;
| }
0x00013bdc cmp r2, 0xff |
| if (r2 <= 0xff) {
0x00013be0 bhi 0x13c00 |
0x00013be4 ldr r3, [pc, 0x980] | r3 = stdin;
0x00013be8 ldr r1, [r3] | r1 = stdin;
0x00013bec lsl r3, r2, 1 | r3 = r2 << 1;
0x00013bf0 ldrh r3, [r1, r3] | r3 = *((r1 + r3));
0x00013bf4 lsr r3, r3, 6 | r3 >>= 6;
0x00013bf8 and r3, r3, 1 | r3 &= 1;
0x00013bfc str r3, [sp, 0x64] | *(arg_64h) = r3;
| }
0x00013c00 ldr r3, [sp, 0x64] | r3 = *(arg_64h);
0x00013c04 and r3, r3, 1 | r3 &= 1;
| do {
0x00013c08 cmp r3, 0 |
| if (r3 == 0) {
0x00013c0c beq 0x13c34 | goto label_180;
| }
0x00013c10 mov r3, r5 | r3 = r5;
0x00013c14 ldr r1, [pc, 0x9e4] | r1 = " (caseless)";
0x00013c18 bl 0x11200 | fprintf (r0, " (caseless)", r2, r3)
0x00013c1c b 0x129a8 | goto label_42;
| label_179:
0x00013c20 sub r3, r2, 0x20 | r3 = r2 - 0x20;
0x00013c24 cmp r3, 0x5e |
| if (r3 <= 0x5e) {
0x00013c28 movhi r3, 0 | r3 = 0;
| }
| if (r3 > 0x5e) {
0x00013c2c movls r3, 1 | r3 = 1;
| }
0x00013c30 b 0x13c08 |
| } while (1);
| label_180:
0x00013c34 ldr r4, [pc, 0x924] | r4 = "Compile time %.4f milliseconds\n";
0x00013c38 mov r1, r0 | r1 = r0;
0x00013c3c ldr r0, [pc, 0x9c0] | r0 = "Need char = '%c'%s\n";
0x00013c40 bl 0x11398 | fputs ("Need char = '%c'%s\n", r1);
0x00013c44 ldr r1, [r4, 0xc] | r1 = stdin;
0x00013c48 ldr r0, [sp, 0x134] | r0 = *(arg_134h);
0x00013c4c bl 0x16a70 | fcn_00016a70 (r0, r1);
0x00013c50 mov r2, r5 | r2 = r5;
0x00013c54 ldr r1, [pc, 0x998] | r1 = "First_char__";
0x00013c58 ldr r0, [r4, 0xc] | r0 = stdin;
0x00013c5c bl 0x11200 | fprintf (r0, "First_char__", r2)
0x00013c60 b 0x129a8 | goto label_42;
| label_141:
0x00013c64 mov r3, 0 | r3 = 0;
0x00013c68 str r3, [sp, 0x170] | *(stream) = r3;
0x00013c6c mov r2, 0xf | r2 = 0xf;
0x00013c70 add r3, sp, 0x198 | r3 += format;
0x00013c74 mov r1, sl | r1 = sl;
0x00013c78 mov r0, sb | r0 = sb;
0x00013c7c bl 0x1705c | r0 = fcn_0001705c (r0);
0x00013c80 cmp r0, 0 |
| if (r0 == 0) {
0x00013c84 bne 0x13c9c |
0x00013c88 ldr r3, [pc, 0x8d0] | r3 = "Compile time %.4f milliseconds\n";
0x00013c8c ldr r2, [sp, 0x198] | r2 = *(format);
0x00013c90 ldr r1, [pc, 0x970] | r1 = "Need char = ";
0x00013c94 ldr r0, [r3, 0xc] | r0 = stdin;
0x00013c98 bl 0x11200 | fprintf (r0, "Need char = ", r2, "Compile time %.4f milliseconds\n")
| }
0x00013c9c add r3, sp, 0x170 | r3 += stream;
0x00013ca0 mov r2, 5 | r2 = 5;
0x00013ca4 mov r1, sl | r1 = sl;
0x00013ca8 mov r0, sb | r0 = sb;
0x00013cac bl 0x1705c | r0 = fcn_0001705c (r0);
0x00013cb0 subs r4, r0, 0 | r4 = r0 - 0;
| if (r4 != r0) {
0x00013cb4 bne 0x129f0 | goto label_43;
| }
0x00013cb8 ldr r3, [sp, 0x170] | r3 = *(stream);
0x00013cbc ldr r5, [pc, 0x89c] | r5 = "Compile time %.4f milliseconds\n";
0x00013cc0 cmp r3, 0 |
0x00013cc4 ldr r1, [r5, 0xc] | r1 = stdin;
| if (r3 == 0) {
0x00013cc8 ldreq r0, [pc, 0x93c] | r0 = "No_starting_char_list";
| goto label_181;
| }
| if (r3 == 0) {
| label_181:
0x00013ccc beq 0x129ec | goto label_44;
| }
0x00013cd0 ldr r0, [pc, 0x938] | r0 = "No_starting_char_list";
0x00013cd4 bl 0x11398 | fputs ("No_starting_char_list", r1);
0x00013cd8 ldr r6, [pc, 0x934] | r6 = "Starting chars: ";
0x00013cdc ldr fp, [pc, 0x934] | fp = "_c_";
0x00013ce0 mov r8, 0x18 | r8 = 0x18;
| label_46:
0x00013ce4 ldr r3, [sp, 0x170] | r3 = *(stream);
0x00013ce8 and r2, r4, 7 | r2 = r4 & 7;
0x00013cec ldrb r3, [r3, r4, asr 3] | offset_5 = r4 >> 3;
| r3 = *((r3 + offset_5));
0x00013cf0 asr r3, r3, r2 | r3 >>= r2;
0x00013cf4 tst r3, 1 |
| if ((r3 & 1) == 0) {
0x00013cf8 beq 0x13d78 | goto label_182;
| }
0x00013cfc cmp r8, 0x4b |
| if (r8 > 0x4b) {
0x00013d00 ble 0x13d14 |
0x00013d04 ldr r1, [r5, 0xc] | r1 = *((r5 + 0xc));
0x00013d08 ldr r0, [pc, 0x90c] | r0 = "_c_";
0x00013d0c bl 0x11398 | fputs ("_c_", r1);
0x00013d10 mov r8, 2 | r8 = 2;
| }
0x00013d14 ldr r3, [r5, 0x18] | r3 = *((r5 + 0x18));
0x00013d18 cmp r3, 0 |
| if (r3 == 0) {
0x00013d1c beq 0x13d50 | goto label_183;
| }
0x00013d20 ldr r3, [pc, 0x844] | r3 = stdin;
0x00013d24 ldr r2, [r3] | r2 = stdin;
0x00013d28 lsl r3, r4, 1 | r3 = r4 << 1;
0x00013d2c ldrh r3, [r2, r3] | r3 = *((r2 + r3));
0x00013d30 tst r3, 0x40 |
| if ((r3 & 0x40) != 0) {
0x00013d34 bne 0x13d5c | goto label_184;
| }
| do {
| label_45:
0x00013d38 mov r2, r4 | r2 = r4;
0x00013d3c mov r1, r6 | r1 = r6;
0x00013d40 ldr r0, [r5, 0xc] | r0 = *((r5 + 0xc));
0x00013d44 bl 0x11200 | fprintf (r0, r1, r2)
0x00013d48 add r8, r8, 5 | r8 += 5;
0x00013d4c b 0x13d78 | goto label_182;
| label_183:
0x00013d50 sub r3, r4, 0x20 | r3 = r4 - 0x20;
0x00013d54 cmp r3, 0x5e |
0x00013d58 bhi 0x13d38 |
| } while (r3 > 0x5e);
| label_184:
0x00013d5c cmp r4, 0x20 |
0x00013d60 ldr r0, [r5, 0xc] | r0 = *((r5 + 0xc));
| if (r4 == 0x20) {
0x00013d64 beq 0x13d38 | goto label_45;
| }
0x00013d68 mov r2, r4 | r2 = r4;
0x00013d6c mov r1, fp | r1 = fp;
0x00013d70 bl 0x11200 | fprintf (r0, r1, r2)
0x00013d74 add r8, r8, 2 | r8 += 2;
| label_182:
0x00013d78 add r4, r4, 1 | r4++;
0x00013d7c cmp r4, 0x100 |
| if (r4 != 0x100) {
0x00013d80 bne 0x13ce4 | goto label_46;
| }
0x00013d84 ldr r3, [pc, 0x7d4] | r3 = "Compile time %.4f milliseconds\n";
0x00013d88 mov r0, 0xa | r0 = 0xa;
0x00013d8c ldr r1, [r3, 0xc] | r1 = stdin;
0x00013d90 bl 0x112f0 | fputc (r0, r1);
0x00013d94 b 0x129f0 | goto label_43;
| label_143:
0x00013d98 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00013d9c cmp r3, 0 |
| if (r3 != 0) {
0x00013da0 beq 0x13ec0 |
0x00013da4 ldr r1, [sb, 0xc] | r1 = *((sb + 0xc));
0x00013da8 tst r1, 3 |
| if ((r1 & 3) == 0) {
0x00013dac beq 0x13ec0 | goto label_185;
| }
0x00013db0 ldr r3, [pc, 0x868] | r3 = "___";
0x00013db4 ldr r0, [sb, 4] | r0 = *((sb + 4));
0x00013db8 str r3, [sb] | *(sb) = r3;
0x00013dbc bl 0x163bc | fcn_000163bc (r0);
0x00013dc0 str r0, [sb, 4] | *((sb + 4)) = r0;
0x00013dc4 ldr r0, [sb, 8] | r0 = *((sb + 8));
0x00013dc8 bl 0x163bc | fcn_000163bc (r0);
0x00013dcc str r0, [sb, 8] | *((sb + 8)) = r0;
0x00013dd0 mov r0, r1 | r0 = r1;
0x00013dd4 bl 0x163bc | fcn_000163bc (r0);
0x00013dd8 str r0, [sb, 0xc] | *((sb + 0xc)) = r0;
0x00013ddc ldr r0, [sb, 0x10] | r0 = *((sb + 0x10));
0x00013de0 bl 0x163bc | fcn_000163bc (r0);
0x00013de4 str r0, [sb, 0x10] | *((sb + 0x10)) = r0;
0x00013de8 ldr r0, [sb, 0x14] | r0 = *((sb + 0x14));
0x00013dec bl 0x163bc | fcn_000163bc (r0);
0x00013df0 ldrh r2, [sb, 0x18] | r2 = *((sb + 0x18));
0x00013df4 cmp sl, 0 |
0x00013df8 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013dfc orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e00 ldrh r2, [sb, 0x1a] | r2 = *((sb + 0x1a));
0x00013e04 strh r3, [sb, 0x18] | *((sb + 0x18)) = r3;
0x00013e08 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013e0c orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e10 ldrh r2, [sb, 0x1c] | r2 = *((sb + 0x1c));
0x00013e14 strh r3, [sb, 0x1a] | *((sb + 0x1a)) = r3;
0x00013e18 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013e1c orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e20 ldrh r2, [sb, 0x1e] | r2 = *((sb + 0x1e));
0x00013e24 strh r3, [sb, 0x1c] | *((sb + 0x1c)) = r3;
0x00013e28 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013e2c orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e30 ldrh r2, [sb, 0x20] | r2 = *((sb + 0x20));
0x00013e34 strh r3, [sb, 0x1e] | *((sb + 0x1e)) = r3;
0x00013e38 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013e3c orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e40 ldrh r2, [sb, 0x22] | r2 = *((sb + 0x22));
0x00013e44 strh r3, [sb, 0x20] | *((sb + 0x20)) = r3;
0x00013e48 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013e4c orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e50 ldrh r2, [sb, 0x24] | r2 = *((sb + 0x24));
0x00013e54 strh r3, [sb, 0x22] | *((sb + 0x22)) = r3;
0x00013e58 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013e5c orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e60 ldrh r2, [sb, 0x26] | r2 = *((sb + 0x26));
0x00013e64 strh r3, [sb, 0x24] | *((sb + 0x24)) = r3;
0x00013e68 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013e6c orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e70 ldrh r2, [sb, 0x28] | r2 = *((sb + 0x28));
0x00013e74 strh r3, [sb, 0x26] | *((sb + 0x26)) = r3;
0x00013e78 lsl r3, r2, 8 | r3 = r2 << 8;
0x00013e7c orr r3, r3, r2, lsr 8 | r3 |= (r2 >> 8);
0x00013e80 str r0, [sb, 0x14] | *((sb + 0x14)) = r0;
0x00013e84 strh r3, [sb, 0x28] | *((sb + 0x28)) = r3;
| if (sl == 0) {
0x00013e88 beq 0x13ec0 | goto label_185;
| }
0x00013e8c ldr r3, [sl] | r3 = *(sl);
0x00013e90 tst r3, 1 |
| if ((r3 & 1) == 0) {
0x00013e94 beq 0x13ec0 | goto label_185;
| }
0x00013e98 ldr r1, [sl, 4] | r1 = *((sl + 4));
0x00013e9c ldr r0, [r1] | r0 = *(r1);
0x00013ea0 bl 0x163bc | fcn_000163bc (r0);
0x00013ea4 str r0, [r1] | *(r1) = r0;
0x00013ea8 ldr r0, [r1, 4] | r0 = *((r1 + 4));
0x00013eac bl 0x163bc | fcn_000163bc (r0);
0x00013eb0 str r0, [r1, 4] | *((r1 + 4)) = r0;
0x00013eb4 ldr r0, [r1, 0x28] | r0 = *((r1 + 0x28));
0x00013eb8 bl 0x163bc | fcn_000163bc (r0);
0x00013ebc str r0, [r1, 0x28] | *((r1 + 0x28)) = r0;
| }
| label_185:
0x00013ec0 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00013ec4 mov r2, 8 | r2 = 8;
0x00013ec8 lsr r3, r3, 0x18 | r3 >>= 0x18;
0x00013ecc strb r3, [sp, 0x198] | *(format) = r3;
0x00013ed0 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00013ed4 mov r1, 1 | r1 = 1;
0x00013ed8 lsr r3, r3, 0x10 | r3 >>= 0x10;
0x00013edc strb r3, [sp, 0x199] | *(arg_199h) = r3;
0x00013ee0 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00013ee4 add r0, sp, 0x198 | r0 += format;
0x00013ee8 lsr r3, r3, 8 | r3 >>= 8;
0x00013eec strb r3, [sp, 0x19a] | *(arg_19ah) = r3;
0x00013ef0 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00013ef4 strb r7, [sp, 0x19f] | *(arg_19fh) = r7;
0x00013ef8 strb r3, [sp, 0x19b] | *(arg_19bh) = r3;
0x00013efc lsr r3, r7, 0x18 | r3 = r7 >> 0x18;
0x00013f00 strb r3, [sp, 0x19c] | *(arg_19ch) = r3;
0x00013f04 lsr r3, r7, 0x10 | r3 = r7 >> 0x10;
0x00013f08 strb r3, [sp, 0x19d] | *(arg_19dh) = r3;
0x00013f0c lsr r3, r7, 8 | r3 = r7 >> 8;
0x00013f10 strb r3, [sp, 0x19e] | *(arg_19eh) = r3;
0x00013f14 mov r3, r4 | r3 = r4;
0x00013f18 bl 0x11314 | r0 = fwrite (r0, r1, r2, r3);
0x00013f1c cmp r0, 7 |
0x00013f20 bhi 0x13f58 |
| while (r0 <= r3) {
0x00013f24 ldr r3, [pc, 0x634] | r3 = "Compile time %.4f milliseconds\n";
0x00013f28 ldr r5, [r3, 0xc] | r5 = stdin;
| label_49:
0x00013f2c bl 0x11338 | r0 = errno_location ();
0x00013f30 ldr r0, [r0] | r0 = *(r0);
0x00013f34 bl 0x11164 | strerror (r0);
0x00013f38 ldr r2, [sp, 0x54] | r2 = *(arg_54h);
0x00013f3c ldr r1, [pc, 0x6e0] | r1 = *(0x14620);
0x00013f40 mov r3, r0 | r3 = r0;
0x00013f44 mov r0, r5 | r0 = r5;
0x00013f48 bl 0x11200 | fprintf (r0, r1, r2, r3)
| label_48:
0x00013f4c mov r0, r4 | r0 = r4;
0x00013f50 bl 0x11290 | fclose (r0);
0x00013f54 b 0x12a88 | goto label_47;
0x00013f58 mov r3, r4 | r3 = r4;
0x00013f5c ldr r2, [sp, 0x50] | r2 = *(arg_50h);
0x00013f60 mov r1, 1 | r1 = 1;
0x00013f64 mov r0, sb | r0 = sb;
0x00013f68 bl 0x11314 | fwrite (r0, r1, r2, r3);
0x00013f6c ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00013f70 cmp r0, r3 |
0x00013f74 blo 0x13f24 |
| }
0x00013f78 ldr r5, [pc, 0x5e0] | r5 = "Compile time %.4f milliseconds\n";
0x00013f7c ldr r2, [sp, 0x54] | r2 = *(arg_54h);
0x00013f80 ldr r1, [pc, 0x6a0] | r1 = "Write error on %s: %s\n";
0x00013f84 ldr r0, [r5, 0xc] | r0 = stdin;
0x00013f88 bl 0x11200 | fprintf (r0, "Write error on %s: %s\n", r2, r3, r4, "Compile time %.4f milliseconds\n")
0x00013f8c cmp sl, 0 |
| if (sl == 0) {
0x00013f90 beq 0x13f4c | goto label_48;
| }
0x00013f94 mov r3, r4 | r3 = r4;
0x00013f98 mov r2, r7 | r2 = r7;
0x00013f9c mov r1, 1 | r1 = 1;
0x00013fa0 ldr r0, [sl, 4] | r0 = *((sl + 4));
0x00013fa4 bl 0x11314 | r0 = fwrite (r0, r1, r2, r3);
0x00013fa8 cmp r0, r7 |
| if (r0 < r7) {
0x00013fac ldrlo r5, [r5, 0xc] | r5 = *((r5 + 0xc));
| goto label_186;
| }
| if (r0 <= r7) {
| label_186:
0x00013fb0 blo 0x13f2c | goto label_49;
| }
0x00013fb4 ldr r2, [sp, 0x54] | r2 = *(arg_54h);
0x00013fb8 ldr r1, [pc, 0x66c] | r1 = "Compiled_pattern_written_to__s";
0x00013fbc ldr r0, [r5, 0xc] | r0 = *((r5 + 0xc));
0x00013fc0 bl 0x11200 | fprintf (r0, "Compiled_pattern_written_to__s", r2)
0x00013fc4 b 0x13f4c | goto label_48;
| label_142:
0x00013fc8 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00013fcc str r3, [sp, 0x78] | *(arg_78h) = r3;
| label_150:
0x00013fd0 ldr r4, [pc, 0x588] | r4 = "Compile time %.4f milliseconds\n";
0x00013fd4 mov r3, 0 | r3 = 0;
0x00013fd8 str r3, [sp, 0xc4] | *(arg_c4h) = r3;
0x00013fdc str r3, [sp, 0x64] | *(arg_64h) = r3;
| label_51:
0x00013fe0 add r1, sp, 0x1280 | r1 += arg_1280h;
0x00013fe4 mov r3, 0 | r3 = 0;
0x00013fe8 add r2, sp, 0x298 | r2 += arg_298h;
0x00013fec add r1, r1, 0x18 | r1 += 0x18;
0x00013ff0 str r3, [r1] | *(r1) = r3;
0x00013ff4 str r1, [r2, -0x180] | *((r2 - 0x180)) = r1;
0x00013ff8 str r2, [r2, -0x184] | *((r2 - 0x184)) = r2;
0x00013ffc ldr r1, [pc, 0x62c] | r1 = "Study_data_written_to__s";
0x00014000 ldr r2, [pc, 0x668] | r2 = __ctype_tolower;
0x00014004 cmp sl, r3 |
0x00014008 str r1, [r2] | *(r2) = r1;
0x0001400c mov r2, 1 | r2 = 1;
0x00014010 str r3, [sp, 0x16c] | *(arg_16ch) = r3;
0x00014014 str r3, [sp, 0x298] | *(arg_298h) = r3;
0x00014018 str r3, [r4, 0x28] | *((r4 + 0x28)) = r3;
0x0001401c str r3, [r4, 0x20] | *((r4 + 0x20)) = r3;
0x00014020 str r3, [r4, 0x30] | *((r4 + 0x30)) = r3;
0x00014024 str r3, [r4, 8] | *((r4 + 8)) = r3;
0x00014028 str r2, [r4, 0x24] | *((r4 + 0x24)) = r2;
| if (sl == r3) {
0x0001402c ldrne r3, [sl] | r3 = *(sl);
| }
0x00014030 ldr r2, [pc, 0x5fc] | r2 = *(0x14630);
0x00014034 ldr r5, [pc, 0x5fc] | r5 = *(0x14634);
0x00014038 str r2, [r4, 0x34] | *((r4 + 0x34)) = r2;
0x0001403c bicne r3, r3, 0x12 | __asm ("bicne r3, r3, 0x12");
0x00014040 mvn r2, 0 | r2 = ~0;
0x00014044 mov r6, 0 | r6 = 0;
0x00014048 str r2, [r4, 0x2c] | *((r4 + 0x2c)) = r2;
| if (sl == r3) {
0x0001404c strne r3, [sl] | *(sl) = r3;
| }
| label_52:
0x00014050 ldr r1, [r4, 0x10] | r1 = *((r4 + 0x10));
0x00014054 mov r2, r5 | r2 = r5;
0x00014058 add r1, r1, r6 | r1 += r6;
0x0001405c ldr r0, [sp, 0x74] | r0 = *(arg_74h);
0x00014060 bl 0x167b4 | r0 = fcn_000167b4 (r0, r1);
0x00014064 cmp r0, 0 |
| if (r0 != 0) {
0x00014068 bne 0x1429c | goto label_187;
| }
0x0001406c cmp r6, 0 |
| if (r6 == 0) {
0x00014070 beq 0x12b6c | goto label_29;
| }
0x00014074 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00014078 mov r0, 0xa | r0 = 0xa;
0x0001407c bl 0x112f0 | fputc (r0, r1);
| label_53:
0x00014080 ldr r3, [pc, 0x4e4] | r3 = stdin;
0x00014084 ldr r0, [r3] | r0 = stdin;
0x00014088 ldr r3, [r4, 0x10] | r3 = *((r4 + 0x10));
0x0001408c add r6, r3, r6 | r6 = r3 + r6;
0x00014090 mov r2, r3 | r2 = r3;
| do {
0x00014094 sub r1, r6, r3 | r1 = r6 - r3;
0x00014098 cmp r3, r6 |
0x0001409c str r1, [sp, 0x50] | *(arg_50h) = r1;
| if (r3 == r6) {
0x000140a0 beq 0x142e0 | goto label_188;
| }
0x000140a4 ldrb r1, [r6, -1]! | r1 = *((r6 -= 1));
0x000140a8 lsl r1, r1, 1 | r1 <<= 1;
0x000140ac ldrh r1, [r0, r1] | r1 = *((r0 + r1));
0x000140b0 tst r1, 0x20 |
0x000140b4 bne 0x14094 |
| } while ((r1 & 0x20) != 0);
| label_54:
0x000140b8 ldr r0, [sp, 0x50] | r0 = *(arg_50h);
0x000140bc mov r1, 0 | r1 = 0;
0x000140c0 cmp r0, r1 |
0x000140c4 strb r1, [r3, r0] | *((r3 + r0)) = r1;
| if (r0 == r1) {
0x000140c8 beq 0x12b74 | goto label_50;
| }
0x000140cc ldr r3, [pc, 0x498] | r3 = stdin;
0x000140d0 ldr r1, [r3] | r1 = stdin;
| do {
0x000140d4 mov r7, r2 | r7 = r2;
0x000140d8 ldrb r3, [r7] | r3 = *(r7);
0x000140dc add r2, r2, 1 | r2++;
0x000140e0 lsl r3, r3, 1 | r3 <<= 1;
0x000140e4 ldrh r3, [r1, r3] | r3 = *((r1 + r3));
0x000140e8 tst r3, 0x20 |
0x000140ec bne 0x140d4 |
| } while ((r3 & 0x20) != 0);
0x000140f0 ldr r3, [r4, 0x1c] | r3 = *((r4 + 0x1c));
0x000140f4 cmp r3, 0 |
| if (r3 != 0) {
0x000140f8 bne 0x142ec | goto label_189;
| }
| label_55:
0x000140fc ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00014100 ldr r2, [sp, 0x98] | r2 = *(size);
0x00014104 cmp r3, r2 |
0x00014108 ldr r2, [sp, 0x6c] | r2 = *(ptr);
| if (r3 >= r2) {
0x0001410c movlo r3, 0 | r3 = 0;
| }
| if (r3 < r2) {
0x00014110 movhs r3, 1 | r3 = 1;
| }
0x00014114 cmp r2, 0 |
| if (r2 != 0) {
0x00014118 moveq r3, 1 | r3 = 1;
| }
0x0001411c cmp r3, 0 |
| if (r3 != 0) {
0x00014120 bne 0x14320 | goto label_190;
| }
0x00014124 ldr r2, [sp, 0x100] | r2 = *(arg_100h);
0x00014128 str r3, [sp, 0x8c] | *(arg_8ch) = r3;
0x0001412c str r2, [sp, 0xa4] | *(arg_a4h) = r2;
0x00014130 ldr r2, [sp, 0xc0] | r2 = *(arg_c0h);
0x00014134 mov r3, 1 | r3 = 1;
0x00014138 str r2, [sp, 0x4c] | *(arg_4ch) = r2;
0x0001413c ldr r2, [sp, 0x90] | r2 = *(arg_90h);
0x00014140 str r3, [sp, 0xd0] | *(arg_d0h) = r3;
0x00014144 ldr r3, [sp, 0x8c] | r3 = *(arg_8ch);
0x00014148 str r2, [sp, 0x54] | *(arg_54h) = r2;
0x0001414c ldr r2, [sp, 0x6c] | r2 = *(ptr);
0x00014150 mov fp, r3 |
0x00014154 str r2, [sp, 0x58] | *(s1) = r2;
0x00014158 str r3, [sp, 0x5c] | *(arg_5ch) = r3;
0x0001415c str r3, [sp, 0xf4] | *(arg_f4h) = r3;
0x00014160 str r3, [sp, 0xc8] | *(arg_c8h) = r3;
0x00014164 str r3, [sp, 0xcc] | *(arg_cch) = r3;
0x00014168 str r3, [sp, 0xf8] | *(arg_f8h) = r3;
| label_59:
0x0001416c ldrb r5, [r7] | r5 = *(r7);
0x00014170 add r3, r7, 1 | r3 = r7 + 1;
0x00014174 cmp r5, 0 |
| if (r5 != 0) {
0x00014178 bne 0x1435c | goto label_191;
| }
0x0001417c ldr r3, [r4, 0x38] | r3 = *((r4 + 0x38));
0x00014180 cmp r3, 0 |
| if (r3 != 0) {
0x00014184 ldreq r2, [sp, 0x58] | r2 = *(s1);
| }
| if (r3 != 0) {
0x00014188 strbeq r3, [r2] | *(r2) = r3;
| }
| if (r3 != 0) {
0x0001418c moveq r3, r2 | r3 = r2;
| }
| if (r3 != 0) {
0x00014190 ldreq r2, [sp, 0x6c] | r2 = *(ptr);
| }
| if (r3 != 0) {
0x00014194 subeq r3, r3, r2 | r3 -= r2;
| }
| if (r3 != 0) {
0x00014198 streq r3, [sp, 0x50] | *(arg_50h) = r3;
| }
0x0001419c ldr r2, [sp, 0x78] | r2 = *(arg_78h);
0x000141a0 ldr r3, [sp, 0xb4] | r3 = *(arg_b4h);
0x000141a4 orrs r5, r3, r2 | r5 = r3 | r2;
0x000141a8 ldr r3, [sp, 0x98] | r3 = *(size);
| if (r5 == r3) {
0x000141ac beq 0x14fe0 | goto label_192;
| }
0x000141b0 ldr r2, [sp, 0x50] | r2 = *(arg_50h);
0x000141b4 sub r3, r3, 1 | r3--;
0x000141b8 sub r3, r3, r2 | r3 -= r2;
0x000141bc ldr r2, [sp, 0x6c] | r2 = *(ptr);
0x000141c0 ldr r1, [sp, 0x6c] | r1 = *(ptr);
0x000141c4 add r3, r2, r3 | r3 = r2 + r3;
0x000141c8 str r3, [sp, 0x58] | *(s1) = r3;
0x000141cc ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x000141d0 ldr r0, [sp, 0x58] | r0 = *(s1);
0x000141d4 add r2, r3, 1 | r2 = r3 + 1;
0x000141d8 bl 0x11170 | memmove (r0, r1, r2);
| label_72:
0x000141dc ldr r2, [sp, 0x8c] | r2 = *(arg_8ch);
0x000141e0 ldr r3, [sp, 0x104] | r3 = *(arg_104h);
0x000141e4 orrs r3, r3, r2 | r3 |= r2;
0x000141e8 str r3, [sp, 0x8c] | *(arg_8ch) = r3;
| if (r3 != r3) {
0x000141ec beq 0x1420c |
0x000141f0 ldr r3, [sp, 0xa4] | r3 = *(arg_a4h);
0x000141f4 cmp r3, 0 |
| if (r3 == 0) {
0x000141f8 beq 0x1420c | goto label_193;
| }
0x000141fc ldr r0, [pc, 0x438] | r0 = "data__";
0x00014200 bl 0x111ac | puts ("data__");
0x00014204 mov r3, 0 | r3 = 0;
0x00014208 str r3, [sp, 0xa4] | *(arg_a4h) = r3;
| }
| label_193:
0x0001420c cmp r5, 0 |
| if (r5 == 0) {
0x00014210 beq 0x150d4 | goto label_194;
| }
0x00014214 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00014218 cmp r3, 0 |
| if (r3 > 0) {
0x0001421c movle r5, 0 | r5 = 0;
| }
| if (r3 > 0) {
0x00014220 ble 0x14230 |
0x00014224 lsl r0, r3, 3 | r0 = r3 << 3;
0x00014228 bl 0x111b8 | r0 = malloc (r0);
0x0001422c mov r5, r0 | r5 = r0;
| }
0x00014230 ands r3, fp, 0x80 | r3 = fp & 0x80;
| if (r3 == fp) {
0x00014234 movne r3, 4 | r3 = 4;
| }
0x00014238 tst fp, 0x100 |
| if ((fp & 0x100) == 0) {
0x0001423c orrne r3, r3, 8 | r3 |= 8;
| }
0x00014240 tst fp, 0x400 |
| if ((fp & 0x400) == 0) {
0x00014244 orrne r3, r3, 0x100 | r3 |= 0x100;
| }
0x00014248 str r3, [sp] | *(sp) = r3;
0x0001424c ldr r2, [sp, 0x4c] | r2 = *(arg_4ch);
0x00014250 mov r3, r5 | r3 = r5;
0x00014254 ldr r1, [sp, 0x58] | r1 = *(s1);
0x00014258 add r0, sp, 0x174 | r0 += arg_174h;
0x0001425c bl 0x112a8 | r0 = regexec ();
0x00014260 subs r6, r0, 0 | r6 = r0 - 0;
| if (r6 == r0) {
0x00014264 beq 0x14ffc | goto label_195;
| }
0x00014268 ldr r3, [pc, 0x3d0] |
0x0001426c ldr r2, [r4, 0x10] | r2 = *((r4 + 0x10));
0x00014270 ldr r3, [r3] | r3 = "__Match_limit_not_relevant_for_DFA_matching:_ignored";
0x00014274 add r1, sp, 0x174 | r1 += arg_174h;
0x00014278 bl 0x112d8 | regerror ();
0x0001427c ldr r3, [r4, 0x10] | r3 = *((r4 + 0x10));
0x00014280 mov r2, r6 | r2 = r6;
0x00014284 ldr r1, [pc, 0x3b8] | r1 = *(0x14640);
0x00014288 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x0001428c bl 0x11200 | fprintf (r0, r1, r2, r3)
| label_73:
0x00014290 mov r0, r5 | r0 = r5;
0x00014294 bl 0x113d4 | free (r0);
0x00014298 b 0x13fe0 | goto label_51;
| label_187:
0x0001429c ldr r3, [pc, 0x2c4] |
0x000142a0 ldr r2, [sp, 0x74] | r2 = *(arg_74h);
0x000142a4 ldr r3, [r3] | r3 = "Failed: %s at offset %d\n";
0x000142a8 cmp r3, r2 |
| if (r3 != r2) {
0x000142ac beq 0x142bc |
0x000142b0 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x000142b4 ldr r0, [r4, 0x10] | r0 = *((r4 + 0x10));
0x000142b8 bl 0x11398 | fputs (r0, r1);
| }
0x000142bc ldr r7, [r4, 0x10] | r7 = *((r4 + 0x10));
0x000142c0 mov r0, r7 | r0 = r7;
0x000142c4 bl 0x1135c | r0 = strlen (r0);
0x000142c8 add r7, r7, r0 | r7 += r0;
0x000142cc ldrb r3, [r7, -1] | r3 = *((r7 - 1));
0x000142d0 mov r6, r0 | r6 = r0;
0x000142d4 cmp r3, 0xa |
| if (r3 != 0xa) {
0x000142d8 bne 0x14050 | goto label_52;
| }
0x000142dc b 0x14080 | goto label_53;
| label_188:
0x000142e0 mov r1, 0 | r1 = 0;
0x000142e4 str r1, [sp, 0x50] | *(arg_50h) = r1;
0x000142e8 b 0x140b8 | goto label_54;
| label_189:
0x000142ec mov r5, r7 | r5 = r7;
| label_56:
0x000142f0 ldrb r3, [r5] | r3 = *(r5);
0x000142f4 cmp r3, 0 |
| if (r3 == 0) {
0x000142f8 beq 0x140fc | goto label_55;
| }
0x000142fc mov r0, r5 | r0 = r5;
0x00014300 add r1, sp, 0x198 | r1 += format;
0x00014304 bl 0x1622c | r0 = fcn_0001622c (r0, r1);
0x00014308 cmp r0, 0 |
0x0001430c add r5, r5, r0 | r5 += r0;
| if (r0 > 0) {
0x00014310 bgt 0x142f0 | goto label_56;
| }
0x00014314 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00014318 ldr r0, [pc, 0x328] | r0 = "No_match:_POSIX_code__d:__s";
0x0001431c b 0x1517c | goto label_78;
| label_190:
0x00014320 ldr r3, [sp, 0x98] | r3 = *(size);
0x00014324 ldr r0, [sp, 0x6c] | r0 = *(ptr);
0x00014328 lsl r3, r3, 1 | r3 <<= 1;
0x0001432c mov r1, r3 | r1 = r3;
0x00014330 str r3, [sp, 0x98] | *(size) = r3;
0x00014334 bl 0x11230 | r0 = realloc (r0, r1);
0x00014338 subs r3, r0, 0 | r3 = r0 - 0;
0x0001433c str r3, [sp, 0x6c] | *(ptr) = r3;
| if (r3 != r0) {
0x00014340 bne 0x140fc | goto label_55;
| }
0x00014344 ldr r3, [pc, 0x300] | r3 = "_Failed:_invalid_UTF_8_string_cannot_be_used_as_input_in_UTF_mode";
0x00014348 ldr r2, [sp, 0x98] | r2 = *(size);
0x0001434c ldr r1, [pc, 0x2fc] | r1 = stderr;
0x00014350 ldr r0, [r3] | r0 = "_Failed:_invalid_UTF_8_string_cannot_be_used_as_input_in_UTF_mode";
0x00014354 bl 0x11200 | fprintf ("_Failed:_invalid_UTF_8_string_cannot_be_used_as_input_in_UTF_mode", r1, r2, "_Failed:_invalid_UTF_8_string_cannot_be_used_as_input_in_UTF_mode")
0x00014358 b 0x11670 | goto label_1;
| label_191:
0x0001435c cmp r5, 0x5c |
| if (r5 == 0x5c) {
0x00014360 beq 0x144cc | goto label_196;
| }
0x00014364 ldr r2, [r4, 0x1c] | r2 = *((r4 + 0x1c));
0x00014368 cmp r2, 0 |
0x0001436c cmpne r5, 0xbf | __asm ("cmpne r5, 0xbf");
| if (r2 > 0) {
0x00014370 movls r6, r3 | r6 = r3;
| }
| if (r2 < 0) {
0x00014374 bls 0x14398 | goto label_57;
| }
0x00014378 tst r5, 0x20 |
0x0001437c ldrb r3, [r7, 1] | r3 = *((r7 + 1));
| if ((r5 & 0x20) != 0) {
0x00014380 bne 0x143cc | goto label_197;
| }
0x00014384 lsl r5, r5, 6 | r5 <<= 6;
0x00014388 and r5, r5, 0x7c0 | r5 &= 0x7c0;
0x0001438c and r3, r3, 0x3f | r3 &= 0x3f;
0x00014390 add r6, r7, 2 | r6 = r7 + 2;
0x00014394 orr r5, r3, r5 | r5 = r3 | r5;
| do {
| label_57:
0x00014398 ldr r3, [r4, 0x38] | r3 = *((r4 + 0x38));
0x0001439c cmp r3, 0 |
| if (r3 != 0) {
0x000143a0 bne 0x1476c | goto label_60;
| }
0x000143a4 ldr r2, [r4, 0x1c] | r2 = *((r4 + 0x1c));
0x000143a8 cmp r2, 0 |
| if (r2 == 0) {
0x000143ac beq 0x14fac | goto label_198;
| }
0x000143b0 cmp r5, 0 |
| if (r5 >= 0) {
0x000143b4 bge 0x14f18 | goto label_199;
| }
0x000143b8 ldr r1, [pc, 0x294] | r1 = "pcretest: realloc(%d) failed\n";
0x000143bc ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x000143c0 mov r2, r5 | r2 = r5;
| label_85:
0x000143c4 bl 0x11200 | fprintf (r0, "pcretest: realloc(%d) failed\n", r2)
0x000143c8 b 0x13fe0 | goto label_51;
| label_197:
0x000143cc tst r5, 0x10 |
0x000143d0 ldrb r2, [r7, 2] | r2 = *((r7 + 2));
| if ((r5 & 0x10) != 0) {
0x000143d4 bne 0x143fc | goto label_200;
| }
0x000143d8 ldr r1, [pc, 0x278] | r1 = "__Character_x_x_is_greater_than_0x7fffffff_and_so_cannot_be_converted_to_UTF_8";
0x000143dc and r2, r2, 0x3f | r2 &= 0x3f;
0x000143e0 and r5, r1, r5, lsl 12 | r5 = r1 & (r5 << 12);
0x000143e4 lsl r3, r3, 6 | r3 <<= 6;
0x000143e8 orr r5, r5, r2 | r5 |= r2;
0x000143ec and r3, r3, 0xfc0 | r3 &= 0xfc0;
0x000143f0 orr r5, r3, r5 | r5 = r3 | r5;
0x000143f4 add r6, r7, 3 | r6 = r7 + 3;
0x000143f8 b 0x14398 |
| } while (1);
| label_200:
0x000143fc tst r5, 8 |
0x00014400 ldrb r1, [r7, 3] | r1 = *((r7 + 3));
| if ((r5 & 8) == 0) {
0x00014404 bne 0x14438 |
0x00014408 lsl r5, r5, 0x12 | r5 <<= 0x12;
0x0001440c and r5, r5, 0x1c0000 | r5 &= 0x1c0000;
0x00014410 and r1, r1, 0x3f | r1 &= 0x3f;
0x00014414 lsl r3, r3, 0xc | r3 <<= 0xc;
0x00014418 orr r5, r5, r1 | r5 |= r1;
0x0001441c and r3, r3, 0x3f000 | r3 &= 0x3f000;
0x00014420 lsl r2, r2, 6 | r2 <<= 6;
0x00014424 orr r5, r5, r3 | r5 |= r3;
0x00014428 and r2, r2, 0xfc0 | r2 &= 0xfc0;
0x0001442c orr r5, r2, r5 | r5 = r2 | r5;
0x00014430 add r6, r7, 4 | r6 = r7 + 4;
0x00014434 b 0x14398 | goto label_57;
| }
0x00014438 tst r5, 4 |
0x0001443c ldrb r0, [r7, 4] | r0 = *((r7 + 4));
| if ((r5 & 4) == 0) {
0x00014440 bne 0x14480 |
0x00014444 lsl r5, r5, 0x18 | r5 <<= 0x18;
0x00014448 and r5, r5, 0x3000000 | r5 &= 0x3000000;
0x0001444c and r0, r0, 0x3f | r0 &= 0x3f;
0x00014450 lsl r3, r3, 0x12 | r3 <<= 0x12;
0x00014454 orr r5, r5, r0 | r5 |= r0;
0x00014458 and r3, r3, 0xfc0000 | r3 &= 0xfc0000;
0x0001445c lsl r2, r2, 0xc | r2 <<= 0xc;
0x00014460 orr r5, r5, r3 | r5 |= r3;
0x00014464 and r2, r2, 0x3f000 | r2 &= 0x3f000;
0x00014468 lsl r1, r1, 6 | r1 <<= 6;
0x0001446c orr r5, r5, r2 | r5 |= r2;
0x00014470 and r1, r1, 0xfc0 | r1 &= 0xfc0;
0x00014474 orr r5, r1, r5 | r5 = r1 | r5;
0x00014478 add r6, r7, 5 | r6 = r7 + 5;
0x0001447c b 0x14398 | goto label_57;
| }
0x00014480 ldrb ip, [r7, 5] | ip = *((r7 + 5));
0x00014484 lsl r5, r5, 0x1e | r5 <<= 0x1e;
0x00014488 and r5, r5, 0x40000000 | r5 &= 0x40000000;
0x0001448c and ip, ip, 0x3f |
0x00014490 orr ip, r5, ip |
0x00014494 lsl r5, r3, 0x18 | r5 = r3 << 0x18;
0x00014498 and r5, r5, 0x3f000000 | r5 &= 0x3f000000;
0x0001449c lsl r2, r2, 0x12 | r2 <<= 0x12;
0x000144a0 orr ip, ip, r5 |
0x000144a4 and r2, r2, 0xfc0000 | r2 &= 0xfc0000;
0x000144a8 lsl r1, r1, 0xc | r1 <<= 0xc;
0x000144ac orr ip, ip, r2 |
0x000144b0 and r1, r1, 0x3f000 | r1 &= 0x3f000;
0x000144b4 lsl r5, r0, 6 | r5 = r0 << 6;
0x000144b8 orr r1, ip, r1 | r1 = ip | r1;
0x000144bc and r5, r5, 0xfc0 | r5 &= 0xfc0;
0x000144c0 orr r5, r5, r1 | r5 |= r1;
0x000144c4 add r6, r7, 6 | r6 = r7 + 6;
0x000144c8 b 0x14398 | goto label_57;
| label_196:
0x000144cc ldrb r5, [r7, 1] | r5 = *((r7 + 1));
0x000144d0 add r6, r7, 2 | r6 = r7 + 2;
0x000144d4 cmp r5, 0x4f |
| if (r5 == 0x4f) {
0x000144d8 beq 0x149b4 | goto label_201;
| }
| if (r5 > 0x4f) {
0x000144dc bhi 0x14830 | goto label_202;
| }
0x000144e0 cmp r5, 0x42 |
| if (r5 == 0x42) {
0x000144e4 beq 0x14bd4 | goto label_203;
| }
| if (r5 > 0x42) {
0x000144e8 bhi 0x14748 | goto label_204;
| }
0x000144ec cmp r5, 0x3c |
| if (r5 == 0x3c) {
0x000144f0 beq 0x14ee8 | goto label_205;
| }
| if (r5 > 0x3c) {
0x000144f4 bhi 0x146e4 | goto label_206;
| }
0x000144f8 cmp r5, 0 |
| if (r5 == 0) {
0x000144fc beq 0x14904 | goto label_207;
| }
0x00014500 sub r3, r5, 0x30 | r3 = r5 - 0x30;
0x00014504 cmp r3, 7 |
| if (r3 > 7) {
0x00014508 bhi 0x14398 | goto label_57;
| }
0x0001450c mov r5, r3 | r5 = r3;
0x00014510 ldr r3, [pc, 0x54] | r3 = stdin;
0x00014514 mov r2, r6 | r2 = r6;
0x00014518 ldr ip, [r3] | ip = stdin;
0x0001451c add lr, r6, 2 | lr = r6 + 2;
| label_58:
0x00014520 cmp lr, r2 |
0x00014524 mov r6, r2 | r6 = r2;
| if (lr == r2) {
0x00014528 beq 0x14398 | goto label_57;
| }
0x0001452c ldrb r3, [r2], 1 | r3 = *(r2);
| r2++;
0x00014530 lsl r1, r3, 1 | r1 = r3 << 1;
0x00014534 ldrh r0, [ip, r1] | r0 = *((ip + r1));
0x00014538 sub r1, r3, 0x38 | r1 = r3 - 0x38;
0x0001453c cmp r1, 1 |
| if (r1 > 1) {
0x00014540 movls r1, 0 | r1 = 0;
| }
| if (r1 <= 1) {
0x00014544 movhi r1, 1 | r1 = 1;
| }
0x00014548 ands r1, r1, r0, lsr 3 | r1 &= (r0 >> 3);
| if (r1 == r1) {
0x0001454c beq 0x14398 | goto label_57;
| }
0x00014550 add r5, r3, r5, lsl 3 | r5 = r3 + (r5 << 3);
0x00014554 sub r5, r5, 0x30 | r5 -= 0x30;
0x00014558 b 0x14520 | goto label_58;
| label_206:
0x000146e4 cmp r5, 0x3f |
| if (r5 == 0x3f) {
0x000146e8 beq 0x14ee0 | goto label_208;
| }
0x000146ec cmp r5, 0x41 |
| if (r5 == 0x41) {
0x000146f0 beq 0x14bcc | goto label_209;
| }
0x000146f4 cmp r5, 0x3e |
| if (r5 != 0x3e) {
0x000146f8 bne 0x14398 | goto label_57;
| }
0x000146fc ldrb r3, [r7, 2] | r3 = *((r7 + 2));
0x00014700 mov ip, 0xa |
0x00014704 cmp r3, 0x2d |
| if (r3 != 0x2d) {
0x00014708 mvneq r3, 0 | r3 = ~0;
| }
| if (r3 != 0x2d) {
0x0001470c streq r3, [sp, 0xd0] | *(arg_d0h) = r3;
| }
0x00014710 ldr r3, [pc, -0xa0] | r3 = obj.__ctype_b;
| if (r3 != 0x2d) {
0x00014714 addeq r6, r7, 3 | r6 = r7 + 3;
| }
0x00014718 ldr r0, [r3] | r0 = *(r3);
| label_64:
0x0001471c mov r2, r6 | r2 = r6;
0x00014720 ldrb r3, [r2], 1 | r3 = *(r2);
| r2++;
0x00014724 lsl r1, r3, 1 | r1 = r3 << 1;
0x00014728 ldrh r1, [r0, r1] | r1 = *((r0 + r1));
0x0001472c tst r1, 8 |
| if ((r1 & 8) != 0) {
0x00014730 bne 0x14bb4 | goto label_210;
| }
0x00014734 ldr r2, [sp, 0x5c] | r2 = *(arg_5ch);
0x00014738 ldr r3, [sp, 0xd0] | r3 = *(arg_d0h);
0x0001473c mul r3, r2, r3 | r3 = r2 * r3;
0x00014740 str r3, [sp, 0x5c] | *(arg_5ch) = r3;
0x00014744 b 0x1476c | goto label_60;
| label_204:
0x00014748 cmp r5, 0x47 |
| if (r5 == 0x47) {
0x0001474c beq 0x14da4 | goto label_211;
| }
| if (r5 > 0x47) {
0x00014750 bhi 0x14774 | goto label_212;
| }
0x00014754 cmp r5, 0x44 |
| if (r5 == 0x44) {
0x00014758 beq 0x14d80 | goto label_213;
| }
| if (r5 <= 0x44) {
0x0001475c blo 0x14bdc | goto label_214;
| }
0x00014760 cmp r5, 0x46 |
| if (r5 == 0x46) {
0x00014764 orreq fp, fp, 0x10000 | goto label_215;
| }
| if (r5 != 0x46) {
| label_215:
0x00014768 bne 0x14398 | goto label_57;
| }
| label_60:
0x0001476c mov r7, r6 | r7 = r6;
0x00014770 b 0x1416c | goto label_59;
| label_212:
0x00014774 cmp r5, 0x4c |
| if (r5 == 0x4c) {
0x00014778 beq 0x14fd4 | goto label_216;
| }
| if (r5 > 0x4c) {
0x0001477c bhi 0x14808 | goto label_217;
| }
0x00014780 cmp r5, 0x4a |
| if (r5 != 0x4a) {
0x00014784 bne 0x14398 | goto label_57;
| }
0x00014788 ldr r3, [pc, -0x118] | r3 = obj.__ctype_b;
0x0001478c mov r7, 0 | r7 = 0;
0x00014790 ldr r0, [r3] | r0 = *(r3);
0x00014794 mov ip, 0xa |
| label_66:
0x00014798 mov r2, r6 | r2 = r6;
0x0001479c ldrb r3, [r2], 1 | r3 = *(r2);
| r2++;
0x000147a0 lsl r1, r3, 1 | r1 = r3 << 1;
0x000147a4 ldrh r1, [r0, r1] | r1 = *((r0 + r1));
0x000147a8 tst r1, 8 |
| if ((r1 & 8) != 0) {
0x000147ac bne 0x14e24 | goto label_218;
| }
0x000147b0 cmp sl, 0 |
| if (sl == 0) {
0x000147b4 beq 0x1476c | goto label_60;
| }
0x000147b8 ldr r3, [sl] | r3 = *(sl);
0x000147bc tst r3, 0x40 |
| if ((r3 & 0x40) == 0) {
0x000147c0 beq 0x1476c | goto label_60;
| }
0x000147c4 ldr r3, [sl, 0x1c] | r3 = *((sl + 0x1c));
0x000147c8 cmp r3, 0 |
| if (r3 == 0) {
0x000147cc beq 0x1476c | goto label_60;
| }
0x000147d0 ldr r3, [sp, 0x64] | r3 = *(arg_64h);
0x000147d4 cmp r3, 0 |
| if (r3 != 0) {
0x000147d8 beq 0x147e4 |
0x000147dc mov r0, r3 | r0 = r3;
0x000147e0 bl 0x1123c | pcre_jit_stack_free ();
| }
0x000147e4 lsl r1, r7, 0xa | r1 = r7 << 0xa;
0x000147e8 mov r0, 1 | r0 = 1;
0x000147ec bl 0x113c8 | pcre_jit_stack_alloc ();
0x000147f0 ldr r1, [pc, -0x158] | r1 = "%2d+ ";
0x000147f4 str r0, [sp, 0x64] | *(arg_64h) = r0;
0x000147f8 mov r2, r0 | r2 = r0;
0x000147fc mov r0, sl | r0 = sl;
0x00014800 bl 0x1126c | pcre_assign_jit_stack ();
0x00014804 b 0x1476c | goto label_60;
| label_217:
0x00014808 cmp r5, 0x4d |
| if (r5 == 0x4d) {
0x0001480c beq 0x14e34 | goto label_219;
| }
0x00014810 cmp r5, 0x4e |
| if (r5 != 0x4e) {
0x00014814 bne 0x14398 | goto label_57;
| }
0x00014818 tst fp, 0x400 |
0x0001481c bicne fp, fp, 0x10000000 | __asm ("bicne fp, fp, 0x10000000");
0x00014820 bicne fp, fp, 0x400 | __asm ("bicne fp, fp, 0x400");
| if ((fp & 0x400) == 0) {
0x00014824 orrne fp, fp, 0x10000000 |
| }
| if ((fp & 0x400) != 0) {
0x00014828 orreq fp, fp, 0x400 |
| }
0x0001482c b 0x1476c | goto label_60;
| label_202:
0x00014830 cmp r5, 0x65 |
| if (r5 == 0x65) {
0x00014834 beq 0x14a24 | goto label_220;
| }
| if (r5 > 0x65) {
0x00014838 bhi 0x14890 | goto label_221;
| }
0x0001483c cmp r5, 0x53 |
| if (r5 == 0x53) {
0x00014840 beq 0x14ecc | goto label_222;
| }
| if (r5 <= 0x53) {
0x00014844 bhi 0x1485c |
0x00014848 cmp r5, 0x51 |
| if (r5 == 0x51) {
0x0001484c beq 0x14960 | goto label_223;
| }
| if (r5 < 0x51) {
0x00014850 bls 0x14e98 | goto label_224;
| }
0x00014854 orr fp, fp, 0x20000 |
0x00014858 b 0x1476c | goto label_60;
| }
0x0001485c cmp r5, 0x5a |
| if (r5 == 0x5a) {
0x00014860 beq 0x14ed8 | goto label_225;
| }
| if (r5 > 0x5a) {
0x00014864 bhi 0x14878 | goto label_226;
| }
0x00014868 cmp r5, 0x59 |
| if (r5 == 0x59) {
0x0001486c orreq fp, fp, 0x4000000 | goto label_227;
| }
| if (r5 == 0x59) {
| label_227:
0x00014870 beq 0x1476c | goto label_60;
| }
0x00014874 b 0x14398 | goto label_57;
| label_226:
0x00014878 cmp r5, 0x61 |
| if (r5 == 0x61) {
0x0001487c moveq r5, 7 | r5 = 7;
| goto label_228;
| }
| if (r5 == 0x61) {
| label_228:
0x00014880 beq 0x14398 | goto label_57;
| }
0x00014884 cmp r5, 0x62 |
| if (r5 != 0x62) {
0x00014888 moveq r5, 8 | r5 = 8;
| }
0x0001488c b 0x14398 | goto label_57;
| label_221:
0x00014890 cmp r5, 0x71 |
| if (r5 == 0x71) {
0x00014894 beq 0x1490c | goto label_229;
| }
| if (r5 > 0x71) {
0x00014898 bhi 0x148bc | goto label_230;
| }
0x0001489c cmp r5, 0x6e |
| if (r5 == 0x6e) {
0x000148a0 moveq r5, 0xa | r5 = 0xa;
| goto label_231;
| }
| if (r5 == 0x6e) {
| label_231:
0x000148a4 beq 0x14398 | goto label_57;
| }
0x000148a8 cmp r5, 0x6f |
| if (r5 == 0x6f) {
0x000148ac beq 0x14a3c | goto label_232;
| }
0x000148b0 cmp r5, 0x66 |
| if (r5 != 0x66) {
0x000148b4 moveq r5, 0xc | r5 = 0xc;
| }
0x000148b8 b 0x14398 | goto label_57;
| label_230:
0x000148bc cmp r5, 0x74 |
| if (r5 == 0x74) {
0x000148c0 beq 0x14a2c | goto label_233;
| }
| if (r5 <= 0x74) {
0x000148c4 bhi 0x148d4 |
0x000148c8 cmp r5, 0x72 |
| if (r5 != 0x72) {
0x000148cc moveq r5, 0xd | r5 = 0xd;
| }
0x000148d0 b 0x14398 | goto label_57;
| }
0x000148d4 cmp r5, 0x76 |
| if (r5 == 0x76) {
0x000148d8 beq 0x14a34 | goto label_234;
| }
0x000148dc cmp r5, 0x78 |
| if (r5 != 0x78) {
0x000148e0 bne 0x14398 | goto label_57;
| }
0x000148e4 ldrb r3, [r7, 2] | r3 = *((r7 + 2));
0x000148e8 cmp r3, 0x7b |
| if (r3 != 0x7b) {
0x000148ec moveq r5, 0 | r5 = 0;
| }
| if (r3 != 0x7b) {
0x000148f0 addeq r7, r7, 3 | r7 += 3;
| }
| if (r3 != 0x7b) {
0x000148f4 moveq r8, r5 | r8 = r5;
| }
| if (r3 == 0x7b) {
0x000148f8 beq 0x14ae0 | goto label_62;
| }
0x000148fc mov r8, 0 | r8 = 0;
0x00014900 b 0x14b08 | goto label_235;
| label_207:
0x00014904 mov r6, r3 | r6 = r3;
0x00014908 b 0x1476c | goto label_60;
| label_229:
0x0001490c ldr r3, [pc, -0x29c] | r3 = obj.__ctype_b;
0x00014910 mov r8, 0 | r8 = 0;
0x00014914 ldr r1, [r3] | r1 = *(r3);
0x00014918 mov r0, 0xa | r0 = 0xa;
| label_70:
0x0001491c mov r2, r6 | r2 = r6;
0x00014920 ldrb r3, [r2], 1 | r3 = *(r2);
| r2++;
0x00014924 lsl ip, r3, 1 |
0x00014928 ldrh r5, [r1, ip] | r5 = *((r1 + ip));
0x0001492c ands r5, r5, 8 | r5 &= 8;
| if (r5 != r5) {
0x00014930 bne 0x14ebc | goto label_236;
| }
0x00014934 cmp sl, 0 |
| if (sl == 0) {
0x00014938 bne 0x1494c |
0x0001493c mov r0, 0x20 | r0 = 0x20;
0x00014940 bl 0x111b8 | r0 = malloc (r0);
0x00014944 mov sl, r0 | sl = r0;
0x00014948 str r5, [r0] | *(r0) = r5;
| }
0x0001494c ldr r3, [sl] | r3 = *(sl);
0x00014950 str r8, [sl, 8] | *((sl + 8)) = r8;
0x00014954 orr r3, r3, 2 | r3 |= 2;
0x00014958 str r3, [sl] | *(sl) = r3;
0x0001495c b 0x1476c | goto label_60;
| label_223:
0x00014960 ldr r3, [pc, -0x2f0] | r3 = obj.__ctype_b;
0x00014964 mov r8, 0 | r8 = 0;
0x00014968 ldr r1, [r3] | r1 = *(r3);
0x0001496c mov r0, 0xa | r0 = 0xa;
| label_69:
0x00014970 mov r2, r6 | r2 = r6;
0x00014974 ldrb r3, [r2], 1 | r3 = *(r2);
| r2++;
0x00014978 lsl ip, r3, 1 |
0x0001497c ldrh r5, [r1, ip] | r5 = *((r1 + ip));
0x00014980 ands r5, r5, 8 | r5 &= 8;
| if (r5 != r5) {
0x00014984 bne 0x14eac | goto label_237;
| }
0x00014988 cmp sl, 0 |
| if (sl == 0) {
0x0001498c bne 0x149a0 |
0x00014990 mov r0, 0x20 | r0 = 0x20;
0x00014994 bl 0x111b8 | r0 = malloc (r0);
0x00014998 mov sl, r0 | sl = r0;
0x0001499c str r5, [r0] | *(r0) = r5;
| }
0x000149a0 ldr r3, [sl] | r3 = *(sl);
0x000149a4 str r8, [sl, 0x14] | *((sl + 0x14)) = r8;
0x000149a8 orr r3, r3, 0x10 | r3 |= 0x10;
0x000149ac str r3, [sl] | *(sl) = r3;
0x000149b0 b 0x1476c | goto label_60;
| label_201:
0x000149b4 ldr r3, [pc, -0x344] | r3 = obj.__ctype_b;
0x000149b8 mov r2, r6 | r2 = r6;
0x000149bc ldr r0, [r3] | r0 = *(r3);
0x000149c0 mov ip, 0xa |
0x000149c4 mov r3, 0 | r3 = 0;
0x000149c8 str r3, [sp, 0x4c] | *(arg_4ch) = r3;
| label_68:
0x000149cc mov r6, r2 | r6 = r2;
0x000149d0 ldrb r3, [r2], 1 | r3 = *(r2);
| r2++;
0x000149d4 lsl r1, r3, 1 | r1 = r3 << 1;
0x000149d8 ldrh r1, [r0, r1] | r1 = *((r0 + r1));
0x000149dc tst r1, 8 |
| if ((r1 & 8) != 0) {
0x000149e0 bne 0x14e40 | goto label_238;
| }
0x000149e4 ldr r3, [sp, 0xdc] | r3 = *(arg_dch);
0x000149e8 ldr r2, [sp, 0x4c] | r2 = *(arg_4ch);
0x000149ec cmp r3, r2 |
| if (r3 >= r2) {
0x000149f0 bge 0x14e70 | goto label_239;
| }
0x000149f4 ldr r0, [sp, 0x90] | r0 = *(arg_90h);
0x000149f8 bl 0x113d4 | free (r0);
0x000149fc ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00014a00 lsl r5, r3, 2 | r5 = r3 << 2;
0x00014a04 mov r0, r5 | r0 = r5;
0x00014a08 bl 0x111b8 | r0 = malloc (r0);
0x00014a0c subs r3, r0, 0 | r3 = r0 - 0;
0x00014a10 str r3, [sp, 0x90] | *(arg_90h) = r3;
| if (r3 != r0) {
0x00014a14 bne 0x14e68 | goto label_240;
| }
0x00014a18 mov r1, r5 | r1 = r5;
0x00014a1c ldr r0, [pc, -0x3c8] | r0 = "** Failed to get %d bytes of memory for offsets vector\n";
0x00014a20 b 0x12048 | goto label_11;
| label_220:
0x00014a24 mov r5, 0x1b | r5 = 0x1b;
0x00014a28 b 0x14398 | goto label_57;
| label_233:
0x00014a2c mov r5, 9 | r5 = 9;
0x00014a30 b 0x14398 | goto label_57;
| label_234:
0x00014a34 mov r5, 0xb | r5 = 0xb;
0x00014a38 b 0x14398 | goto label_57;
| label_232:
0x00014a3c ldrb r3, [r7, 2] | r3 = *((r7 + 2));
0x00014a40 cmp r3, 0x7b |
| if (r3 != 0x7b) {
0x00014a44 addeq r7, r7, 3 | r7 += 3;
| }
| if (r3 != 0x7b) {
0x00014a48 moveq r8, r7 | r8 = r7;
| }
| if (r3 != 0x7b) {
0x00014a4c moveq r5, 0 | r5 = 0;
| }
| if (r3 == 0x7b) {
0x00014a50 beq 0x14a7c | goto label_241;
| }
0x00014a54 mov r5, 0x6f | r5 = 0x6f;
0x00014a58 b 0x14398 | goto label_57;
| do {
0x00014a5c sub r2, r8, r7 | r2 = r8 - r7;
0x00014a60 cmp r2, 0xc |
| if (r2 == 0xc) {
0x00014a64 addne r5, r3, r5, lsl 3 | r5 = r3 + (r5 << 3);
| }
| if (r2 == 0xc) {
0x00014a68 subne r5, r5, 0x30 | r5 -= 0x30;
| }
| if (r2 == 0xc) {
0x00014a6c bne 0x14a7c |
0x00014a70 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00014a74 ldr r0, [pc, -0x41c] | r0 = "** Too many octal digits in \\o{...} item; using only the first twelve.\n";
0x00014a78 bl 0x11398 | fputs ("** Too many octal digits in \\o{...} item; using only the first twelve.\n", r1);
| }
| label_241:
0x00014a7c ldr r0, [pc, -0x40c] | r0 = obj.__ctype_b;
0x00014a80 mov r2, r8 | r2 = r8;
0x00014a84 ldrb r3, [r8], 1 | r3 = *(r8);
| r8++;
0x00014a88 ldr r0, [r0] | r0 = *(r0);
0x00014a8c lsl r1, r3, 1 | r1 = r3 << 1;
0x00014a90 ldrh r1, [r0, r1] | r1 = *((r0 + r1));
0x00014a94 tst r1, 8 |
| if ((r1 & 8) == 0) {
0x00014a98 beq 0x14ab8 | goto label_242;
| }
0x00014a9c sub r2, r3, 0x38 | r2 = r3 - 0x38;
0x00014aa0 cmp r2, 1 |
0x00014aa4 bhi 0x14a5c |
| } while (r2 > 1);
| label_61:
0x00014aa8 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00014aac ldr r0, [pc, -0x450] | r0 = "** Missing } after \\o{ (assumed)\n";
0x00014ab0 bl 0x11398 | fputs ("** Missing } after \\o{ (assumed)\n", r1);
0x00014ab4 b 0x14398 | goto label_57;
| label_242:
0x00014ab8 cmp r3, 0x7d |
| if (r3 == 0x7d) {
0x00014abc addeq r6, r2, 1 | r6 = r2 + 1;
| goto label_243;
| }
| if (r3 == 0x7d) {
| label_243:
0x00014ac0 beq 0x14398 | goto label_57;
| }
0x00014ac4 b 0x14aa8 | goto label_61;
| do {
0x00014ac8 add r8, r8, 1 | r8++;
0x00014acc cmp r8, 9 |
| if (r8 != 9) {
0x00014ad0 bne 0x14b74 | goto label_244;
| }
0x00014ad4 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00014ad8 ldr r0, [pc, -0x478] | r0 = "** Too many hex digits in \\x{...} item; using only the first eight.\n";
0x00014adc bl 0x11398 | fputs ("** Too many hex digits in \\x{...} item; using only the first eight.\n", r1);
| label_62:
0x00014ae0 ldr r2, [pc, -0x470] | r2 = obj.__ctype_b;
0x00014ae4 ldrb r3, [r7], 1 | r3 = *(r7);
| r7++;
0x00014ae8 ldr r2, [r2] | r2 = *(r2);
0x00014aec lsl r1, r3, 1 | r1 = r3 << 1;
0x00014af0 ldrh r2, [r2, r1] | r2 = *((r2 + r1));
0x00014af4 tst r2, 0x10 |
0x00014af8 bne 0x14ac8 |
| } while ((r2 & 0x10) != 0);
0x00014afc cmp r3, 0x7d |
| if (r3 == 0x7d) {
0x00014b00 moveq r6, r7 | r6 = r7;
| goto label_245;
| }
| if (r3 == 0x7d) {
| label_245:
0x00014b04 beq 0x14398 | goto label_57;
| }
| label_235:
0x00014b08 ldr r3, [pc, -0x498] | r3 = obj.__ctype_b;
0x00014b0c mov r5, 0 | r5 = 0;
0x00014b10 ldr r1, [r3] | r1 = *(r3);
0x00014b14 ldr r3, [pc, -0x4b0] | r3 = obj.__ctype_tolower;
0x00014b18 sub r8, r8, r6 | r8 -= r6;
0x00014b1c ldr r0, [r3] | r0 = *(r3);
0x00014b20 mov r3, r6 | r3 = r6;
| label_63:
0x00014b24 add r2, r8, r3 | r2 = r8 + r3;
0x00014b28 cmp r2, 1 |
0x00014b2c mov r6, r3 | r6 = r3;
| if (r2 <= 1) {
0x00014b30 bgt 0x14b4c |
0x00014b34 ldrb r2, [r6] | r2 = *(r6);
0x00014b38 add r3, r3, 1 | r3++;
0x00014b3c lsl r2, r2, 1 | r2 <<= 1;
0x00014b40 ldrh ip, [r1, r2] | ip = *((r1 + r2));
0x00014b44 tst ip, 0x10 |
| if ((ip & 0x10) != 0) {
0x00014b48 bne 0x14b98 | goto label_246;
| }
| }
0x00014b4c ldr r3, [r4, 0x1c] | r3 = *((r4 + 0x1c));
0x00014b50 cmp r3, 0 |
| if (r3 == 0) {
0x00014b54 beq 0x14398 | goto label_57;
| }
0x00014b58 ldr r3, [r4, 0x38] | r3 = *((r4 + 0x38));
0x00014b5c cmp r3, 0 |
| if (r3 != 0) {
0x00014b60 bne 0x14398 | goto label_57;
| }
| label_71:
0x00014b64 ldr r3, [sp, 0x58] | r3 = *(s1);
0x00014b68 strb r5, [r3] | *(r3) = r5;
0x00014b6c add r3, r3, 1 | r3++;
0x00014b70 b 0x14f90 | goto label_247;
| label_244:
0x00014b74 ldr r3, [pc, -0x510] | r3 = obj.__ctype_tolower;
0x00014b78 tst r2, 8 |
0x00014b7c ldr r3, [r3] | r3 = *(r3);
0x00014b80 ldrsh r3, [r3, r1] | r3 = *((r3 + r1));
0x00014b84 add r5, r3, r5, lsl 4 | r5 = r3 + (r5 << 4);
| if ((r2 & 8) != 0) {
0x00014b88 moveq r3, 0x57 | r3 = 0x57;
| }
| if ((r2 & 8) == 0) {
0x00014b8c movne r3, 0x30 | r3 = 0x30;
| }
0x00014b90 sub r5, r5, r3 | r5 -= r3;
0x00014b94 b 0x14ae0 | goto label_62;
| label_246:
0x00014b98 ldrsh r2, [r0, r2] | r2 = *((r0 + r2));
0x00014b9c tst ip, 8 |
0x00014ba0 add r5, r2, r5, lsl 4 | r5 = r2 + (r5 << 4);
| if ((ip & 8) != 0) {
0x00014ba4 moveq r2, 0x57 | r2 = 0x57;
| }
| if ((ip & 8) == 0) {
0x00014ba8 movne r2, 0x30 | r2 = 0x30;
| }
0x00014bac sub r5, r5, r2 | r5 -= r2;
0x00014bb0 b 0x14b24 | goto label_63;
| label_210:
0x00014bb4 ldr r1, [sp, 0x5c] | r1 = *(arg_5ch);
0x00014bb8 mov r6, r2 | r6 = r2;
0x00014bbc mla r1, ip, r1, r3 | __asm ("mla r1, ip, r1, r3");
0x00014bc0 sub r3, r1, 0x30 | r3 = r1 - 0x30;
0x00014bc4 str r3, [sp, 0x5c] | *(arg_5ch) = r3;
0x00014bc8 b 0x1471c | goto label_64;
| label_209:
0x00014bcc orr fp, fp, 0x10 |
0x00014bd0 b 0x1476c | goto label_60;
| label_203:
0x00014bd4 orr fp, fp, 0x80 |
0x00014bd8 b 0x1476c | goto label_60;
| label_214:
0x00014bdc ldr r3, [pc, -0x56c] | r3 = obj.__ctype_b;
0x00014be0 ldrb r2, [r7, 2] | r2 = *((r7 + 2));
0x00014be4 ldr r1, [r3] | r1 = *(r3);
0x00014be8 lsl r3, r2, 1 | r3 = r2 << 1;
0x00014bec ldrh r3, [r1, r3] | r3 = *((r1 + r3));
0x00014bf0 tst r3, 8 |
| if ((r3 & 8) == 0) {
0x00014bf4 beq 0x14c3c | goto label_248;
| }
0x00014bf8 mov r5, 0 | r5 = 0;
0x00014bfc mov lr, 0xa | lr = 0xa;
0x00014c00 b 0x14c10 |
| while ((ip & 8) != 0) {
0x00014c04 mla r2, lr, r5, r3 | __asm ("mla r2, lr, r5, r3");
0x00014c08 mov r6, r0 | r6 = r0;
0x00014c0c sub r5, r2, 0x30 | r5 = r2 - 0x30;
0x00014c10 mov r0, r6 | r0 = r6;
0x00014c14 ldrb r3, [r0], 1 | r3 = *(r0);
| r0++;
0x00014c18 lsl ip, r3, 1 |
0x00014c1c ldrh ip, [r1, ip] | ip = *((r1 + ip));
0x00014c20 tst ip, 8 |
0x00014c24 bne 0x14c04 |
| }
0x00014c28 ldr r2, [sp, 0xcc] | r2 = *(arg_cch);
0x00014c2c mov r3, 1 | r3 = 1;
0x00014c30 orr r3, r2, r3, lsl r5 | r3 = r2 | (r3 << r5);
0x00014c34 str r3, [sp, 0xcc] | *(arg_cch) = r3;
0x00014c38 b 0x1476c | goto label_60;
| label_248:
0x00014c3c ands r3, r3, 0x800 | r3 &= 0x800;
| if (r3 == r3) {
0x00014c40 movne r2, sb | r2 = sb;
| }
| if (r3 == r3) {
0x00014c44 addne r1, sp, 0x114 | r1 += arg_114h;
| }
| if (r3 != r3) {
0x00014c48 bne 0x14e14 | goto label_249;
| }
0x00014c4c cmp r2, 0x2b |
| if (r2 != 0x2b) {
0x00014c50 moveq r3, 1 | r3 = 1;
| }
| if (r2 != 0x2b) {
0x00014c54 streq r3, [r4, 0x20] | *((r4 + 0x20)) = r3;
| }
| if (r2 != 0x2b) {
0x00014c58 beq 0x14c6c |
0x00014c5c cmp r2, 0x2d |
| if (r2 != 0x2d) {
0x00014c60 bne 0x14c74 | goto label_250;
| }
0x00014c64 ldr r2, [pc, -0x5fc] | r2 = obj.pcre_callout;
0x00014c68 str r3, [r2] | *(r2) = r3;
| }
0x00014c6c add r6, r7, 3 | r6 = r7 + 3;
0x00014c70 b 0x1476c | goto label_60;
| label_250:
0x00014c74 cmp r2, 0x21 |
| if (r2 != 0x21) {
0x00014c78 bne 0x14d14 | goto label_251;
| }
0x00014c7c add r6, r7, 3 | r6 = r7 + 3;
0x00014c80 mov r5, 0xa | r5 = 0xa;
0x00014c84 mov r7, r3 | r7 = r3;
0x00014c88 str r3, [r4, 0x2c] | *((r4 + 0x2c)) = r3;
| label_65:
0x00014c8c mov r2, r6 | r2 = r6;
0x00014c90 ldrb r0, [r2], 1 | r0 = *(r2);
| r2++;
0x00014c94 lsl lr, r0, 1 | lr = r0 << 1;
0x00014c98 ldrh lr, [r1, lr] |
0x00014c9c tst lr, 8 |
| if ((lr & 8) != 0) {
0x00014ca0 bne 0x14cc8 | goto label_252;
| }
0x00014ca4 cmp r3, 0 |
| if (r3 == 0) {
0x00014ca8 strne r7, [r4, 0x2c] | *((r4 + 0x2c)) = r7;
| }
0x00014cac mov r3, 0 | r3 = 0;
0x00014cb0 cmp r0, 0x21 |
0x00014cb4 str r3, [r4, 0x34] | *((r4 + 0x34)) = r3;
| if (r0 != 0x21) {
0x00014cb8 bne 0x1476c | goto label_60;
| }
0x00014cbc mov r7, r3 | r7 = r3;
0x00014cc0 mov r6, 0xa | r6 = 0xa;
0x00014cc4 b 0x14cec | goto label_253;
| label_252:
0x00014cc8 mla ip, r5, r7, r0 | __asm ("mla ip, r5, r7, r0");
0x00014ccc mov r3, 1 | r3 = 1;
0x00014cd0 sub r7, ip, 0x30 | r7 = ip - 0x30;
0x00014cd4 mov r6, r2 | r6 = r2;
0x00014cd8 b 0x14c8c | goto label_65;
| do {
0x00014cdc mla ip, r6, r7, r0 | __asm ("mla ip, r6, r7, r0");
0x00014ce0 mov r3, 1 | r3 = 1;
0x00014ce4 sub r7, ip, 0x30 | r7 = ip - 0x30;
0x00014ce8 mov r2, lr | r2 = lr;
| label_253:
0x00014cec mov lr, r2 | lr = r2;
0x00014cf0 ldrb r0, [lr], 1 | r0 = *(lr);
| lr++;
0x00014cf4 lsl r5, r0, 1 | r5 = r0 << 1;
0x00014cf8 ldrh r5, [r1, r5] | r5 = *((r1 + r5));
0x00014cfc tst r5, 8 |
0x00014d00 bne 0x14cdc |
| } while ((r5 & 8) != 0);
0x00014d04 cmp r3, 0 |
| if (r3 == 0) {
0x00014d08 strne r7, [r4, 0x34] | *((r4 + 0x34)) = r7;
| }
0x00014d0c mov r6, r2 | r6 = r2;
0x00014d10 b 0x1476c | goto label_60;
| label_251:
0x00014d14 cmp r2, 0x2a |
| if (r2 != 0x2a) {
0x00014d18 bne 0x1476c | goto label_60;
| }
0x00014d1c str r3, [sp, 0x16c] | *(arg_16ch) = r3;
0x00014d20 ldrb r3, [r7, 3] | r3 = *((r7 + 3));
0x00014d24 add r6, r7, 3 | r6 = r7 + 3;
0x00014d28 cmp r3, 0x2d |
| if (r3 != 0x2d) {
0x00014d2c addeq r6, r7, 4 | r6 = r7 + 4;
| }
| if (r3 != 0x2d) {
0x00014d30 mvneq r2, 0 | r2 = ~0;
| }
| if (r3 == 0x2d) {
0x00014d34 movne r2, 1 | r2 = 1;
| }
0x00014d38 mov r5, 0xa | r5 = 0xa;
0x00014d3c b 0x14d50 |
| while ((lr & 8) != 0) {
0x00014d40 mla r3, r5, r7, ip | __asm ("mla r3, r5, r7, ip");
0x00014d44 mov r6, r0 | r6 = r0;
0x00014d48 sub r3, r3, 0x30 | r3 -= 0x30;
0x00014d4c str r3, [sp, 0x16c] | *(arg_16ch) = r3;
0x00014d50 mov r0, r6 | r0 = r6;
0x00014d54 ldrb ip, [r0], 1 | ip = *(r0);
| r0++;
0x00014d58 ldr r7, [sp, 0x16c] | r7 = *(arg_16ch);
0x00014d5c lsl lr, ip, 1 | lr = ip << 1;
0x00014d60 ldrh lr, [r1, lr] |
0x00014d64 tst lr, 8 |
0x00014d68 bne 0x14d40 |
| }
0x00014d6c mul r3, r2, r7 | r3 = r2 * r7;
0x00014d70 str r3, [sp, 0x16c] | *(arg_16ch) = r3;
0x00014d74 mov r3, 1 | r3 = 1;
0x00014d78 str r3, [sp, 0xf8] | *(arg_f8h) = r3;
0x00014d7c b 0x1476c | goto label_60;
| label_213:
0x00014d80 ldr r3, [sp, 0xb4] | r3 = *(arg_b4h);
0x00014d84 ldr r2, [sp, 0x78] | r2 = *(arg_78h);
0x00014d88 orrs r3, r3, r2 | r3 |= r2;
| if (r3 != r3) {
0x00014d8c moveq r3, 1 | r3 = 1;
| }
| if (r3 == r3) {
0x00014d90 streq r3, [sp, 0x8c] | *(arg_8ch) = r3;
| goto label_254;
| }
| if (r3 == r3) {
| label_254:
0x00014d94 beq 0x1476c | goto label_60;
| }
0x00014d98 ldr r0, [pc, -0x72c] | r0 = "__Cant_use_dfa_matching_in_POSIX_mode:_D_ignored";
0x00014d9c bl 0x111ac | puts ("__Cant_use_dfa_matching_in_POSIX_mode:_D_ignored");
0x00014da0 b 0x1476c | goto label_60;
| label_211:
0x00014da4 ldr r3, [pc, -0x734] | r3 = obj.__ctype_b;
0x00014da8 ldr r0, [r3] | r0 = *(r3);
0x00014dac ldrb r3, [r7, 2] | r3 = *((r7 + 2));
0x00014db0 lsl r3, r3, 1 | r3 <<= 1;
0x00014db4 ldrh r3, [r0, r3] | r3 = *((r0 + r3));
0x00014db8 tst r3, 8 |
| if ((r3 & 8) == 0) {
0x00014dbc beq 0x14e04 | goto label_255;
| }
0x00014dc0 mov r5, 0 | r5 = 0;
0x00014dc4 mov lr, 0xa | lr = 0xa;
0x00014dc8 b 0x14dd8 |
| while ((ip & 8) != 0) {
0x00014dcc mla r2, lr, r5, r3 | __asm ("mla r2, lr, r5, r3");
0x00014dd0 mov r6, r1 | r6 = r1;
0x00014dd4 sub r5, r2, 0x30 | r5 = r2 - 0x30;
0x00014dd8 mov r1, r6 | r1 = r6;
0x00014ddc ldrb r3, [r1], 1 | r3 = *(r1);
| r1++;
0x00014de0 lsl ip, r3, 1 |
0x00014de4 ldrh ip, [r0, ip] | ip = *((r0 + ip));
0x00014de8 tst ip, 8 |
0x00014dec bne 0x14dcc |
| }
0x00014df0 ldr r2, [sp, 0xc8] | r2 = *(arg_c8h);
0x00014df4 mov r3, 1 | r3 = 1;
0x00014df8 orr r3, r2, r3, lsl r5 | r3 = r2 | (r3 << r5);
0x00014dfc str r3, [sp, 0xc8] | *(arg_c8h) = r3;
0x00014e00 b 0x1476c | goto label_60;
| label_255:
0x00014e04 tst r3, 0x800 |
| if ((r3 & 0x800) == 0) {
0x00014e08 beq 0x1476c | goto label_60;
| }
0x00014e0c mov r2, sb | r2 = sb;
0x00014e10 add r1, sp, 0x118 | r1 += arg_118h;
| label_249:
0x00014e14 mov r0, r6 | r0 = r6;
0x00014e18 bl 0x16fb8 | r0 = fcn_00016fb8 (r0, r1);
0x00014e1c mov r6, r0 | r6 = r0;
0x00014e20 b 0x1476c | goto label_60;
| label_218:
0x00014e24 mla r5, ip, r7, r3 | __asm ("mla r5, ip, r7, r3");
0x00014e28 mov r6, r2 | r6 = r2;
0x00014e2c sub r7, r5, 0x30 | r7 = r5 - 0x30;
0x00014e30 b 0x14798 | goto label_66;
| label_219:
0x00014e34 mov r3, 1 | r3 = 1;
0x00014e38 str r3, [sp, 0xa4] | *(arg_a4h) = r3;
0x00014e3c b 0x1476c | goto label_60;
| label_238:
0x00014e40 ldr r1, [sp, 0x4c] | r1 = *(arg_4ch);
0x00014e44 ldr lr, [pc, -0x7d0] |
0x00014e48 cmp r1, lr |
| if (r1 > lr) {
0x00014e4c ldrgt r0, [pc, -0x7d4] | r0 = "** \\O argument is too big";
| goto label_256;
| }
| if (r1 > lr) {
| label_256:
0x00014e50 bgt 0x13104 | goto label_67;
| }
0x00014e54 ldr r1, [sp, 0x4c] | r1 = *(arg_4ch);
0x00014e58 mla r1, ip, r1, r3 | __asm ("mla r1, ip, r1, r3");
0x00014e5c sub r3, r1, 0x30 | r3 = r1 - 0x30;
0x00014e60 str r3, [sp, 0x4c] | *(arg_4ch) = r3;
0x00014e64 b 0x149cc | goto label_68;
| label_240:
0x00014e68 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00014e6c str r3, [sp, 0xdc] | *(arg_dch) = r3;
| label_239:
0x00014e70 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00014e74 cmp r3, 0 |
| if (r3 != 0) {
0x00014e78 ldreq r3, [sp, 0x4c] | r3 = *(arg_4ch);
| }
| if (r3 == 0) {
0x00014e7c ldrne r2, [sp, 0x4c] | r2 = *(arg_4ch);
| }
| if (r3 == 0) {
0x00014e80 ldrne r3, [sp, 0xdc] | r3 = *(arg_dch);
| }
| if (r3 == 0) {
0x00014e84 subne r3, r3, r2 | r3 -= r2;
| }
| if (r3 == 0) {
0x00014e88 ldrne r2, [sp, 0x90] | r2 = *(arg_90h);
| }
| if (r3 == 0) {
0x00014e8c addne r3, r2, r3, lsl 2 | r3 = r2 + (r3 << 2);
| }
0x00014e90 str r3, [sp, 0x54] | *(arg_54h) = r3;
0x00014e94 b 0x1476c | goto label_60;
| label_224:
0x00014e98 tst fp, 0x8000 |
| if ((fp & 0x8000) == 0) {
0x00014e9c movne r3, 0x8000000 | r3 = 0x8000000;
| }
| if ((fp & 0x8000) != 0) {
0x00014ea0 moveq r3, 0x8000 | r3 = 0x8000;
| }
0x00014ea4 orr fp, fp, r3 |
0x00014ea8 b 0x1476c | goto label_60;
| label_237:
0x00014eac mla r7, r0, r8, r3 | __asm ("mla r7, r0, r8, r3");
0x00014eb0 mov r6, r2 | r6 = r2;
0x00014eb4 sub r8, r7, 0x30 | r8 = r7 - 0x30;
0x00014eb8 b 0x14970 | goto label_69;
| label_236:
0x00014ebc mla r7, r0, r8, r3 | __asm ("mla r7, r0, r8, r3");
0x00014ec0 mov r6, r2 | r6 = r2;
0x00014ec4 sub r8, r7, 0x30 | r8 = r7 - 0x30;
0x00014ec8 b 0x1491c | goto label_70;
| label_222:
0x00014ecc mov r3, 1 | r3 = 1;
0x00014ed0 str r3, [r4, 8] | *((r4 + 8)) = r3;
0x00014ed4 b 0x1476c | goto label_60;
| label_225:
0x00014ed8 orr fp, fp, 0x100 |
0x00014edc b 0x1476c | goto label_60;
| label_208:
0x00014ee0 orr fp, fp, 0x2000 |
0x00014ee4 b 0x1476c | goto label_60;
| label_205:
0x00014ee8 ldr r3, [pc, -0x86c] | r3 = "escape_sequence";
0x00014eec mov r2, 1 | r2 = 1;
0x00014ef0 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00014ef4 mov r0, r6 | r0 = r6;
0x00014ef8 bl 0x16918 | r0 = fcn_00016918 (r0, r1);
0x00014efc cmp r0, 0 |
| if (r0 == 0) {
0x00014f00 beq 0x13fe0 | goto label_51;
| }
0x00014f04 orr fp, fp, r0 |
| do {
0x00014f08 ldrb r3, [r6], 1 | r3 = *(r6);
| r6++;
0x00014f0c cmp r3, 0x3e |
0x00014f10 bne 0x14f08 |
| } while (r3 != 0x3e);
0x00014f14 b 0x1476c | goto label_60;
| label_199:
0x00014f18 cmp r5, 0x7f |
| if (r5 >= 0x7f) {
0x00014f1c bls 0x14f50 |
0x00014f20 cmp r5, 0x800 |
| if (r5 >= 0x800) {
0x00014f24 movlo r3, 1 | r3 = 1;
| }
| if (r5 <= 0x800) {
0x00014f28 blo 0x14f50 | goto label_257;
| }
0x00014f2c cmp r5, 0x10000 |
| if (r5 >= 0x10000) {
0x00014f30 movlo r3, 2 | r3 = 2;
| }
| if (r5 <= 0x10000) {
0x00014f34 blo 0x14f50 | goto label_257;
| }
0x00014f38 cmp r5, 0x200000 |
| if (r5 >= 0x200000) {
0x00014f3c movlo r3, 3 | r3 = 3;
| }
| if (r5 <= 0x200000) {
0x00014f40 blo 0x14f50 | goto label_257;
| }
0x00014f44 cmn r5, 0xfc000001 |
| if (r5 <= 0xfc000001) {
0x00014f48 movhi r3, 5 | r3 = 5;
| }
| if (r5 <= 0xfc000001) {
0x00014f4c movls r3, 4 | r3 = 4;
| goto label_257;
| }
| }
| label_257:
0x00014f50 ldr r2, [sp, 0x58] | r2 = *(s1);
0x00014f54 mvn ip, 0x7f |
0x00014f58 add r2, r2, r3 | r2 += r3;
0x00014f5c sub r0, r3, r2 | r0 = r3 - r2;
| do {
0x00014f60 cmn r2, r0 |
0x00014f64 and r1, r5, 0xff | r1 = r5 & 0xff;
| if (r2 == r0) {
0x00014f68 bne 0x14f98 |
0x00014f6c ldr r2, [pc, -0x8ec] | r2 = *(0x00014688);
0x00014f70 add r2, r2, r3, lsl 2 | r2 += (r3 << 2);
0x00014f74 ldr r2, [r2, 0x8b4] | r2 = *((r2 + 0x8b4));
0x00014f78 add r3, r3, 1 | r3++;
0x00014f7c orr r2, r1, r2 | r2 = r1 | r2;
0x00014f80 ldr r1, [sp, 0x58] | r1 = *(s1);
0x00014f84 strb r2, [r1] | *(r1) = r2;
0x00014f88 add r3, r1, r3 | r3 = r1 + r3;
0x00014f8c mov r2, r1 | r2 = r1;
| label_247:
0x00014f90 str r3, [sp, 0x58] | *(s1) = r3;
0x00014f94 b 0x1476c | goto label_60;
| }
0x00014f98 and r1, r5, 0x3f | r1 = r5 & 0x3f;
0x00014f9c orr r1, ip, r1 | r1 = ip | r1;
0x00014fa0 strb r1, [r2], -1 | *(r2) = r1;
| r2 += -1;
0x00014fa4 lsr r5, r5, 6 | r5 >>= 6;
0x00014fa8 b 0x14f60 |
| } while (1);
| label_198:
0x00014fac cmp r5, 0xff |
| if (r5 < 0xff) {
0x00014fb0 bls 0x14b64 | goto label_71;
| }
0x00014fb4 mov r2, r5 | r2 = r5;
0x00014fb8 ldr r1, [pc, -0x934] | r1 = "__Character_x_x_is_greater_than_255_and_UTF_8_mode_is_not_enabled.";
0x00014fbc ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00014fc0 bl 0x11200 | fprintf (r0, "__Character_x_x_is_greater_than_255_and_UTF_8_mode_is_not_enabled.", r2)
0x00014fc4 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00014fc8 ldr r0, [pc, -0x940] | r0 = "__Truncation_will_probably_give_the_wrong_result.";
0x00014fcc bl 0x11398 | fputs ("__Truncation_will_probably_give_the_wrong_result.", r1);
0x00014fd0 b 0x14b64 | goto label_71;
| label_216:
0x00014fd4 mov r3, 1 | r3 = 1;
0x00014fd8 str r3, [sp, 0xf4] | *(arg_f4h) = r3;
0x00014fdc b 0x1476c | goto label_60;
| label_192:
0x00014fe0 ldr r2, [sp, 0x50] | r2 = *(arg_50h);
0x00014fe4 ldr r1, [sp, 0x6c] | r1 = *(ptr);
0x00014fe8 sub r0, r3, r2 | r0 = r3 - r2;
0x00014fec add r0, r1, r0 | r0 = r1 + r0;
0x00014ff0 bl 0x11170 | memmove (r0, r1, r2);
0x00014ff4 str r0, [sp, 0x58] | *(s1) = r0;
0x00014ff8 b 0x141dc | goto label_72;
| label_195:
0x00014ffc ldr r3, [sp, 0x174] | r3 = *(arg_174h);
0x00015000 ldr r6, [r3, 8] | r6 = *((r3 + 8));
0x00015004 ands r6, r6, 0x1000 | r6 &= 0x1000;
| if (r6 != r6) {
0x00015008 ldreq r7, [pc, -0x97c] | r7 = "%2d: ";
| }
| if (r6 == r6) {
0x0001500c beq 0x150c4 | goto label_258;
| }
0x00015010 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015014 ldr r0, [pc, -0x984] | r0 = "Matched with REG_NOSUB\n";
0x00015018 bl 0x11398 | fputs ("Matched with REG_NOSUB\n", r1);
0x0001501c b 0x14290 | goto label_73;
| do {
0x00015020 ldr r3, [r5, r6, lsl 3] | offset_6 = r6 << 3;
| r3 = *((r5 + offset_6));
0x00015024 cmp r3, 0 |
| if (r3 >= 0) {
0x00015028 blt 0x150c0 |
0x0001502c mov r2, r6 | r2 = r6;
0x00015030 mov r1, r7 | r1 = r7;
0x00015034 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015038 bl 0x11200 | fprintf (r0, r1, r2)
0x0001503c add r8, r5, r6, lsl 3 | r8 = r5 + (r6 << 3);
0x00015040 ldr r3, [sp, 0x6c] | r3 = *(ptr);
0x00015044 ldr r0, [r5, r6, lsl 3] | offset_7 = r6 << 3;
| r0 = *((r5 + offset_7));
0x00015048 ldr r1, [r8, 4] | r1 = *((r8 + 4));
0x0001504c ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x00015050 sub r1, r1, r0 | r1 -= r0;
0x00015054 add r0, r3, r0 | r0 = r3 + r0;
0x00015058 bl 0x16b68 | fcn_00016b68 (r0, r1);
0x0001505c ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015060 mov r0, 0xa | r0 = 0xa;
0x00015064 bl 0x112f0 | fputc (r0, r1);
0x00015068 ldr r3, [sp, 0xb8] | r3 = *(arg_b8h);
0x0001506c cmp r3, 0 |
| if (r3 == 0) {
0x00015070 bne 0x15088 |
0x00015074 ldr r3, [sp, 0xa0] | r3 = *(arg_a0h);
0x00015078 cmp r6, 0 |
| if (r6 == 0) {
0x0001507c movne r3, 0 | r3 = 0;
| }
0x00015080 cmp r3, 0 |
| if (r3 == 0) {
0x00015084 beq 0x150c0 | goto label_259;
| }
| }
0x00015088 mov r2, r6 | r2 = r6;
0x0001508c ldr r1, [pc, -0x9f8] | r1 = "%2d+ ";
0x00015090 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015094 bl 0x11200 | fprintf (r0, "%2d+ ", r2)
0x00015098 ldr r0, [r8, 4] | r0 = *((r8 + 4));
0x0001509c ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x000150a0 ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x000150a4 sub r1, r3, r0 | r1 = r3 - r0;
0x000150a8 ldr r3, [sp, 0x6c] | r3 = *(ptr);
0x000150ac add r0, r3, r0 | r0 = r3 + r0;
0x000150b0 bl 0x16b68 | fcn_00016b68 (r0, r1);
0x000150b4 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x000150b8 mov r0, 0xa | r0 = 0xa;
0x000150bc bl 0x112f0 | fputc (r0, r1);
| }
| label_259:
0x000150c0 add r6, r6, 1 | r6++;
| label_258:
0x000150c4 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x000150c8 cmp r6, r3 |
0x000150cc bne 0x15020 |
| } while (r6 != r3);
0x000150d0 b 0x14290 | goto label_73;
| label_194:
0x000150d4 ldr r2, [sp, 0x64] | r2 = *(arg_64h);
0x000150d8 ldr r3, [sp, 0x9c] | r3 = *(arg_9ch);
0x000150dc cmp r2, 0 |
| if (r2 == 0) {
0x000150e0 movne r3, 0 | r3 = 0;
| }
0x000150e4 cmp r3, 0 |
| if (r3 != 0) {
0x000150e8 beq 0x15104 |
0x000150ec cmp sl, 0 |
| if (sl == 0) {
0x000150f0 beq 0x15104 | goto label_260;
| }
0x000150f4 mov r2, r5 | r2 = r5;
0x000150f8 ldr r1, [pc, -0xa60] | r1 = "%2d+ ";
0x000150fc mov r0, sl | r0 = sl;
0x00015100 bl 0x1126c | pcre_assign_jit_stack ();
| }
| label_260:
0x00015104 ldr r0, [sp, 0x4c] | r0 = *(arg_4ch);
0x00015108 ldr r1, [pc, -0xa6c] | r1 = *(0x000146a4);
0x0001510c cmp r0, 2 |
0x00015110 smull r2, r3, r0, r1 | r2:r3 = r0 * r1;
0x00015114 mov r5, 0 | r5 = 0;
0x00015118 sub r3, r3, r0, asr 31 | r3 -= (r0 >> 31);
0x0001511c str r3, [sp, 0xf0] | *(arg_f0h) = r3;
0x00015120 ldr r3, [sp, 0xf0] | r3 = *(arg_f0h);
| if (r0 != 2) {
0x00015124 moveq r3, 1 | r3 = 1;
| }
0x00015128 str r3, [sp, 0x10c] | *(arg_10ch) = r3;
0x0001512c add r3, r0, r0, lsr 31 | r3 = r0 + (r0 >> 31);
0x00015130 asr r3, r3, 1 | r3 >>= 1;
0x00015134 str r3, [sp, 0xd0] | *(arg_d0h) = r3;
0x00015138 str r5, [sp, 0xec] | *(arg_ech) = r5;
0x0001513c mov r3, 0 | r3 = 0;
0x00015140 add r7, sp, 0x298 | r7 += arg_298h;
0x00015144 str r3, [r7, -0x178] | *((r7 - 0x178)) = r3;
0x00015148 str r3, [r4] | *(r4) = r3;
0x0001514c ldr r3, [sp, 0x88] | r3 = *(arg_88h);
0x00015150 cmp r3, 0 |
| if (r3 <= 0) {
0x00015154 ble 0x1525c | goto label_261;
| }
0x00015158 bl 0x11368 | clock ();
0x0001515c ldr r3, [sp, 0x8c] | r3 = *(arg_8ch);
0x00015160 cmp r3, 0 |
0x00015164 mov r6, r0 | r6 = r0;
| if (r3 == 0) {
0x00015168 beq 0x153f0 | goto label_262;
| }
0x0001516c ands r7, fp, 0x20000 | r7 = fp & 0x20000;
| if (r7 != fp) {
0x00015170 beq 0x15184 |
0x00015174 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015178 ldr r0, [pc, -0xad8] | r0 = "Timing DFA restarts is not supported\n";
| label_78:
0x0001517c bl 0x11398 | fputs ("Timing DFA restarts is not supported\n", r1);
0x00015180 b 0x13fe0 | goto label_51;
| }
0x00015184 ldr r3, [sp, 0x60] | r3 = *(arg_60h);
0x00015188 cmp r3, 0 |
| if (r3 == 0) {
0x0001518c bne 0x1519c |
0x00015190 mov r0, 0xfa0 | r0 = 0xfa0;
0x00015194 bl 0x111b8 | malloc (r0);
0x00015198 str r0, [sp, 0x60] | *(arg_60h) = r0;
| }
0x0001519c orr r8, fp, r5 | r8 = fp | r5;
| do {
0x000151a0 mov r3, 0x3e8 | r3 = 0x3e8;
0x000151a4 str r3, [sp, 0x14] | var_14h = r3;
0x000151a8 ldr r3, [sp, 0x60] | r3 = *(arg_60h);
0x000151ac str r8, [sp, 4] | var_4h = r8;
0x000151b0 str r3, [sp, 0x10] | var_10h = r3;
0x000151b4 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x000151b8 ldr r2, [sp, 0x58] | r2 = *(s1);
0x000151bc str r3, [sp, 0xc] | var_ch = r3;
0x000151c0 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x000151c4 mov r1, sl | r1 = sl;
0x000151c8 str r3, [sp, 8] | var_8h = r3;
0x000151cc ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x000151d0 mov r0, sb | r0 = sb;
0x000151d4 str r3, [sp] | *(sp) = r3;
0x000151d8 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x000151dc bl 0x11158 | pcre_dfa_exec ();
0x000151e0 ldr r3, [sp, 0x88] | r3 = *(arg_88h);
0x000151e4 add r7, r7, 1 | r7++;
0x000151e8 cmp r3, r7 |
0x000151ec str r0, [sp, 0x170] | *(stream) = r0;
0x000151f0 bne 0x151a0 |
| } while (r3 != r7);
| label_74:
0x000151f4 bl 0x11368 | clock ();
0x000151f8 ldr r3, [sp, 0xe8] | r3 = *(arg_e8h);
0x000151fc sub r0, r0, r6 | r0 -= r6;
0x00015200 add r3, r3, r0 | r3 += r0;
0x00015204 str r3, [sp, 0xe8] | *(arg_e8h) = r3;
0x00015208 bl 0x185cc | fcn_000185cc (r0);
0x0001520c mov r2, 0 | r2 = 0;
0x00015210 ldr r3, [pc, -0xb6c] | r3 = *(0x000146ac);
0x00015214 bl 0x186b0 | r0 = fcn_000186b0 (r0);
0x00015218 mov r6, r0 | r6 = r0;
0x0001521c ldr r0, [sp, 0x88] | r0 = *(arg_88h);
0x00015220 mov r7, r1 | r7 = r1;
0x00015224 bl 0x185cc | r0 = fcn_000185cc (r0);
0x00015228 mov r2, r0 | r2 = r0;
0x0001522c mov r3, r1 | r3 = r1;
0x00015230 mov r0, r6 | r0 = r6;
0x00015234 mov r1, r7 | r1 = r7;
0x00015238 bl 0x1891c | fcn_0001891c (r0);
0x0001523c mov r2, 0 | r2 = 0;
0x00015240 ldr r3, [pc, -0xb98] | r3 = *(0x000146b0);
0x00015244 bl 0x1891c | r0 = fcn_0001891c (r0);
0x00015248 mov r2, r0 | r2 = r0;
0x0001524c mov r3, r1 | r3 = r1;
0x00015250 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015254 ldr r1, [pc, -0xba8] | r1 = "Execute time %.4f milliseconds\n";
0x00015258 bl 0x11200 | fprintf (r0, "Execute time %.4f milliseconds\n", r2, r3)
| label_261:
0x0001525c ldr r3, [sp, 0xa4] | r3 = *(arg_a4h);
0x00015260 orr r6, fp, r5 | r6 = fp | r5;
0x00015264 cmp r3, 0 |
| if (r3 == 0) {
0x00015268 beq 0x15448 | goto label_263;
| }
0x0001526c cmp sl, 0 |
| if (sl != 0) {
0x00015270 beq 0x1527c |
0x00015274 mov r0, sl | r0 = sl;
0x00015278 bl 0x112fc | pcre_free_study ();
| }
0x0001527c mov r0, 0x20 | r0 = 0x20;
0x00015280 bl 0x111b8 | malloc (r0);
0x00015284 mov r2, 0 | r2 = 0;
0x00015288 mov r3, r0 | r3 = r0;
0x0001528c str r2, [r3], 8 | *(r3) = r2;
| r3 += 8;
0x00015290 str r3, [sp, 0x14] | var_14h = r3;
0x00015294 mov r3, 2 | r3 = 2;
0x00015298 str r3, [sp, 0x10] | var_10h = r3;
0x0001529c ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x000152a0 ldr r2, [pc, -0xbf0] | r2 = "match()";
0x000152a4 str r3, [sp, 0xc] | var_ch = r3;
0x000152a8 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x000152ac str r2, [sp, 0x1c] | var_1ch = r2;
0x000152b0 str r3, [sp, 8] | var_8h = r3;
0x000152b4 ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x000152b8 mvn r2, 7 | r2 = ~7;
0x000152bc mov sl, r0 | sl = r0;
0x000152c0 mov r1, r0 | r1 = r0;
0x000152c4 str r2, [sp, 0x18] | var_18h = r2;
0x000152c8 str r3, [sp] | *(sp) = r3;
0x000152cc ldr r2, [sp, 0x58] | r2 = *(s1);
0x000152d0 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x000152d4 str r6, [sp, 4] | var_4h = r6;
0x000152d8 mov r0, sb | r0 = sb;
0x000152dc bl 0x16620 | fcn_00016620 (r0, r1, r2, r3, r4, r5, r6);
0x000152e0 ldr r3, [pc, -0xc2c] | r3 = "match() recursion";
0x000152e4 str r6, [sp, 4] | var_4h = r6;
0x000152e8 str r3, [sp, 0x1c] | var_1ch = r3;
0x000152ec mvn r3, 0x14 | r3 = ~0x14;
0x000152f0 str r3, [sp, 0x18] | var_18h = r3;
0x000152f4 add r3, sl, 0x14 | r3 = sl + 0x14;
0x000152f8 str r3, [sp, 0x14] | var_14h = r3;
0x000152fc mov r3, 0x10 | r3 = 0x10;
0x00015300 str r3, [sp, 0x10] | var_10h = r3;
0x00015304 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015308 ldr r2, [sp, 0x58] | r2 = *(s1);
0x0001530c str r3, [sp, 0xc] | var_ch = r3;
0x00015310 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015314 mov r1, sl | r1 = sl;
0x00015318 str r3, [sp, 8] | var_8h = r3;
0x0001531c ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x00015320 mov r0, sb | r0 = sb;
0x00015324 str r3, [sp] | *(sp) = r3;
0x00015328 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x0001532c bl 0x16620 | fcn_00016620 (r0, r1, r2, r3, r4, r5, r6);
0x00015330 str r0, [sp, 0x170] | *(stream) = r0;
| label_75:
0x00015334 ldr r6, [sp, 0x170] | r6 = *(stream);
0x00015338 cmp r6, 0 |
| if (r6 < 0) {
0x0001533c blt 0x15be8 | goto label_264;
| }
0x00015340 ldr r3, [sp, 0x8c] | r3 = *(arg_8ch);
0x00015344 cmp r3, 0 |
| if (r3 == 0) {
0x00015348 ldrne r3, [sp, 0xd0] | r3 = *(arg_d0h);
| }
| if (r3 == 0) {
0x0001534c bne 0x15360 |
0x00015350 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015354 cmp r3, 2 |
0x00015358 ldr r3, [sp, 0xf0] | r3 = *(arg_f0h);
| if (r3 == 2) {
0x0001535c moveq r3, 1 | r3 = 1;
| goto label_265;
| }
| }
| label_265:
0x00015360 cmp r6, r3 |
| if (r6 > r3) {
0x00015364 ble 0x153c4 |
0x00015368 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x0001536c mov r2, r6 | r2 = r6;
0x00015370 ldr r1, [pc, -0xcb8] | r1 = "** PCRE error: returned count %d is too big for offset size %d\n";
0x00015374 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015378 bl 0x11200 | fprintf (r0, "** PCRE error: returned count %d is too big for offset size %d\n", r2, r3)
0x0001537c ldr r3, [sp, 0xf0] | r3 = *(arg_f0h);
0x00015380 ldr r2, [sp, 0x80] | r2 = *(arg_80h);
0x00015384 str r3, [sp, 0x170] | *(stream) = r3;
0x00015388 ldr r3, [sp, 0x94] | r3 = *(arg_94h);
0x0001538c orrs r3, r3, r2 | r3 |= r2;
0x00015390 str r3, [sp, 0x94] | *(arg_94h) = r3;
| if (r3 != r3) {
0x00015394 ldreq r3, [sp, 0x94] | r3 = *(arg_94h);
| }
| if (r3 != r3) {
0x00015398 streq r3, [sp, 0x80] | *(arg_80h) = r3;
| }
| if (r3 == r3) {
0x0001539c beq 0x153c4 | goto label_266;
| }
0x000153a0 cmp r2, 0 |
| if (r2 != 0) {
0x000153a4 moveq r2, 0x47 | r2 = 0x47;
| }
| if (r2 == 0) {
0x000153a8 movne r2, 0x67 | r2 = 0x67;
| }
0x000153ac ldr r1, [pc, -0xcf0] | r1 = "** /%c loop abandoned\n";
0x000153b0 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x000153b4 bl 0x11200 | fprintf (r0, "** /%c loop abandoned\n", r2)
0x000153b8 mov r3, 0 | r3 = 0;
0x000153bc str r3, [sp, 0x80] | *(arg_80h) = r3;
0x000153c0 str r3, [sp, 0x94] | *(arg_94h) = r3;
| }
| label_266:
0x000153c4 ldr r3, [sp, 0xd4] | r3 = *(arg_d4h);
0x000153c8 cmp r3, 0 |
| if (r3 != 0) {
0x000153cc beq 0x153e8 |
0x000153d0 ldr r3, [sp, 0x8c] | r3 = *(arg_8ch);
0x000153d4 cmp r3, 0 |
| if (r3 == 0) {
0x000153d8 beq 0x155c0 | goto label_267;
| }
0x000153dc ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x000153e0 ldr r0, [pc, -0xd20] | r0 = "__Show_all_captures_ignored_after_DFA_matching";
0x000153e4 bl 0x11398 | fputs ("__Show_all_captures_ignored_after_DFA_matching", r1);
| }
| label_76:
0x000153e8 mov r5, 0 | r5 = 0;
0x000153ec b 0x15660 | goto label_268;
| label_262:
0x000153f0 ldr r8, [sp, 0x8c] | r8 = *(arg_8ch);
0x000153f4 orr r3, fp, r5 | r3 = fp | r5;
0x000153f8 str r3, [sp, 0x108] | *(arg_108h) = r3;
| do {
0x000153fc ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015400 ldr r2, [sp, 0x58] | r2 = *(s1);
0x00015404 str r3, [sp, 0xc] | var_ch = r3;
0x00015408 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x0001540c mov r1, sl | r1 = sl;
0x00015410 str r3, [sp, 8] | var_8h = r3;
0x00015414 ldr r3, [sp, 0x108] | r3 = *(arg_108h);
0x00015418 mov r0, sb | r0 = sb;
0x0001541c str r3, [sp, 4] | var_4h = r3;
0x00015420 ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x00015424 add r8, r8, 1 | r8++;
0x00015428 str r3, [sp] | *(sp) = r3;
0x0001542c ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00015430 bl 0x113b0 | pcre_exec ();
0x00015434 ldr r3, [sp, 0x88] | r3 = *(arg_88h);
0x00015438 cmp r3, r8 |
0x0001543c str r0, [r7, -0x128] | *((r7 - 0x128)) = r0;
0x00015440 bne 0x153fc |
| } while (r3 != r8);
0x00015444 b 0x151f4 | goto label_74;
| label_263:
0x00015448 ldr r3, [sp, 0xf8] | r3 = *(arg_f8h);
0x0001544c cmp r3, 0 |
| if (r3 != 0) {
0x00015450 beq 0x154c8 |
0x00015454 cmp sl, 0 |
| if (sl == 0) {
0x00015458 bne 0x15470 |
0x0001545c mov r0, 0x20 | r0 = 0x20;
0x00015460 bl 0x111b8 | malloc (r0);
0x00015464 ldr r3, [sp, 0xa4] | r3 = *(arg_a4h);
0x00015468 mov sl, r0 | sl = r0;
0x0001546c str r3, [r0] | *(r0) = r3;
| }
0x00015470 ldr r3, [sl] | r3 = *(sl);
0x00015474 ldr r2, [sp, 0x58] | r2 = *(s1);
0x00015478 orr r3, r3, 4 | r3 |= 4;
0x0001547c str r3, [sl] | *(sl) = r3;
0x00015480 add r3, sp, 0x16c | r3 += arg_16ch;
0x00015484 str r3, [sl, 0xc] | *((sl + 0xc)) = r3;
0x00015488 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x0001548c str r6, [sp, 4] | var_4h = r6;
0x00015490 str r3, [sp, 0xc] | var_ch = r3;
0x00015494 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015498 mov r1, sl | r1 = sl;
0x0001549c str r3, [sp, 8] | var_8h = r3;
0x000154a0 ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x000154a4 mov r0, sb | r0 = sb;
0x000154a8 str r3, [sp] | *(sp) = r3;
0x000154ac ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x000154b0 bl 0x113b0 | pcre_exec ();
0x000154b4 ldr r3, [sl] | r3 = *(sl);
0x000154b8 bic r3, r3, 4 | r3 = BIT_MASK (r3, 4);
0x000154bc str r0, [sp, 0x170] | *(stream) = r0;
0x000154c0 str r3, [sl] | *(sl) = r3;
0x000154c4 b 0x15334 | goto label_75;
| }
0x000154c8 ldr r3, [sp, 0x8c] | r3 = *(arg_8ch);
0x000154cc cmp r3, 0 |
| if (r3 != 0) {
0x000154d0 beq 0x1556c |
0x000154d4 ldr r3, [sp, 0x60] | r3 = *(arg_60h);
0x000154d8 cmp r3, 0 |
| if (r3 == 0) {
0x000154dc bne 0x154ec |
0x000154e0 mov r0, 0xfa0 | r0 = 0xfa0;
0x000154e4 bl 0x111b8 | malloc (r0);
0x000154e8 str r0, [sp, 0x60] | *(arg_60h) = r0;
| }
0x000154ec ldr r3, [sp, 0xc4] | r3 = *(arg_c4h);
0x000154f0 mov r1, sl | r1 = sl;
0x000154f4 cmp r3, 0 |
| if (r3 != 0) {
0x000154f8 ldreq r2, [sp, 0x60] | r2 = *(arg_60h);
| }
0x000154fc add r7, r3, 1 | r7 = r3 + 1;
| if (r3 != 0) {
0x00015500 mvneq r3, 0 | r3 = ~0;
| }
| if (r3 != 0) {
0x00015504 streq r3, [r2] | *(r2) = r3;
| }
0x00015508 mov r3, 0x3e8 | r3 = 0x3e8;
0x0001550c str r3, [sp, 0x14] | var_14h = r3;
0x00015510 ldr r3, [sp, 0x60] | r3 = *(arg_60h);
0x00015514 str r6, [sp, 4] | var_4h = r6;
0x00015518 str r3, [sp, 0x10] | var_10h = r3;
0x0001551c ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015520 ldr r2, [sp, 0x58] | r2 = *(s1);
0x00015524 str r3, [sp, 0xc] | var_ch = r3;
0x00015528 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x0001552c mov r0, sb | r0 = sb;
0x00015530 str r3, [sp, 8] | var_8h = r3;
0x00015534 ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x00015538 str r3, [sp] | *(sp) = r3;
0x0001553c ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00015540 bl 0x11158 | r0 = pcre_dfa_exec ();
0x00015544 cmp r0, 0 |
0x00015548 str r0, [sp, 0x170] | *(stream) = r0;
| if (r0 == 0) {
0x0001554c bne 0x15564 |
0x00015550 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015554 ldr r0, [pc, -0xe90] | r0 = "Matched, but offsets vector is too small to show all matches\n";
0x00015558 bl 0x11398 | fputs ("Matched, but offsets vector is too small to show all matches\n", r1);
0x0001555c ldr r3, [sp, 0xd0] | r3 = *(arg_d0h);
0x00015560 str r3, [sp, 0x170] | *(stream) = r3;
| }
0x00015564 str r7, [sp, 0xc4] | *(arg_c4h) = r7;
0x00015568 b 0x15334 | goto label_75;
| }
0x0001556c ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015570 str r6, [sp, 4] | var_4h = r6;
0x00015574 str r3, [sp, 0xc] | var_ch = r3;
0x00015578 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x0001557c ldr r2, [sp, 0x58] | r2 = *(s1);
0x00015580 str r3, [sp, 8] | var_8h = r3;
0x00015584 ldr r3, [sp, 0x5c] | r3 = *(arg_5ch);
0x00015588 mov r1, sl | r1 = sl;
0x0001558c str r3, [sp] | *(sp) = r3;
0x00015590 mov r0, sb | r0 = sb;
0x00015594 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00015598 bl 0x113b0 | r0 = pcre_exec ();
0x0001559c cmp r0, 0 |
0x000155a0 str r0, [sp, 0x170] | *(stream) = r0;
| if (r0 != 0) {
0x000155a4 bne 0x15334 | goto label_75;
| }
0x000155a8 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x000155ac ldr r0, [pc, -0xee4] | r0 = "Matched, but too many substrings\n";
0x000155b0 bl 0x11398 | fputs ("Matched, but too many substrings\n", r1);
0x000155b4 ldr r3, [sp, 0x10c] | r3 = *(arg_10ch);
0x000155b8 str r3, [sp, 0x170] | *(stream) = r3;
0x000155bc b 0x15334 | goto label_75;
| label_267:
0x000155c0 add r3, sp, 0x170 | r3 += stream;
0x000155c4 mov r2, 2 | r2 = 2;
0x000155c8 ldr r1, [sp, 0x8c] | r1 = *(arg_8ch);
0x000155cc mov r0, sb | r0 = sb;
0x000155d0 bl 0x1705c | r0 = fcn_0001705c (r0);
0x000155d4 cmp r0, 0 |
| if (r0 < 0) {
0x000155d8 blt 0x15fd4 | goto label_269;
| }
0x000155dc ldr r3, [sp, 0x170] | r3 = *(stream);
0x000155e0 ldr r2, [sp, 0x4c] | r2 = *(arg_4ch);
0x000155e4 add r3, r3, 1 | r3++;
0x000155e8 cmp r2, r3, lsl 1 |
0x000155ec ldr r2, [sp, 0xd0] | r2 = *(arg_d0h);
| if (r2 >= r3) {
0x000155f0 movlt r3, r2 | r3 = r2;
| }
0x000155f4 str r3, [sp, 0x170] | *(stream) = r3;
0x000155f8 b 0x153e8 | goto label_76;
| do {
0x000155fc ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015600 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015604 ldr r6, [r3, r5, lsl 2] | offset_8 = r5 << 2;
| r6 = *((r3 + offset_8));
0x00015608 cmp r6, 0 |
| if (r6 >= 0) {
0x0001560c bge 0x15790 | goto label_270;
| }
0x00015610 cmn r6, 1 |
| if (r6 != 1) {
0x00015614 beq 0x15628 |
0x00015618 mov r3, r5 | r3 = r5;
0x0001561c mov r2, r6 | r2 = r6;
0x00015620 ldr r1, [pc, -0xf54] | r1 = "ERROR: bad negative value %d for offset %d\n";
0x00015624 bl 0x11200 | fprintf (r0, "ERROR: bad negative value %d for offset %d\n", r2, r3)
| }
0x00015628 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x0001562c add r3, r3, r5, lsl 2 | r3 += (r5 << 2);
0x00015630 ldr r2, [r3, 4] | r2 = *((r3 + 4));
0x00015634 cmn r2, 1 |
| if (r2 != 1) {
0x00015638 beq 0x1564c |
0x0001563c add r3, r5, 1 | r3 = r5 + 1;
0x00015640 ldr r1, [pc, -0xf74] | r1 = "ERROR: bad negative value %d for offset %d\n";
0x00015644 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015648 bl 0x11200 | fprintf (r0, "ERROR: bad negative value %d for offset %d\n", r2, r3)
| }
0x0001564c asr r2, r5, 1 | r2 = r5 >> 1;
0x00015650 ldr r1, [pc, -0xf80] | r1 = "%2d: <unset>\n";
0x00015654 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015658 bl 0x11200 | fprintf (r0, "%2d: <unset>\n", r2)
| label_77:
0x0001565c add r5, r5, 2 | r5 += 2;
| label_268:
0x00015660 ldr r3, [sp, 0x170] | r3 = *(stream);
0x00015664 cmp r5, r3, lsl 1 |
0x00015668 blt 0x155fc |
| } while (r5 < r3);
0x0001566c ldr r3, [sp, 0x120] | r3 = *(arg_120h);
0x00015670 cmp r3, 0 |
| if (r3 != 0) {
0x00015674 beq 0x156a0 |
0x00015678 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x0001567c ldr r0, [pc, -0xfa8] | r0 = "MK: ";
0x00015680 bl 0x11398 | fputs ("MK: ", r1);
0x00015684 mvn r1, 0 | r1 = ~0;
0x00015688 ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x0001568c ldr r0, [sp, 0x120] | r0 = *(arg_120h);
0x00015690 bl 0x16b68 | fcn_00016b68 (r0, r1);
0x00015694 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015698 mov r0, 0xa | r0 = 0xa;
0x0001569c bl 0x112f0 | fputc (r0, r1);
| }
0x000156a0 ldr r8, [pc, -0xfc8] | r8 = " (%d)\n";
0x000156a4 mov r5, 0 | r5 = 0;
0x000156a8 ldr r3, [sp, 0xcc] | r3 = *(arg_cch);
0x000156ac asr r3, r3, r5 | r3 >>= r5;
0x000156b0 tst r3, 1 |
| if ((r3 & 1) == 0) {
0x000156b4 beq 0x156f8 | void (*0x156f8)() ();
| }
| label_270:
0x00015790 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015794 add r3, r3, r5, lsl 2 | r3 += (r5 << 2);
0x00015798 ldr r7, [r3, 4] | r7 = *((r3 + 4));
0x0001579c str r3, [sp, 0x108] | *(arg_108h) = r3;
0x000157a0 cmp r6, r7 |
| if (r6 > r7) {
0x000157a4 ble 0x157c0 |
0x000157a8 mov r1, r0 | r1 = r0;
0x000157ac ldr r0, [pc, 0x8c8] | r0 = *(0x16078);
0x000157b0 bl 0x11398 | fputs (r0, r1);
0x000157b4 mov r2, r6 | r2 = r6;
0x000157b8 mov r6, r7 | r6 = r7;
0x000157bc mov r7, r2 | r7 = r2;
| }
0x000157c0 asr r8, r5, 1 | r8 = r5 >> 1;
0x000157c4 mov r2, r8 | r2 = r8;
0x000157c8 ldr r1, [pc, 0x8b0] | r1 = "Start of matched string is beyond its end - displaying from end to start.\n";
0x000157cc ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x000157d0 bl 0x11200 | fprintf (r0, "Start of matched string is beyond its end - displaying from end to start.\n", r2, r3, r4, r5, r6)
0x000157d4 ldr r3, [sp, 0x58] | r3 = *(s1);
0x000157d8 ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x000157dc add r0, r3, r6 | r0 = r3 + r6;
0x000157e0 sub r1, r7, r6 | r1 = r7 - r6;
0x000157e4 bl 0x16b68 | fcn_00016b68 (r0, r1);
0x000157e8 ldr r3, [sp, 0x9c] | r3 = *(arg_9ch);
0x000157ec cmp r3, 0 |
| if (r3 != 0) {
0x000157f0 beq 0x1580c |
0x000157f4 ldr r3, [r4] | r3 = *(r4);
0x000157f8 cmp r3, 0 |
| if (r3 == 0) {
0x000157fc beq 0x1580c | goto label_271;
| }
0x00015800 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015804 ldr r0, [pc, 0x878] | r0 = "%2d: ";
0x00015808 bl 0x11398 | fputs ("%2d: ", r1);
| }
| label_271:
0x0001580c ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015810 mov r0, 0xa | r0 = 0xa;
0x00015814 bl 0x112f0 | fputc (r0, r1);
0x00015818 ldr r3, [sp, 0xb8] | r3 = *(arg_b8h);
0x0001581c cmp r3, 0 |
| if (r3 != 0) {
0x00015820 bne 0x15838 | goto label_272;
| }
0x00015824 ldr r3, [sp, 0xa0] | r3 = *(arg_a0h);
0x00015828 cmp r5, 0 |
| if (r5 == 0) {
0x0001582c movne r3, 0 | r3 = 0;
| }
0x00015830 cmp r3, 0 |
| if (r3 == 0) {
0x00015834 beq 0x1565c | goto label_77;
| }
| label_272:
0x00015838 mov r2, r8 | r2 = r8;
0x0001583c ldr r1, [pc, 0x844] | r1 = "_JIT_";
0x00015840 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015844 bl 0x11200 | fprintf (r0, "_JIT_", r2)
0x00015848 ldr r3, [sp, 0x108] | r3 = *(arg_108h);
0x0001584c ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x00015850 ldr r0, [r3, 4] | r0 = *((r3 + 4));
0x00015854 ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00015858 sub r1, r3, r0 | r1 = r3 - r0;
0x0001585c ldr r3, [sp, 0x58] | r3 = *(s1);
0x00015860 add r0, r3, r0 | r0 = r3 + r0;
0x00015864 bl 0x16b68 | fcn_00016b68 (r0, r1);
0x00015868 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x0001586c mov r0, 0xa | r0 = 0xa;
0x00015870 bl 0x112f0 | fputc (r0, r1);
0x00015874 b 0x1565c | goto label_77;
| do {
0x00015b18 ldr r3, [sp, 0x94] | r3 = *(arg_94h);
0x00015b1c ldr r2, [sp, 0x80] | r2 = *(arg_80h);
0x00015b20 orrs r3, r3, r2 | r3 |= r2;
| if (r3 == r3) {
0x00015b24 beq 0x15fc8 | goto label_273;
| }
0x00015b28 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015b2c cmp r3, 0 |
| if (r3 != 0) {
0x00015b30 bne 0x15f48 | goto label_274;
| }
0x00015b34 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015b38 ldr r0, [pc, 0x570] | r0 = "get substring list failed %d\n";
0x00015b3c b 0x1517c | goto label_78;
| label_264:
0x00015be8 cmn r6, 0xc |
| if (r6 == 0xc) {
0x00015bec bne 0x15cb8 |
0x00015bf0 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015bf4 ldr r0, [pc, 0x4bc] | r0 = "string list not terminated by NULL\n";
0x00015bf8 bl 0x11398 | fputs ("string list not terminated by NULL\n", r1);
0x00015bfc ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015c00 cmp r3, 2 |
| if (r3 > 2) {
0x00015c04 ble 0x15c28 |
0x00015c08 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015c0c ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015c10 ldr r2, [r3, 8] | r2 = *((r3 + 8));
0x00015c14 ldr r3, [r3] | r3 = *(r3);
0x00015c18 cmp r3, r2 |
| if (r3 == r2) {
0x00015c1c beq 0x15c28 | goto label_275;
| }
0x00015c20 ldr r1, [pc, 0x494] | r1 = "Partial_match";
0x00015c24 bl 0x11200 | fprintf (r0, "Partial_match")
| }
| label_275:
0x00015c28 ldr r3, [sp, 0x120] | r3 = *(arg_120h);
0x00015c2c ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015c30 cmp r3, 0 |
| if (r3 != 0) {
0x00015c34 beq 0x15c50 |
0x00015c38 ldr r0, [pc, 0x480] | r0 = "at_offset__d";
0x00015c3c bl 0x11398 | fputs ("at_offset__d", r1);
0x00015c40 ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x00015c44 mvn r1, 0 | r1 = ~0;
0x00015c48 ldr r0, [sp, 0x120] | r0 = *(arg_120h);
0x00015c4c bl 0x16b68 | fcn_00016b68 (r0, r1);
| }
0x00015c50 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015c54 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015c58 cmp r3, 1 |
| if (r3 > 1) {
0x00015c5c ble 0x15c84 |
0x00015c60 ldr r0, [pc, 0x45c] | r0 = "__mark";
0x00015c64 bl 0x11398 | fputs ("__mark", r1);
0x00015c68 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015c6c ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x00015c70 ldm r3, {r0, r1} | r0 = *(r3);
| r1 = *((r3 + 4));
0x00015c74 ldr r3, [sp, 0x58] | r3 = *(s1);
0x00015c78 sub r1, r1, r0 | r1 -= r0;
0x00015c7c add r0, r3, r0 | r0 = r3 + r0;
0x00015c80 bl 0x16b68 | fcn_00016b68 (r0, r1);
| }
0x00015c84 ldr r3, [sp, 0x9c] | r3 = *(arg_9ch);
0x00015c88 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015c8c cmp r3, 0 |
| if (r3 != 0) {
0x00015c90 beq 0x15ca8 |
0x00015c94 ldr r3, [r4] | r3 = *(r4);
0x00015c98 cmp r3, 0 |
| if (r3 == 0) {
0x00015c9c beq 0x15ca8 | goto label_84;
| }
0x00015ca0 ldr r0, [pc, 0x3dc] | r0 = "%2d: ";
0x00015ca4 bl 0x11398 | fputs ("%2d: ", r1);
| }
| label_84:
0x00015ca8 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
| label_82:
0x00015cac mov r0, 0xa | r0 = 0xa;
0x00015cb0 bl 0x112f0 | fputc (r0, r1);
0x00015cb4 b 0x13fe0 | goto label_51;
| }
0x00015cb8 cmp r5, 0 |
| if (r5 == 0) {
0x00015cbc beq 0x15de4 | goto label_276;
| }
0x00015cc0 ldr r3, [sb, 8] | r3 = *((sb + 8));
0x00015cc4 ldr r2, [sp, 0x54] | r2 = *(arg_54h);
0x00015cc8 ldr r1, [sp, 0x5c] | r1 = *(arg_5ch);
0x00015ccc ands r5, r3, 0x700000 | r5 = r3 & 0x700000;
0x00015cd0 str r1, [r2] | *(r2) = r1;
| if (r5 == r3) {
0x00015cd4 bne 0x15d28 |
0x00015cd8 add r1, sp, 0x198 | r1 += format;
0x00015cdc mov r0, 1 | r0 = 1;
0x00015ce0 bl 0x1129c | pcre_config ();
0x00015ce4 ldr r3, [sp, 0x198] | r3 = *(format);
0x00015ce8 cmp r3, 0xd |
| if (r3 != 0xd) {
0x00015cec moveq r5, 0x100000 | r5 = 0x100000;
| }
| if (r3 != 0xd) {
0x00015cf0 beq 0x15d24 |
0x00015cf4 cmp r3, 0xa |
| if (r3 != 0xa) {
0x00015cf8 moveq r5, 0x200000 | r5 = 0x200000;
| }
| if (r3 == 0xa) {
0x00015cfc beq 0x15d24 | goto label_277;
| }
0x00015d00 ldr r2, [pc, 0x3c0] | r2 = *(0x160c4);
0x00015d04 cmp r3, r2 |
| if (r3 != r2) {
0x00015d08 moveq r5, 0x300000 | r5 = 0x300000;
| }
| if (r3 == r2) {
0x00015d0c beq 0x15d24 | goto label_277;
| }
0x00015d10 cmn r3, 2 |
| if (r3 != 2) {
0x00015d14 moveq r5, 0x500000 | r5 = 0x500000;
| }
| if (r3 == 2) {
0x00015d18 beq 0x15d24 | goto label_277;
| }
0x00015d1c cmn r3, 1 |
| if (r3 == 1) {
0x00015d20 moveq r5, 0x400000 | r5 = 0x400000;
| goto label_277;
| }
| }
| label_277:
0x00015d24 mov r3, r5 | r3 = r5;
| }
0x00015d28 and r2, r3, 0x700000 | r2 = r3 & 0x700000;
0x00015d2c and r3, r3, 0x600000 | r3 &= 0x600000;
0x00015d30 cmp r3, 0x400000 |
0x00015d34 cmpne r2, 0x300000 | __asm ("cmpne r2, 0x300000");
| if (r3 == 0x400000) {
0x00015d38 bne 0x15d84 |
0x00015d3c ldr r3, [sp, 0x50] | r3 = *(arg_50h);
0x00015d40 ldr r2, [sp, 0x5c] | r2 = *(arg_5ch);
0x00015d44 sub r3, r3, 1 | r3--;
0x00015d48 cmp r3, r2 |
| if (r3 <= r2) {
0x00015d4c ble 0x15d84 | goto label_278;
| }
0x00015d50 ldr r3, [r4, 0x38] | r3 = *((r4 + 0x38));
0x00015d54 cmp r3, 0 |
| if (r3 != 0) {
0x00015d58 bne 0x15d84 | goto label_278;
| }
0x00015d5c ldr r3, [sp, 0x58] | r3 = *(s1);
0x00015d60 ldrb r3, [r3, r2] | r3 = *((r3 + r2));
0x00015d64 cmp r3, 0xd |
| if (r3 != 0xd) {
0x00015d68 bne 0x15d84 | goto label_278;
| }
0x00015d6c ldr r3, [sp, 0x58] | r3 = *(s1);
0x00015d70 add r3, r3, r2 | r3 += r2;
0x00015d74 ldrb r3, [r3, 1] | r3 = *((r3 + 1));
0x00015d78 cmp r3, 0xa |
| if (r3 != 0xa) {
0x00015d7c moveq r3, 2 | r3 = 2;
| }
| if (r3 == 0xa) {
0x00015d80 beq 0x15d94 | goto label_79;
| }
| }
| label_278:
0x00015d84 ldr r3, [r4, 0x1c] | r3 = *((r4 + 0x1c));
0x00015d88 cmp r3, 0 |
0x00015d8c mov r3, 1 | r3 = 1;
| if (r3 != 0) {
0x00015d90 bne 0x15dd4 | goto label_279;
| }
| label_79:
0x00015d94 ldr r2, [sp, 0x5c] | r2 = *(arg_5ch);
0x00015d98 add r3, r2, r3 | r3 = r2 + r3;
0x00015d9c ldr r2, [sp, 0x54] | r2 = *(arg_54h);
0x00015da0 str r3, [r2, 4] | *((r2 + 4)) = r3;
0x00015da4 b 0x15b18 |
| } while (1);
| label_80:
0x00015da8 ldrb r2, [r1, r3] | r2 = *((r1 + r3));
0x00015dac and r2, r2, 0xc0 | r2 &= 0xc0;
0x00015db0 cmp r2, 0x80 |
| if (r2 != 0x80) {
0x00015db4 bne 0x15d94 | goto label_79;
| }
0x00015db8 add r3, r3, 1 | r3++;
| label_81:
0x00015dbc ldr r2, [sp, 0x5c] | r2 = *(arg_5ch);
0x00015dc0 ldr r0, [sp, 0x50] | r0 = *(arg_50h);
0x00015dc4 add r2, r3, r2 | r2 = r3 + r2;
0x00015dc8 cmp r0, r2 |
| if (r0 > r2) {
0x00015dcc bgt 0x15da8 | goto label_80;
| }
0x00015dd0 b 0x15d94 | goto label_79;
| label_279:
0x00015dd4 ldr r2, [sp, 0x58] | r2 = *(s1);
0x00015dd8 ldr r1, [sp, 0x5c] | r1 = *(arg_5ch);
0x00015ddc add r1, r2, r1 | r1 = r2 + r1;
0x00015de0 b 0x15dbc | goto label_81;
| label_276:
0x00015de4 cmn r6, 0xb |
| if (r6 == 0xb) {
0x00015de8 beq 0x15f24 | goto label_280;
| }
| if (r6 > 0xb) {
0x00015dec bgt 0x15e1c | goto label_281;
| }
0x00015df0 cmn r6, 0x19 |
| if (r6 == 0x19) {
0x00015df4 beq 0x15ed0 | goto label_282;
| }
| do {
0x00015df8 cmn r6, 0x20 |
0x00015dfc ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
| if (r6 <= 0x20) {
0x00015e00 blo 0x15f3c | goto label_283;
| }
0x00015e04 ldr r3, [pc, 0x2c0] |
0x00015e08 mov r2, r6 | r2 = r6;
0x00015e0c sub r3, r3, r6, lsl 2 | r3 -= (r6 << 2);
0x00015e10 ldr r3, [r3, 0x8cc] | r3 = *(0x16994);
0x00015e14 ldr r1, [pc, 0x2b4] | r1 = *(0x160cc);
0x00015e18 b 0x15f34 | goto label_284;
| label_281:
0x00015e1c cmn r6, 0xa |
| if (r6 == 0xa) {
0x00015e20 beq 0x15ed0 | goto label_282;
| }
0x00015e24 cmn r6, 1 |
0x00015e28 bne 0x15df8 |
| } while (r6 != 1);
0x00015e2c ldr r3, [sp, 0xec] | r3 = *(arg_ech);
0x00015e30 cmp r3, 0 |
| if (r3 != 0) {
0x00015e34 bne 0x13fe0 | goto label_51;
| }
0x00015e38 ldr r3, [sp, 0x120] | r3 = *(arg_120h);
0x00015e3c ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015e40 cmp r3, 0 |
| if (r3 != 0) {
0x00015e44 bne 0x15ea8 | goto label_285;
| }
0x00015e48 ldr r0, [pc, 0x284] | r0 = "Error__d___s_";
0x00015e4c bl 0x11398 | fputs ("Error__d___s_", r1);
| label_83:
0x00015e50 ldr r3, [sp, 0x9c] | r3 = *(arg_9ch);
0x00015e54 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015e58 cmp r3, 0 |
| if (r3 != 0) {
0x00015e5c beq 0x15e74 |
0x00015e60 ldr r3, [r4] | r3 = *(r4);
0x00015e64 cmp r3, 0 |
| if (r3 == 0) {
0x00015e68 beq 0x15e74 | goto label_286;
| }
0x00015e6c ldr r0, [pc, 0x210] | r0 = "%2d: ";
0x00015e70 bl 0x11398 | fputs ("%2d: ", r1);
| }
| label_286:
0x00015e74 ldr r1, [r4, 0xc] | r1 = *((r4 + 0xc));
0x00015e78 ldr r3, [r1, 0x34] | r3 = *((r1 + 0x34));
0x00015e7c cmp r3, 0 |
| if (r3 == 0) {
0x00015e80 beq 0x15cac | goto label_82;
| }
0x00015e84 ldr r3, [r1, 0x10] | r3 = *((r1 + 0x10));
0x00015e88 ldr r2, [r1, 0x1c] | r2 = *((r1 + 0x1c));
0x00015e8c cmp r3, r2 |
| if (r3 < r2) {
0x00015e90 bhs 0x15ec4 |
0x00015e94 add r2, r3, 1 | r2 = r3 + 1;
0x00015e98 str r2, [r1, 0x10] | *((r1 + 0x10)) = r2;
0x00015e9c mov r2, 0xa | r2 = 0xa;
0x00015ea0 strb r2, [r3] | *(r3) = r2;
0x00015ea4 b 0x13fe0 | goto label_51;
| label_285:
0x00015ea8 ldr r0, [pc, 0x228] | r0 = "No_match";
0x00015eac bl 0x11398 | fputs ("No_match", r1);
0x00015eb0 ldr r2, [r4, 0xc] | r2 = *((r4 + 0xc));
0x00015eb4 mov r1, r6 | r1 = r6;
0x00015eb8 ldr r0, [sp, 0x120] | r0 = *(arg_120h);
0x00015ebc bl 0x16b68 | fcn_00016b68 (r0, r1);
0x00015ec0 b 0x15e50 | goto label_83;
| }
0x00015ec4 mov r0, 0xa | r0 = 0xa;
0x00015ec8 bl 0x113e0 | fputc_unlocked ();
0x00015ecc b 0x13fe0 | goto label_51;
| label_282:
0x00015ed0 ldr r2, [pc, 0x204] | r2 = "No match, mark = ";
0x00015ed4 cmn r6, 0xa |
0x00015ed8 mov r3, 8 | r3 = 8;
0x00015edc str r3, [sp] | *(sp) = r3;
0x00015ee0 ldr r1, [pc, 0x1f8] | r1 = "short";
0x00015ee4 ldr r3, [pc, 0x1f8] | r3 = "Error %d (%s UTF-%d string)";
0x00015ee8 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
| if (r6 == 0xa) {
0x00015eec movne r3, r2 | r3 = r2;
| }
0x00015ef0 mov r2, r6 | r2 = r6;
0x00015ef4 bl 0x11200 | fprintf (r0, "short", "No match, mark = ", r3, r4, r5, r6)
0x00015ef8 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015efc cmp r3, 1 |
| if (r3 <= 1) {
0x00015f00 ble 0x15ca8 | goto label_84;
| }
0x00015f04 ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015f08 ldr r2, [sp, 0x54] | r2 = *(arg_54h);
0x00015f0c ldr r3, [r3, 4] | r3 = *((r3 + 4));
0x00015f10 ldr r2, [r2] | r2 = *(r2);
0x00015f14 ldr r1, [pc, 0x1cc] | r1 = *(0x160e4);
0x00015f18 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015f1c bl 0x11200 | fprintf (r0, r1, r2, r3)
0x00015f20 b 0x15ca8 | goto label_84;
| label_280:
0x00015f24 ldr r1, [pc, 0x1c0] | r1 = " offset=%d reason=%d";
0x00015f28 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00015f2c mov r3, 8 | r3 = 8;
0x00015f30 mov r2, r6 | r2 = r6;
| label_284:
0x00015f34 bl 0x11200 | fprintf (r0, " offset=%d reason=%d", r2, r3)
0x00015f38 b 0x13fe0 | goto label_51;
| label_283:
0x00015f3c mov r2, r6 | r2 = r6;
0x00015f40 ldr r1, [pc, 0x1a8] | r1 = "Error__d__bad_UTF__d_offset_";
0x00015f44 b 0x143c4 | goto label_85;
| label_274:
0x00015f48 ldr r3, [sp, 0x4c] | r3 = *(arg_4ch);
0x00015f4c cmp r3, 1 |
| if (r3 > 1) {
0x00015f50 ldrle r1, [r4, 0xc] | r1 = *((r4 + 0xc));
| }
| if (r3 <= 1) {
0x00015f54 ldrle r0, [pc, 0x198] | r0 = "Cannot_do_global_matching_with_an_ovector_size___2";
| goto label_287;
| }
| if (r3 <= 1) {
| label_287:
0x00015f58 ble 0x1517c | goto label_78;
| }
0x00015f5c ldr r3, [sp, 0x54] | r3 = *(arg_54h);
0x00015f60 ldm r3, {r2, r3} | r2 = *(r3);
| r3 = *((r3 + 4));
0x00015f64 cmp r2, r3 |
| if (r2 != r3) {
0x00015f68 bne 0x1600c | void (*0x1600c)() ();
| }
| label_273:
0x00015fc8 str r3, [sp, 0x80] | *(arg_80h) = r3;
0x00015fcc str r3, [sp, 0x94] | *(arg_94h) = r3;
0x00015fd0 b 0x13fe0 | goto label_51;
| label_269:
0x00015fd4 ldr r3, [sp, 0x8c] | r3 = *(arg_8ch);
0x00015fd8 str r3, [sp, 0x78] | *(arg_78h) = r3;
0x00015fdc b 0x135e4 | goto label_86;
| label_169:
0x00015fe0 ldr r3, [pc, 0x114] | r3 = *(0x160f8);
0x00015fe4 mov r0, 0xa | r0 = 0xa;
0x00015fe8 ldr r1, [r3, 0xc] | r1 = *(0x16104);
0x00015fec bl 0x112f0 | fputc (r0, r1);
| label_168:
0x00015ff0 mov r3, 0 | r3 = 0;
0x00015ff4 b 0x12b70 | goto label_87;
| label_170:
0x00015ff8 cmp r8, 0 |
| if (r8 != 0) {
0x00015ffc moveq r7, r8 | r7 = r8;
| }
| if (r8 == 0) {
0x00016000 moveq sl, r7 | sl = r7;
| goto label_288;
| }
| if (r8 == 0) {
| label_288:
0x00016004 beq 0x12604 | goto label_33;
| }
0x00016008 b 0x13838 | goto label_88;
| }
[*] Function printf used 79 times pcretest