[*] Binary protection state of pcretest

  
  	Partial RELRO  No Canary found   NX disabled  No PIE       No RPATH     No RUNPATH   No Symbols


[*] Function fprintf 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 @ 0x165dc */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000165dc ()              | void fcn_000165dc (int32_t arg1) {
                                         |     r0 = arg1;
    0x000165dc push {r4, r5, r6, lr}     |     
    0x000165e0 mov r5, r0                |     r5 = r0;
    0x000165e4 bl 0x111b8                |     r0 = malloc (r0);
    0x000165e8 mov r4, r0                |     r4 = r0;
    0x000165ec ldr r0, [pc, 0x24]        |     r0 = *(0x16614);
    0x000165f0 ldr r3, [r0, 8]           |     r3 = "malloc________3d__p";
    0x000165f4 cmp r3, 0                 |     
                                         |     if (r3 != 0) {
    0x000165f8 beq 0x16610               |         
    0x000165fc mov r3, r4                |         r3 = r4;
    0x00016600 mov r2, r5                |         r2 = r5;
    0x00016604 ldr r1, [pc, 0x10]        |         r1 = *(0x16618);
    0x00016608 ldr r0, [r0, 0xc]         |         r0 = *((r0 + 0xc));
    0x0001660c bl 0x11200                |         fprintf (r0, r1, r2, r3)
                                         |     }
    0x00016610 mov r0, r4                |     r0 = r4;
    0x00016614 pop {r4, r5, r6, pc}      |     
                                         | }
    ; 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 @ 0x16620 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) fcn.00016620 ()                                  | void fcn_00016620 (int32_t arg_38h, int32_t arg_3ch, int32_t arg_40h, int32_t arg_44h, int32_t arg_48h, int32_t arg_4ch, int32_t arg_50h, int32_t arg_54h, int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     int32_t var_8h;
                                                             |     int32_t var_ch;
                                                             |     int32_t var_14h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00016620 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00016624 sub sp, sp, 0x14                              |     
    0x00016628 mov sl, r2                                    |     sl = r2;
    0x0001662c mov fp, r3                                    |     
    0x00016630 ldr r2, [sp, 0x48]                            |     r2 = *(arg_48h);
    0x00016634 ldr r3, [r1]                                  |     r3 = *(r1);
    0x00016638 mov sb, r0                                    |     sb = r0;
    0x0001663c orr r3, r3, r2                                |     r3 |= r2;
    0x00016640 mov r5, r1                                    |     r5 = r1;
    0x00016644 mvn r6, 0                                     |     r6 = ~0;
    0x00016648 mov r4, 0x40                                  |     r4 = 0x40;
    0x0001664c mov r8, 0                                     |     r8 = 0;
    0x00016650 str r3, [r1]                                  |     *(r1) = r3;
                                                             |     do {
    0x00016654 ldr r3, [sp, 0x4c]                            |         r3 = *(arg_4ch);
    0x00016658 mov r2, sl                                    |         r2 = sl;
    0x0001665c str r4, [r3]                                  |         *(r3) = r4;
    0x00016660 ldr r3, [sp, 0x44]                            |         r3 = *(arg_44h);
    0x00016664 mov r1, r5                                    |         r1 = r5;
    0x00016668 str r3, [sp, 0xc]                             |         var_ch = r3;
    0x0001666c ldr r3, [sp, 0x40]                            |         r3 = *(arg_40h);
    0x00016670 mov r0, sb                                    |         r0 = sb;
    0x00016674 str r3, [sp, 8]                               |         var_8h = r3;
    0x00016678 ldr r3, [sp, 0x3c]                            |         r3 = *(arg_3ch);
    0x0001667c str r3, [sp, 4]                               |         var_4h = r3;
    0x00016680 ldr r3, [sp, 0x38]                            |         r3 = *(arg_38h);
    0x00016684 str r3, [sp]                                  |         *(sp) = r3;
    0x00016688 mov r3, fp                                    |         r3 = fp;
    0x0001668c bl 0x113b0                                    |         pcre_exec ();
    0x00016690 ldr r3, [sp, 0x50]                            |         r3 = *(arg_50h);
    0x00016694 cmp r0, r3                                    |         
    0x00016698 mov r7, r0                                    |         r7 = r0;
                                                             |         if (r0 != r3) {
    0x0001669c bne 0x166d0                                   |             goto label_1;
                                                             |         }
    0x000166a0 sub r3, r6, 1                                 |         r3 = r6 - 1;
    0x000166a4 cmp r3, r4                                    |         
                                                             |         if (r3 != r4) {
    0x000166a8 moveq r3, r6                                  |             r3 = r6;
                                                             |         }
                                                             |         if (r3 != r4) {
    0x000166ac beq 0x166c4                                   |             
    0x000166b0 cmp r6, 0                                     |             
                                                             |             if (r6 <= 0) {
    0x000166b4 addgt r3, r4, r6                              |                 r3 = r4 + r6;
                                                             |             }
                                                             |             if (r6 <= 0) {
    0x000166b8 addgt r3, r3, r3, lsr 31                      |                 r3 += (r3 >> 31);
                                                             |             }
    0x000166bc asrgt r3, r3, 1                               |             __asm ("asrgt r3, r3, 1");
                                                             |             if (r6 <= 0) {
    0x000166c0 lslle r3, r4, 1                               |                 r3 = r4 << 1;
                                                             |                 goto label_0;
                                                             |             }
                                                             |         }
                                                             | label_0:
    0x000166c4 mov r8, r4                                    |         r8 = r4;
    0x000166c8 mov r4, r3                                    |         r4 = r3;
    0x000166cc b 0x16654                                     |         
                                                             |     } while (1);
                                                             | label_1:
    0x000166d0 cmn r0, 0xc                                   |     
    0x000166d4 cmnne r0, 1                                   |     __asm ("cmnne r0, 1");
                                                             |     if (r0 >= 0xc) {
    0x000166d8 blt 0x16700                                   |         
    0x000166dc add r3, r8, 1                                 |         r3 = r8 + 1;
    0x000166e0 cmp r3, r4                                    |         
                                                             |         if (r3 != r4) {
    0x000166e4 bne 0x1671c                                   |             goto label_2;
                                                             |         }
    0x000166e8 ldr r0, [pc, 0x44]                            |         
    0x000166ec mov r3, r4                                    |         r3 = r4;
    0x000166f0 ldr r2, [sp, 0x54]                            |         r2 = *(arg_54h);
    0x000166f4 ldr r1, [pc, 0x3c]                            |         r1 = *(0x16734);
    0x000166f8 ldr r0, [r0, 0xc]                             |         r0 = *(0x1673c);
    0x000166fc bl 0x11200                                    |         fprintf (r0, r1, r2, r3)
                                                             |     }
    0x00016700 ldr r3, [r5]                                  |     r3 = *(r5);
    0x00016704 ldr r2, [sp, 0x48]                            |     r2 = *(arg_48h);
    0x00016708 mov r0, r7                                    |     r0 = r7;
    0x0001670c bic r3, r3, r2                                |     r3 = BIT_MASK (r3, r2);
    0x00016710 str r3, [r5]                                  |     *(r5) = r3;
    0x00016714 add sp, sp, 0x14                              |     
    0x00016718 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}      |     
                                                             | label_2:
    0x0001671c add r3, r8, r4                                |     r3 = r8 + r4;
    0x00016720 add r3, r3, r3, lsr 31                        |     r3 += (r3 >> 31);
    0x00016724 mov r6, r4                                    |     r6 = r4;
    0x00016728 asr r3, r3, 1                                 |     r3 >>= 1;
    0x0001672c mov r4, r8                                    |     r4 = r8;
    0x00016730 b 0x166c4                                     |     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 @ 0x16778 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00016778 ()              | void fcn_00016778 (int32_t arg1) {
                                         |     r0 = arg1;
    0x00016778 ldr r3, [pc, 0x2c]        |     r3 = *(0x167a8);
    0x0001677c push {r4, lr}             |     
    0x00016780 ldr r2, [r3, 8]           |     r2 = "free             %p\n";
    0x00016784 mov r4, r0                |     r4 = r0;
    0x00016788 cmp r2, 0                 |     
                                         |     if (r2 != 0) {
    0x0001678c beq 0x167a0               |         
    0x00016790 mov r2, r0                |         r2 = r0;
    0x00016794 ldr r1, [pc, 0x14]        |         r1 = *(0x167ac);
    0x00016798 ldr r0, [r3, 0xc]         |         r0 = *((r3 + 0xc));
    0x0001679c bl 0x11200                |         fprintf (r0, r1, r2)
                                         |     }
    0x000167a0 mov r0, r4                |     r0 = r4;
    0x000167a4 pop {r4, lr}              |     
    0x000167a8 b 0x113d4                 |     return void (*0x113d4)() ();
                                         | }
    ; 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 @ 0x16918 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) fcn.00016918 ()                      | void fcn_00016918 (int32_t arg1, int32_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x00016918 push {r4, r5, r6, r7, r8, lr}     |     
    0x0001691c mov r5, r1                        |     r5 = r1;
    0x00016920 mov r7, r2                        |     r7 = r2;
    0x00016924 ldr r1, [pc, 0x120]               |     r1 = *(0x16a48);
    0x00016928 mov r2, 3                         |     r2 = 3;
    0x0001692c mov r4, r0                        |     r4 = r0;
    0x00016930 mov r6, r3                        |     r6 = r3;
    0x00016934 bl 0x163e0                        |     r0 = fcn_000163e0 (r0, r1);
    0x00016938 cmp r0, 0                         |     
                                                 |     if (r0 != 0) {
    0x0001693c beq 0x16a0c                       |         
    0x00016940 mov r2, 3                         |         r2 = 3;
    0x00016944 ldr r1, [pc, 0x104]               |         r1 = *(0x16a4c);
    0x00016948 mov r0, r4                        |         r0 = r4;
    0x0001694c bl 0x163e0                        |         r0 = fcn_000163e0 (r0, r1);
    0x00016950 cmp r0, 0                         |         
                                                 |         if (r0 == 0) {
    0x00016954 beq 0x16a14                       |             goto label_0;
                                                 |         }
    0x00016958 mov r2, 5                         |         r2 = 5;
    0x0001695c ldr r1, [pc, 0xf0]                |         r1 = *(0x16a50);
    0x00016960 mov r0, r4                        |         r0 = r4;
    0x00016964 bl 0x163e0                        |         r0 = fcn_000163e0 (r0, r1);
    0x00016968 cmp r0, 0                         |         
                                                 |         if (r0 == 0) {
    0x0001696c beq 0x16a1c                       |             goto label_1;
                                                 |         }
    0x00016970 mov r2, 8                         |         r2 = 8;
    0x00016974 ldr r1, [pc, 0xdc]                |         r1 = *(0x16a54);
    0x00016978 mov r0, r4                        |         r0 = r4;
    0x0001697c bl 0x163e0                        |         r0 = fcn_000163e0 (r0, r1);
    0x00016980 cmp r0, 0                         |         
                                                 |         if (r0 == 0) {
    0x00016984 beq 0x16a24                       |             goto label_2;
                                                 |         }
    0x00016988 mov r2, 4                         |         r2 = 4;
    0x0001698c ldr r1, [pc, 0xc8]                |         r1 = "anycrlf_";
    0x00016990 mov r0, r4                        |         r0 = r4;
    0x00016994 bl 0x163e0                        |         r0 = fcn_000163e0 (r0, "anycrlf_");
    0x00016998 cmp r0, 0                         |         
                                                 |         if (r0 == 0) {
    0x0001699c beq 0x16a2c                       |             goto label_3;
                                                 |         }
    0x000169a0 mov r2, 0xc                       |         r2 = 0xc;
    0x000169a4 ldr r1, [pc, 0xb4]                |         r1 = "any>";
    0x000169a8 mov r0, r4                        |         r0 = r4;
    0x000169ac bl 0x163e0                        |         r0 = fcn_000163e0 (r0, "any>");
    0x000169b0 cmp r0, 0                         |         
                                                 |         if (r0 == 0) {
    0x000169b4 beq 0x16a34                       |             goto label_4;
                                                 |         }
    0x000169b8 mov r2, 0xc                       |         r2 = 0xc;
    0x000169bc ldr r1, [pc, 0xa0]                |         r1 = "bsr_anycrlf_";
    0x000169c0 mov r0, r4                        |         r0 = r4;
    0x000169c4 bl 0x163e0                        |         r0 = fcn_000163e0 (r0, "bsr_anycrlf_");
    0x000169c8 cmp r0, 0                         |         
                                                 |         if (r0 == 0) {
    0x000169cc beq 0x16a3c                       |             goto label_5;
                                                 |         }
    0x000169d0 cmp r7, 0                         |         
                                                 |         if (r7 == 0) {
    0x000169d4 bne 0x169f0                       |             
    0x000169d8 mov r2, 3                         |             r2 = 3;
    0x000169dc ldr r1, [pc, 0x84]                |             r1 = "bsr_unicode>";
    0x000169e0 mov r0, r4                        |             r0 = r4;
    0x000169e4 bl 0x163e0                        |             r0 = fcn_000163e0 (r0, "bsr_unicode>");
    0x000169e8 cmp r0, 0                         |             
                                                 |             if (r0 == 0) {
    0x000169ec beq 0x16a44                       |                 goto label_6;
                                                 |             }
                                                 |         }
    0x000169f0 mov r3, r4                        |         r3 = r4;
    0x000169f4 mov r2, r6                        |         r2 = r6;
    0x000169f8 ldr r1, [pc, 0x6c]                |         r1 = "JS_";
    0x000169fc mov r0, r5                        |         r0 = r5;
    0x00016a00 bl 0x11200                        |         fprintf (r0, "JS_", r2, r3)
    0x00016a04 mov r0, 0                         |         r0 = 0;
    0x00016a08 pop {r4, r5, r6, r7, r8, pc}      |         
                                                 |     }
    0x00016a0c mov r0, 0x100000                  |     r0 = 0x100000;
    0x00016a10 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_0:
    0x00016a14 mov r0, 0x200000                  |     r0 = 0x200000;
    0x00016a18 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_1:
    0x00016a1c mov r0, 0x300000                  |     r0 = 0x300000;
    0x00016a20 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_2:
    0x00016a24 mov r0, 0x500000                  |     r0 = 0x500000;
    0x00016a28 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_3:
    0x00016a2c mov r0, 0x400000                  |     r0 = 0x400000;
    0x00016a30 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_4:
    0x00016a34 mov r0, 0x800000                  |     r0 = 0x800000;
    0x00016a38 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_5:
    0x00016a3c mov r0, 0x1000000                 |     r0 = 0x1000000;
    0x00016a40 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | label_6:
    0x00016a44 mov r0, 0x2000000                 |     r0 = 0x2000000;
    0x00016a48 pop {r4, r5, r6, r7, r8, pc}      |     
                                                 | }
    ; 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 @ 0x16a70 */
                                                     | #include <stdint.h>
                                                     |  
                                                     | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                     |  
    ; (fcn) fcn.00016a70 ()                          | void fcn_00016a70 (int32_t arg1, int32_t arg2) {
                                                     |     char * s;
                                                     |     int32_t var_14h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00016a70 push {r0, r1, r2, r3, r4, lr}         |     
    0x00016a74 ldr r3, [pc, 0xd8]                    |     r3 = *(0x16b50);
    0x00016a78 mov r2, r0                            |     r2 = r0;
    0x00016a7c mov r0, r1                            |     r0 = r1;
    0x00016a80 ldr r1, [r3, 0x18]                    |     r1 = *(0x16b68);
    0x00016a84 cmp r1, 0                             |     
    0x00016a88 mov r1, r3                            |     r1 = r3;
                                                     |     if (r1 == 0) {
    0x00016a8c beq 0x16ad4                           |         goto label_0;
                                                     |     }
    0x00016a90 cmp r2, 0xff                          |     
                                                     |     if (r2 > 0xff) {
    0x00016a94 ldrls r3, [pc, 0xbc]                  |         r3 = obj.__ctype_b;
                                                     |     }
                                                     |     if (r2 <= 0xff) {
    0x00016a98 movhi r3, 0                           |         r3 = 0;
                                                     |     }
                                                     |     if (r2 > 0xff) {
    0x00016a9c ldrls ip, [r3]                        |         ip = *(r3);
                                                     |     }
                                                     |     if (r2 > 0xff) {
    0x00016aa0 lslls r3, r2, 1                       |         r3 = r2 << 1;
                                                     |     }
    0x00016aa4 ldrhls r3, [ip, r3]                   |     __asm ("ldrhls r3, [ip, r3]");
                                                     |     if (r2 > 0xff) {
    0x00016aa8 lsrls r3, r3, 6                       |         r3 >>= 6;
                                                     |     }
                                                     |     if (r2 > 0xff) {
    0x00016aac andls r3, r3, 1                       |         r3 &= 1;
                                                     |     }
    0x00016ab0 and r3, r3, 1                         |     r3 &= 1;
                                                     |     do {
    0x00016ab4 cmp r3, 0                             |         
                                                     |         if (r3 == 0) {
    0x00016ab8 beq 0x16ae8                           |             goto label_1;
                                                     |         }
    0x00016abc cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x00016ac0 beq 0x16acc                           |             
    0x00016ac4 ldr r1, [pc, 0x90]                    |             r1 = __ctype_b;
    0x00016ac8 bl 0x11200                            |             fprintf (r0, r1)
                                                     |         }
    0x00016acc mov r0, 1                             |         r0 = 1;
    0x00016ad0 b 0x16b40                             |         goto label_2;
                                                     | label_0:
    0x00016ad4 sub r3, r2, 0x20                      |         r3 = r2 - 0x20;
    0x00016ad8 cmp r3, 0x5e                          |         
                                                     |         if (r3 <= 0x5e) {
    0x00016adc movhi r3, 0                           |             r3 = 0;
                                                     |         }
                                                     |         if (r3 > 0x5e) {
    0x00016ae0 movls r3, 1                           |             r3 = 1;
                                                     |         }
    0x00016ae4 b 0x16ab4                             |         
                                                     |     } while (1);
                                                     | label_1:
    0x00016ae8 cmp r2, 0xff                          |     
                                                     |     if (r2 <= 0xff) {
    0x00016aec bhi 0x16b2c                           |         
    0x00016af0 ldr r3, [r1, 0x1c]                    |         r3 = *((r1 + 0x1c));
    0x00016af4 cmp r3, 0                             |         
                                                     |         if (r3 != 0) {
    0x00016af8 beq 0x16b14                           |             
    0x00016afc cmp r0, 0                             |             
                                                     |             if (r0 != 0) {
    0x00016b00 beq 0x16b0c                           |                 
    0x00016b04 ldr r1, [pc, 0x54]                    |                 r1 = "_c";
    0x00016b08 bl 0x11200                            |                 fprintf (r0, "_c")
                                                     |             }
    0x00016b0c mov r0, 6                             |             r0 = 6;
    0x00016b10 b 0x16b40                             |             goto label_2;
                                                     |         }
    0x00016b14 cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x00016b18 beq 0x16b24                           |             
    0x00016b1c ldr r1, [pc, 0x40]                    |             r1 = "\\x{%02x}";
    0x00016b20 bl 0x11200                            |             fprintf (r0, "\\x{%02x}")
                                                     |         }
    0x00016b24 mov r0, 4                             |         r0 = 4;
    0x00016b28 b 0x16b40                             |         goto label_2;
                                                     |     }
    0x00016b2c cmp r0, 0                             |     
    0x00016b30 ldr r1, [pc, 0x28]                    |     r1 = "_c";
                                                     |     if (r0 == 0) {
    0x00016b34 beq 0x16b48                           |         goto label_3;
                                                     |     }
    0x00016b38 bl 0x11200                            |     r0 = fprintf (r0, r1)
                                                     |     do {
    0x00016b3c bic r0, r0, r0, asr 31                |         r0 = BIT_MASK (r0, r0);
                                                     | label_2:
    0x00016b40 add sp, sp, 0x14                      |         
    0x00016b44 pop {pc}                              |         
                                                     | label_3:
    0x00016b48 mov r0, sp                            |         r0 = sp;
    0x00016b4c bl 0x112c0                            |         sprintf (r0, r1, r2);
    0x00016b50 b 0x16b3c                             |         
                                                     |     } while (1);
                                                     | }
    ; 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 @ 0x1705c */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) fcn.0001705c ()                              | void fcn_0001705c (int32_t arg1) {
                                                         |     int32_t var_0h;
                                                         |     int32_t var_ch;
                                                         |     r0 = arg1;
    0x0001705c push {r0, r1, r2, r4, r5, r6, r7, lr}     |     
    0x00017060 ldr r5, [pc, 0x94]                        |     r5 = *(0x170f8);
    0x00017064 mov r6, r0                                |     r6 = r0;
    0x00017068 ldr ip, [r5, 0x38]                        |     ip = *(0x17130);
    0x0001706c mov r7, r2                                |     r7 = r2;
    0x00017070 sub ip, ip, 1                             |     
    0x00017074 cmp ip, 1                                 |     
                                                         |     if (ip > 1) {
    0x00017078 mvnls r4, 0x1b                            |         r4 = ~0x1b;
                                                         |     }
                                                         |     if (ip >= 1) {
    0x0001707c bls 0x17088                               |         
    0x00017080 bl 0x111a0                                |         r0 = pcre_fullinfo ();
    0x00017084 mov r4, r0                                |         r4 = r0;
                                                         |     }
    0x00017088 adds r3, r4, 0x21                         |     r3 = r4 + 0x21;
                                                         |     if (r3 == r4) {
    0x0001708c movne r3, 1                               |         r3 = 1;
                                                         |     }
    0x00017090 ands r3, r3, r4, lsr 31                   |     r3 &= (r4 >> 31);
                                                         |     if (r3 != r3) {
    0x00017094 beq 0x170f0                               |         
    0x00017098 ldr r2, [r5, 0x38]                        |         r2 = *((r5 + 0x38));
    0x0001709c ldr r0, [r5, 0xc]                         |         r0 = *((r5 + 0xc));
    0x000170a0 cmp r2, 2                                 |         
                                                         |         if (r2 != 2) {
    0x000170a4 ldreq r3, [pc, 0x54]                      |             r3 = *(0x00017100);
                                                         |         }
                                                         |         if (r2 != 2) {
    0x000170a8 beq 0x170bc                               |             
    0x000170ac ldr r1, [pc, 0x50]                        |             r1 = *(0x17100);
    0x000170b0 cmp r2, 1                                 |             
    0x000170b4 ldr r3, [pc, 0x4c]                        |             r3 = *(0x17104);
                                                         |             if (r2 != 1) {
    0x000170b8 movne r3, r1                              |                 r3 = r1;
                                                         |                 goto label_0;
                                                         |             }
                                                         |         }
                                                         | label_0:
    0x000170bc str r7, [sp]                              |         *(sp) = r7;
    0x000170c0 mov r2, r4                                |         r2 = r4;
    0x000170c4 ldr r1, [pc, 0x40]                        |         r1 = *(0x17108);
    0x000170c8 bl 0x11200                                |         fprintf (r0, r1, r2, r3)
    0x000170cc cmn r4, 0x1c                              |         
                                                         |         if (r4 != 0x1c) {
    0x000170d0 bne 0x170f0                               |             goto label_1;
                                                         |         }
    0x000170d4 ldr r3, [r6, 0xc]                         |         r3 = *((r6 + 0xc));
    0x000170d8 mov r2, 8                                 |         r2 = 8;
    0x000170dc and r3, r3, 7                             |         r3 &= 7;
    0x000170e0 lsl r3, r3, 3                             |         r3 <<= 3;
    0x000170e4 ldr r1, [pc, 0x24]                        |         r1 = "Error %d from pcre%s_fullinfo(%d)\n";
    0x000170e8 ldr r0, [r5, 0xc]                         |         r0 = *((r5 + 0xc));
    0x000170ec bl 0x11200                                |         fprintf (r0, "Error %d from pcre%s_fullinfo(%d)\n", r2, r3)
                                                         |     }
                                                         | label_1:
    0x000170f0 mov r0, r4                                |     r0 = r4;
    0x000170f4 add sp, sp, 0xc                           |     
    0x000170f8 pop {r4, r5, r6, r7, pc}                  |     
                                                         | }
    ; 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 @ 0x1718c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.0001718c ()                          | void fcn_0001718c (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x0001718c push {r4, r5, r6, r7, r8, lr}         |     
    0x00017190 ldr r6, [pc, 0x30]                    |     r6 = *(0x171c4);
    0x00017194 ldr r7, [pc, 0x30]                    |     r7 = "\\x{%x}";
    0x00017198 mov r5, r0                            |     r5 = r0;
    0x0001719c sub r4, r1, 1                         |     r4 = r1 - 1;
                                                     |     do {
    0x000171a0 ldrb r2, [r4, 1]!                     |         r2 = *((r4 += 1));
    0x000171a4 cmp r2, 0                             |         
    0x000171a8 popeq {r4, r5, r6, r7, r8, pc}        |         
    0x000171ac sub r3, r2, 0x20                      |         r3 = r2 - 0x20;
    0x000171b0 cmp r3, 0x5e                          |         
                                                     |         if (r3 > 0x5e) {
    0x000171b4 movls r1, r7                          |             r1 = r7;
                                                     |         }
                                                     |         if (r3 <= 0x5e) {
    0x000171b8 movhi r1, r6                          |             r1 = r6;
                                                     |         }
    0x000171bc mov r0, r5                            |         r0 = r5;
    0x000171c0 bl 0x11200                            |         fprintf (r0, r1, r2, r3, r4, r5, r6)
    0x000171c4 b 0x171a0                             |         
                                                     |     } while (1);
                                                     | }
    ; 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 @ 0x171d0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000171d0 ()                  | void fcn_000171d0 (int32_t arg2, FILE * stream) {
                                             |     r1 = arg2;
                                             |     r0 = stream;
    0x000171d0 cmp r2, 0                     |     
    0x000171d4 push {r4, r5, r6, lr}         |     
    0x000171d8 ldrb r3, [r1]                 |     r3 = *(r1);
                                             |     if (r2 != 0) {
    0x000171dc beq 0x171ec                   |         
    0x000171e0 and r2, r3, 0xc0              |         r2 = r3 & 0xc0;
    0x000171e4 cmp r2, 0xc0                  |         
                                             |         if (r2 == 0xc0) {
    0x000171e8 beq 0x17224                   |             goto label_0;
                                             |         }
                                             |     }
    0x000171ec sub r2, r3, 0x20              |     r2 = r3 - 0x20;
    0x000171f0 cmp r2, 0x5e                  |     
                                             |     if (r2 > 0x5e) {
    0x000171f4 bhi 0x1720c                   |         goto label_1;
                                             |     }
    0x000171f8 mov r1, r0                    |     r1 = r0;
    0x000171fc mov r0, r3                    |     r0 = r3;
    0x00017200 bl 0x112f0                    |     fputc (r0, r1);
                                             |     do {
    0x00017204 mov r0, 0                     |         r0 = 0;
    0x00017208 pop {r4, r5, r6, pc}          |         
                                             | label_1:
    0x0001720c cmp r3, 0x7f                  |         
    0x00017210 mov r2, r3                    |         r2 = r3;
                                             |         if (r3 <= 0x7f) {
    0x00017214 ldrhi r1, [pc, 0x84]          |             r1 = *((pc + 0x84));
                                             |         }
                                             |         if (r3 > 0x7f) {
    0x00017218 ldrls r1, [pc, 0x84]          |             r1 = "_x_02x";
                                             |         }
    0x0001721c bl 0x11200                    |         fprintf (r0, r1, r2, r3)
    0x00017220 b 0x17204                     |         
                                             |     } while (1);
                                             | label_0:
    0x00017224 ldr ip, [pc, 0x7c]            |     ip = "_x_02x";
    0x00017228 and r2, r3, 0x3f              |     r2 = r3 & 0x3f;
    0x0001722c ldrb r4, [ip, r2]             |     r4 = *((ip + r2));
    0x00017230 ldr r2, [pc, 0x74]            |     
    0x00017234 add ip, r4, r4, lsl 1         |     
    0x00017238 ldr r2, [r2, r4, lsl 2]       |     r2 = *(0x172a8);
    0x0001723c lsl ip, ip, 1                 |     
    0x00017240 and r2, r2, r3                |     r2 &= r3;
    0x00017244 lsl r2, r2, ip                |     r2 <<= ip;
    0x00017248 mov r5, 1                     |     r5 = 1;
    0x0001724c mov r6, 6                     |     r6 = 6;
                                             |     do {
    0x00017250 cmp r5, r4                    |         
                                             |         if (r5 > r4) {
    0x00017254 ble 0x17268                   |             
    0x00017258 ldr r1, [pc, 0x50]            |             r1 = *(0x172ac);
    0x0001725c bl 0x11200                    |             fprintf (r0, r1)
    0x00017260 mov r0, r4                    |             r0 = r4;
    0x00017264 pop {r4, r5, r6, pc}          |             
                                             |         }
    0x00017268 ldrb r3, [r1, r5]             |         r3 = *((r1 + r5));
    0x0001726c and lr, r3, 0xc0              |         lr = r3 & 0xc0;
    0x00017270 cmp lr, 0x80                  |         
                                             |         if (lr != 0x80) {
    0x00017274 beq 0x17288                   |             
    0x00017278 ldr r1, [pc, 0x34]            |             r1 = "\\x{%x}";
    0x0001727c bl 0x11200                    |             fprintf (r0, "\\x{%x}")
    0x00017280 sub r0, r5, 1                 |             r0 = r5 - 1;
    0x00017284 pop {r4, r5, r6, pc}          |             
                                             |         }
    0x00017288 mul lr, r6, r5                |         lr = r6 * r5;
    0x0001728c and r3, r3, 0x3f              |         r3 &= 0x3f;
    0x00017290 sub lr, ip, lr                |         lr = ip - lr;
    0x00017294 orr r2, r2, r3, lsl lr        |         r2 |= (r3 << lr);
    0x00017298 add r5, r5, 1                 |         r5++;
    0x0001729c b 0x17250                     |         
                                             |     } while (1);
                                             | }
    ; 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 @ 0x172b8 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) fcn.000172b8 ()                              | void fcn_000172b8 (int32_t arg1, int32_t arg2) {
                                                         |     int32_t var_8h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x000172b8 push {r0, r1, r4, r5, r6, r7, r8, lr}     |     
    0x000172bc ldrb r4, [r1]                             |     r4 = *(r1);
    0x000172c0 mov r6, r3                                |     r6 = r3;
    0x000172c4 ldrb r3, [r1, 1]                          |     r3 = *((r1 + 1));
    0x000172c8 mov r5, r0                                |     r5 = r0;
    0x000172cc cmp r3, 9                                 |     
    0x000172d0 ldrb r7, [r1, 2]                          |     r7 = *((r1 + 2));
                                                         |     if (r3 != 9) {
    0x000172d4 beq 0x1730c                               |         
    0x000172d8 mov r1, r7                                |         r1 = r7;
    0x000172dc mov r0, r3                                |         r0 = r3;
    0x000172e0 mov r8, r2                                |         r8 = r2;
    0x000172e4 bl 0x17114                                |         fcn_00017114 (r0, r1);
    0x000172e8 ldr r3, [pc, 0x70]                        |         
    0x000172ec mov r2, r8                                |         r2 = r8;
    0x000172f0 ldr r3, [r3, r4, lsl 2]                   |         r3 = *(0x1735c);
    0x000172f4 ldr r1, [pc, 0x68]                        |         r1 = "End";
    0x000172f8 stm sp, {r0, r6}                          |         *(sp) = r0;
                                                         |         *((sp + 4)) = r6;
    0x000172fc mov r0, r5                                |         r0 = r5;
    0x00017300 bl 0x11200                                |         fprintf (r0, "End", r2, r3)
    0x00017304 add sp, sp, 8                             |         
    0x00017308 pop {r4, r5, r6, r7, r8, pc}              |         
                                                         |     }
    0x0001730c ldr r1, [pc, 0x54]                        |     r1 = "_s_s__s_s";
    0x00017310 cmp r4, 0x10                              |     
    0x00017314 ldr r3, [pc, 0x50]                        |     r3 = "not ";
                                                         |     if (r4 == 0x10) {
    0x00017318 movne r3, r1                              |         r3 = r1;
                                                         |     }
    0x0001731c ldr r1, [pc, 0x4c]                        |     r1 = *(0x1736c);
    0x00017320 bl 0x11200                                |     fprintf (r0, "_s_s__s_s", r2, "not ", r4)
    0x00017324 ldr r4, [pc, 0x48]                        |     r4 = "_s_sclist";
    0x00017328 add r4, r4, r7, lsl 2                     |     r4 += (r7 << 2);
    0x0001732c ldr r7, [pc, 0x44]                        |     r7 = "bad_length";
                                                         |     do {
    0x00017330 ldr r2, [r4, 4]!                          |         r2 = *((r4 += 4));
    0x00017334 cmn r2, 1                                 |         
                                                         |         if (r2 == 1) {
    0x00017338 bne 0x17350                               |             
    0x0001733c mov r1, r5                                |             r1 = r5;
    0x00017340 mov r0, r6                                |             r0 = r6;
    0x00017344 add sp, sp, 8                             |             
    0x00017348 pop {r4, r5, r6, r7, r8, lr}              |             
    0x0001734c b 0x11398                                 |             void (*0x11398)() ();
                                                         |         }
    0x00017350 mov r1, r7                                |         r1 = r7;
    0x00017354 mov r0, r5                                |         r0 = r5;
    0x00017358 bl 0x11200                                |         fprintf (r0, r1)
    0x0001735c b 0x17330                                 |         
                                                         |     } while (1);
                                                         | }
    ; 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 @ 0x1737c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.0001737c ()                                  | void fcn_0001737c (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_ch;
                                                             |     int32_t var_10h;
                                                             |     int32_t var_14h;
                                                             |     int32_t var_18h;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_0h;
                                                             |     int32_t var_4h;
                                                             |     char * format;
                                                             |     FILE * stream;
                                                             |     int32_t var_14h_2;
                                                             |     int32_t var_18h_2;
                                                             |     int32_t var_20h;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0001737c push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00017380 ldr r3, [r0, 8]                               |     r3 = *((r0 + 8));
    0x00017384 sub sp, sp, 0x4c                              |     
    0x00017388 mov r4, r1                                    |     r4 = r1;
    0x0001738c str r2, [sp, 0x18]                            |     var_18h = r2;
    0x00017390 ldrh r1, [r0, 0x24]                           |     r1 = *((r0 + 0x24));
    0x00017394 ldrh r2, [r0, 0x22]                           |     r2 = *((r0 + 0x22));
    0x00017398 mov fp, r0                                    |     
    0x0001739c str r2, [sp, 0xc]                             |     var_ch = r2;
    0x000173a0 str r1, [sp, 0x10]                            |     var_10h = r1;
    0x000173a4 ldrh r2, [r0, 0x26]                           |     r2 = *((r0 + 0x26));
    0x000173a8 ldr r1, [pc, 0xe78]                           |     r1 = *(0x18224);
    0x000173ac ldr r0, [r0]                                  |     r0 = *(r0);
    0x000173b0 cmp r0, r1                                    |     
                                                             |     if (r0 != r1) {
    0x000173b4 beq 0x17420                                   |         
    0x000173b8 ldr r1, [sp, 0xc]                             |         r1 = var_ch;
    0x000173bc ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x000173c0 lsr r1, r1, 8                                 |         r1 >>= 8;
    0x000173c4 orr r1, r1, r0, lsl 8                         |         r1 |= (r0 << 8);
    0x000173c8 lsl r1, r1, 0x10                              |         r1 <<= 0x10;
    0x000173cc lsr r1, r1, 0x10                              |         r1 >>= 0x10;
    0x000173d0 str r1, [sp, 0xc]                             |         var_ch = r1;
    0x000173d4 lsr r1, r2, 8                                 |         r1 = r2 >> 8;
    0x000173d8 orr r2, r1, r2, lsl 8                         |         r2 = r1 | (r2 << 8);
    0x000173dc ldr r1, [sp, 0x10]                            |         r1 = var_10h;
    0x000173e0 ldr r0, [sp, 0x10]                            |         r0 = var_10h;
    0x000173e4 lsr r1, r1, 8                                 |         r1 >>= 8;
    0x000173e8 orr r1, r1, r0, lsl 8                         |         r1 |= (r0 << 8);
    0x000173ec lsl r1, r1, 0x10                              |         r1 <<= 0x10;
    0x000173f0 lsr r1, r1, 0x10                              |         r1 >>= 0x10;
    0x000173f4 str r1, [sp, 0x10]                            |         var_10h = r1;
    0x000173f8 lsr r1, r3, 0x18                              |         r1 = r3 >> 0x18;
    0x000173fc lsr r0, r3, 8                                 |         r0 = r3 >> 8;
    0x00017400 orr r1, r1, r3, lsl 24                        |         r1 |= (r3 << 24);
    0x00017404 lsl r3, r3, 8                                 |         r3 <<= 8;
    0x00017408 and r3, r3, 0xff0000                          |         r3 &= 0xff0000;
    0x0001740c lsl r2, r2, 0x10                              |         r2 <<= 0x10;
    0x00017410 and r0, r0, 0xff00                            |         r0 &= 0xff00;
    0x00017414 orr r3, r1, r3                                |         r3 = r1 | r3;
    0x00017418 lsr r2, r2, 0x10                              |         r2 >>= 0x10;
    0x0001741c orr r3, r0, r3                                |         r3 = r0 | r3;
                                                             |     }
    0x00017420 ldr r1, [sp, 0x10]                            |     r1 = var_10h;
    0x00017424 ldr r0, [sp, 0xc]                             |     r0 = var_ch;
    0x00017428 ldr sb, [pc, 0xdfc]                           |     sb = "End";
    0x0001742c mla r1, r2, r1, r0                            |     __asm ("mla r1, r2, r1, r0");
    0x00017430 lsr r3, r3, 0xb                               |     r3 >>= 0xb;
    0x00017434 add r2, fp, r1                                |     r2 = fp + r1;
    0x00017438 and r3, r3, 1                                 |     r3 &= 1;
    0x0001743c mov r5, r2                                    |     r5 = r2;
    0x00017440 str r2, [sp, 0x1c]                            |     var_1ch = r2;
    0x00017444 str r3, [sp, 0x14]                            |     var_14h = r3;
                                                             | label_0:
    0x00017448 ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x0001744c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00017450 beq 0x17708                                   |         goto label_27;
                                                             |     }
    0x00017454 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00017458 ldr r1, [pc, 0xdd0]                           |     r1 = "End";
    0x0001745c sub r2, r5, r3                                |     r2 = r5 - r3;
    0x00017460 mov r0, r4                                    |     r0 = r4;
    0x00017464 bl 0x11200                                    |     fprintf (r0, "End", r2, r3)
                                                             |     do {
    0x00017468 ldrb r3, [r5]                                 |         r3 = *(r5);
    0x0001746c cmp r3, 0xa3                                  |         
                                                             |         if (r3 > 0xa3) {
                                                             |             /* switch table (164 cases) at 0x17478 */
    0x00017470 ldrls pc, [pc, r3, lsl 2]                     |             offset_0 = r3 << 2;
                                                             |             pc = *((pc + offset_0));
                                                             |         }
    0x00017474 b 0x17a1c                                     |         goto label_28;
                                                             | label_27:
    0x00017708 mov r1, r4                                    |         r1 = r4;
    0x0001770c ldr r0, [pc, 0xb20]                           |         r0 = "%3d ";
    0x00017710 bl 0x11398                                    |         fputs ("%3d ", r1);
    0x00017714 b 0x17468                                     |         
                                                             |     } while (1);
    0x00017718 ldr r2, [pc, 0xb18]                           |     r2 = "____";
                                                             | label_15:
    0x0001771c ldrb r3, [r5, 1]                              |     r3 = *((r5 + 1));
    0x00017720 ldrb r1, [r5, 2]                              |     r1 = *((r5 + 2));
    0x00017724 ldr r0, [sp, 0x10]                            |     r0 = stream;
    0x00017728 orr r1, r3, r1, lsl 8                         |     r1 = r3 | (r1 << 8);
    0x0001772c lsr r3, r1, 8                                 |     r3 = r1 >> 8;
    0x00017730 orr r3, r3, r1, lsl 8                         |     r3 |= (r1 << 8);
    0x00017734 ldr r1, [sp, 0xc]                             |     r1 = format;
    0x00017738 lsl r3, r3, 0x10                              |     r3 <<= 0x10;
    0x0001773c lsr r3, r3, 0x10                              |     r3 >>= 0x10;
    0x00017740 add r1, r1, 2                                 |     r1 += 2;
    0x00017744 mla r0, r3, r0, r1                            |     __asm ("mla r0, r3, r0, r1");
    0x00017748 ldr r1, [pc, 0xaec]                           |     r1 = *(0x18238);
    0x0001774c add r6, fp, r0                                |     r6 = fp + r0;
    0x00017750 mov r0, r4                                    |     r0 = r4;
    0x00017754 bl 0x11200                                    |     fprintf (r0, r1, "____", r3, r4, r5, r6)
    0x00017758 mov r1, r6                                    |     r1 = r6;
    0x0001775c mov r0, r4                                    |     r0 = r4;
    0x00017760 bl 0x1718c                                    |     fcn_0001718c (r0, r1);
    0x00017764 ldrb r3, [r5, 4]                              |     r3 = *((r5 + 4));
    0x00017768 ldrb r2, [r5, 3]                              |     r2 = *((r5 + 3));
    0x0001776c ldr r1, [pc, 0xacc]                           |     r1 = " %s \\k<";
    0x00017770 orr r2, r2, r3, lsl 8                         |     r2 |= (r3 << 8);
    0x00017774 lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x00017778 orr r2, r3, r2, lsl 8                         |     r2 = r3 | (r2 << 8);
    0x0001777c lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00017780 lsr r2, r2, 0x10                              |     r2 >>= 0x10;
    0x00017784 mov r0, r4                                    |     r0 = r4;
    0x00017788 bl 0x11200                                    |     fprintf (r0, " %s \\k<", r2, r3)
    0x0001778c b 0x177bc                                     |     goto label_29;
    0x00017790 ldr r2, [pc, 0xaa0]                           |     r2 = "____";
                                                             | label_14:
    0x00017794 ldrb r1, [r5, 2]                              |     r1 = *((r5 + 2));
    0x00017798 ldrb r3, [r5, 1]                              |     r3 = *((r5 + 1));
    0x0001779c mov r0, r4                                    |     r0 = r4;
    0x000177a0 orr r3, r3, r1, lsl 8                         |     r3 |= (r1 << 8);
    0x000177a4 lsr r1, r3, 8                                 |     r1 = r3 >> 8;
    0x000177a8 orr r3, r1, r3, lsl 8                         |     r3 = r1 | (r3 << 8);
    0x000177ac lsl r3, r3, 0x10                              |     r3 <<= 0x10;
    0x000177b0 lsr r3, r3, 0x10                              |     r3 >>= 0x10;
    0x000177b4 ldr r1, [pc, 0xa88]                           |     r1 = *(0x18240);
    0x000177b8 bl 0x11200                                    |     fprintf (r0, r1, "____", r3)
                                                             | label_29:
    0x000177bc ldrb r3, [r5]                                 |     r3 = *(r5);
    0x000177c0 mov r6, 0                                     |     r6 = 0;
    0x000177c4 add r3, sb, r3                                |     r3 = sb + r3;
    0x000177c8 ldrb r7, [r3, 0x288]                          |     r7 = *((r3 + 0x288));
    0x000177cc add r7, r5, r7                                |     r7 = r5 + r7;
                                                             | label_21:
    0x000177d0 ldrb r0, [r7]                                 |     r0 = *(r7);
    0x000177d4 sub r3, r0, 0x62                              |     r3 = r0 - 0x62;
    0x000177d8 and r2, r3, 0xff                              |     r2 = r3 & 0xff;
    0x000177dc cmp r2, 0xb                                   |     
                                                             |     if (r2 <= 0xb) {
    0x000177e0 bhi 0x179d4                                   |         
    0x000177e4 mov r3, 1                                     |         r3 = 1;
    0x000177e8 lsl r3, r3, r2                                |         r3 <<= r2;
    0x000177ec tst r3, 0x8c0                                 |         
                                                             |         if ((r3 & 0x8c0) != 0) {
    0x000177f0 bne 0x18168                                   |             goto label_30;
                                                             |         }
    0x000177f4 ldr r2, [pc, 0xa4c]                           |         r2 = " %s \\%d";
    0x000177f8 and r2, r2, r3                                |         r2 &= r3;
    0x000177fc cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x00017800 beq 0x179d4                                   |             goto label_3;
                                                             |         }
    0x00017804 mov r1, r4                                    |         r1 = r4;
    0x00017808 ldr r0, [sb, r0, lsl 2]                       |         offset_1 = r0 << 2;
                                                             |         r0 = *((sb + offset_1));
    0x0001780c bl 0x11398                                    |         fputs (r0, r1);
                                                             | label_23:
    0x00017810 ldrb r3, [r7]                                 |         r3 = *(r7);
    0x00017814 add r3, sb, r3                                |         r3 = sb + r3;
    0x00017818 ldrb r3, [r3, 0x288]                          |         r3 = *((r3 + 0x288));
    0x0001781c add r6, r6, r3                                |         r6 += r3;
    0x00017820 b 0x179d4                                     |         goto label_3;
    0x00017824 ldr r2, [pc, 0xa0c]                           |         r2 = "____";
                                                             | label_12:
    0x00017828 ldr r1, [pc, 0xa1c]                           |         r1 = *(0x18248);
    0x0001782c mov r0, r4                                    |         r0 = r4;
    0x00017830 bl 0x11200                                    |         fprintf (r0, r1, "____")
    0x00017834 ldr r2, [sp, 0x14]                            |         r2 = var_14h_2;
    0x00017838 add r1, r5, 3                                 |         r1 = r5 + 3;
    0x0001783c mov r0, r4                                    |         r0 = r4;
    0x00017840 bl 0x171d0                                    |         fcn_000171d0 (r0, r1);
    0x00017844 mov r1, r4                                    |         r1 = r4;
    0x00017848 mov r6, r0                                    |         r6 = r0;
    0x0001784c ldr r0, [pc, 0x9fc]                           |         r0 = " %s [^";
    0x00017850 bl 0x11398                                    |         fputs (" %s [^", r1);
    0x00017854 ldrb r3, [r5]                                 |         r3 = *(r5);
    0x00017858 cmp r3, 0x43                                  |         
    0x0001785c cmpne r3, 0x50                                |         __asm ("cmpne r3, 0x50");
                                                             |         if (r3 != 0x43) {
    0x00017860 beq 0x17870                                   |             
    0x00017864 mov r1, r4                                    |             r1 = r4;
    0x00017868 ldr r0, [pc, 0x9e4]                           |             r0 = *(0x18250);
    0x0001786c bl 0x11398                                    |             fputs (r0, r1);
                                                             |         }
    0x00017870 ldrb r3, [r5, 2]                              |         r3 = *((r5 + 2));
    0x00017874 ldrb r2, [r5, 1]                              |         r2 = *((r5 + 1));
    0x00017878 ldr r1, [pc, 0x9d8]                           |         r1 = *(0x18254);
    0x0001787c orr r2, r2, r3, lsl 8                         |         r2 |= (r3 << 8);
    0x00017880 lsr r3, r2, 8                                 |         r3 = r2 >> 8;
    0x00017884 orr r2, r3, r2, lsl 8                         |         r2 = r3 | (r2 << 8);
    0x00017888 lsl r2, r2, 0x10                              |         r2 <<= 0x10;
    0x0001788c lsr r2, r2, 0x10                              |         r2 >>= 0x10;
    0x00017890 mov r0, r4                                    |         r0 = r4;
    0x00017894 bl 0x11200                                    |         fprintf (r0, r1, r2, r3)
    0x00017898 ldrb r3, [r5]                                 |         r3 = *(r5);
    0x0001789c cmp r3, 0x4f                                  |         
    0x000178a0 cmpne r3, 0x42                                |         __asm ("cmpne r3, 0x42");
                                                             |         if (r3 != 0x4f) {
    0x000178a4 beq 0x17974                                   |             
    0x000178a8 cmp r3, 0x54                                  |             
    0x000178ac cmpne r3, 0x47                                |             __asm ("cmpne r3, 0x47");
    0x000178b0 b 0x17cd8                                     |             goto label_31;
    0x000178b4 ldr r2, [pc, 0x97c]                           |             r2 = "____";
                                                             | label_11:
    0x000178b8 ldr r1, [pc, 0x98c]                           |             r1 = *(0x18248);
    0x000178bc mov r0, r4                                    |             r0 = r4;
    0x000178c0 bl 0x11200                                    |             fprintf (r0, r1, "____")
    0x000178c4 ldr r2, [sp, 0x14]                            |             r2 = var_14h_2;
    0x000178c8 add r1, r5, 1                                 |             r1 = r5 + 1;
    0x000178cc mov r0, r4                                    |             r0 = r4;
    0x000178d0 bl 0x171d0                                    |             fcn_000171d0 (r0, r1);
    0x000178d4 ldrb r3, [r5]                                 |             r3 = *(r5);
    0x000178d8 ldr r1, [pc, 0x97c]                           |             r1 = *(0x18258);
    0x000178dc ldr r2, [sb, r3, lsl 2]                       |             offset_2 = r3 << 2;
                                                             |             r2 = *((sb + offset_2));
    0x000178e0 mov r6, r0                                    |             r6 = r0;
    0x000178e4 mov r0, r4                                    |             r0 = r4;
    0x000178e8 bl 0x11200                                    |             fprintf (r0, r1, r2, r3, r4, r5, r6)
    0x000178ec b 0x179d4                                     |             goto label_3;
    0x000178f0 ldr r2, [pc, 0x940]                           |             r2 = "____";
                                                             | label_7:
    0x000178f4 ldr r1, [pc, 0x964]                           |             r1 = *(0x1825c);
    0x000178f8 mov r0, r4                                    |             r0 = r4;
    0x000178fc bl 0x11200                                    |             fprintf (r0, r1, "____")
    0x00017900 ldr r2, [sp, 0x14]                            |             r2 = var_14h_2;
    0x00017904 add r1, r5, 3                                 |             r1 = r5 + 3;
    0x00017908 mov r0, r4                                    |             r0 = r4;
    0x0001790c bl 0x171d0                                    |             fcn_000171d0 (r0, r1);
    0x00017910 mov r1, r4                                    |             r1 = r4;
    0x00017914 mov r6, r0                                    |             r6 = r0;
    0x00017918 mov r0, 0x7b                                  |             r0 = 0x7b;
    0x0001791c bl 0x112f0                                    |             fputc (r0, r1);
    0x00017920 ldrb r3, [r5]                                 |             r3 = *(r5);
    0x00017924 cmp r3, 0x29                                  |             
    0x00017928 cmpne r3, 0x36                                |             __asm ("cmpne r3, 0x36");
                                                             |             if (r3 != 0x29) {
    0x0001792c beq 0x1793c                                   |                 
    0x00017930 mov r1, r4                                    |                 r1 = r4;
    0x00017934 ldr r0, [pc, 0x918]                           |                 r0 = *(0x18250);
    0x00017938 bl 0x11398                                    |                 fputs (r0, r1);
                                                             |             }
    0x0001793c ldrb r3, [r5, 2]                              |             r3 = *((r5 + 2));
    0x00017940 ldrb r2, [r5, 1]                              |             r2 = *((r5 + 1));
    0x00017944 ldr r1, [pc, 0x90c]                           |             r1 = *(0x18254);
    0x00017948 orr r2, r2, r3, lsl 8                         |             r2 |= (r3 << 8);
    0x0001794c lsr r3, r2, 8                                 |             r3 = r2 >> 8;
    0x00017950 orr r2, r3, r2, lsl 8                         |             r2 = r3 | (r2 << 8);
    0x00017954 lsl r2, r2, 0x10                              |             r2 <<= 0x10;
    0x00017958 lsr r2, r2, 0x10                              |             r2 >>= 0x10;
    0x0001795c mov r0, r4                                    |             r0 = r4;
    0x00017960 bl 0x11200                                    |             fprintf (r0, r1, r2, r3)
    0x00017964 ldrb r3, [r5]                                 |             r3 = *(r5);
    0x00017968 cmp r3, 0x35                                  |             
    0x0001796c cmpne r3, 0x28                                |             __asm ("cmpne r3, 0x28");
                                                             |             if (r3 != 0x35) {
    0x00017970 bne 0x17cd0                                   |                 goto label_32;
                                                             |             }
                                                             |         }
                                                             | label_8:
    0x00017974 mov r1, r4                                    |         r1 = r4;
    0x00017978 mov r0, 0x3f                                  |         r0 = 0x3f;
    0x0001797c b 0x17d70                                     |         goto label_33;
    0x00017980 ldr r2, [pc, 0x8b0]                           |         r2 = "____";
                                                             | label_5:
    0x00017984 ldr r1, [pc, 0x8d4]                           |         r1 = *(0x1825c);
    0x00017988 mov r0, r4                                    |         r0 = r4;
    0x0001798c bl 0x11200                                    |         fprintf (r0, r1, "____")
    0x00017990 ldrb r3, [r5]                                 |         r3 = *(r5);
    0x00017994 cmp r3, 0x54                                  |         
                                                             |         if (r3 < 0x54) {
    0x00017998 bls 0x17cb0                                   |             goto label_34;
                                                             |         }
    0x0001799c ldrb r3, [r5, 1]                              |         r3 = *((r5 + 1));
    0x000179a0 sub r2, r3, 0xf                               |         r2 = r3 - 0xf;
    0x000179a4 cmp r2, 1                                     |         
                                                             |         if (r2 > 1) {
    0x000179a8 bhi 0x17c9c                                   |             goto label_35;
                                                             |         }
    0x000179ac ldr r3, [pc, 0x8b0]                           |         r3 = *(0x18260);
    0x000179b0 ldr r2, [pc, 0x8b0]                           |         r2 = *(0x18264);
    0x000179b4 add r1, r5, 1                                 |         r1 = r5 + 1;
    0x000179b8 mov r0, r4                                    |         r0 = r4;
    0x000179bc bl 0x172b8                                    |         fcn_000172b8 (r0, r1);
    0x000179c0 mov r6, 2                                     |         r6 = 2;
                                                             | label_6:
    0x000179c4 ldrb r3, [r5]                                 |         r3 = *(r5);
    0x000179c8 mov r1, r4                                    |         r1 = r4;
    0x000179cc ldr r0, [sb, r3, lsl 2]                       |         offset_3 = r3 << 2;
                                                             |         r0 = *((sb + offset_3));
    0x000179d0 bl 0x11398                                    |         fputs (r0, r1);
                                                             |     }
                                                             | label_3:
    0x000179d4 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x000179d8 add r3, sb, r3                                |     r3 = sb + r3;
    0x000179dc ldrb r3, [r3, 0x288]                          |     r3 = *((r3 + 0x288));
    0x000179e0 add r6, r3, r6                                |     r6 = r3 + r6;
    0x000179e4 add r5, r5, r6                                |     r5 += r6;
    0x000179e8 b 0x17a84                                     |     goto label_1;
    0x000179ec ldr r2, [pc, 0x844]                           |     r2 = "____";
                                                             | label_10:
    0x000179f0 ldr r1, [pc, 0x854]                           |     r1 = *(0x18248);
    0x000179f4 mov r0, r4                                    |     r0 = r4;
    0x000179f8 bl 0x11200                                    |     fprintf (r0, r1, "____")
    0x000179fc add r1, r5, 1                                 |     r1 = r5 + 1;
    0x00017a00 ldr r2, [sp, 0x14]                            |     r2 = var_14h_2;
    0x00017a04 mov r0, r4                                    |     r0 = r4;
    0x00017a08 bl 0x171d0                                    |     fcn_000171d0 (r0, r1);
    0x00017a0c mov r1, r4                                    |     r1 = r4;
    0x00017a10 mov r6, r0                                    |     r6 = r0;
    0x00017a14 mov r0, 0x5d                                  |     r0 = 0x5d;
    0x00017a18 b 0x17d70                                     |     goto label_33;
                                                             | label_28:
    0x00017a1c ldr r2, [pc, 0x814]                           |     r2 = "____";
                                                             | label_26:
    0x00017a20 ldr r3, [sb, r3, lsl 2]                       |     offset_4 = r3 << 2;
                                                             |     r3 = *((sb + offset_4));
    0x00017a24 ldr r1, [pc, 0x840]                           |     r1 = *(0x18268);
    0x00017a28 b 0x17b28                                     |     goto label_2;
    0x00017a2c ldr r2, [pc, 0x83c]                           |     r2 = "_s__s";
    0x00017a30 ldr r1, [pc, 0x83c]                           |     r1 = *(0x18270);
    0x00017a34 mov r0, r4                                    |     r0 = r4;
    0x00017a38 bl 0x11200                                    |     fprintf (r0, r1, "_s__s")
    0x00017a3c ldr r0, [pc, 0x834]                           |     r0 = "    %s\n";
    0x00017a40 mov r1, r4                                    |     r1 = r4;
    0x00017a44 add sp, sp, 0x4c                              |     
    0x00017a48 pop {r4, r5, r6, r7, r8, sb, sl, fp, lr}      |     
    0x00017a4c b 0x11398                                     |     void (*0x11398)() ();
    0x00017a50 mov r1, r4                                    |     r1 = r4;
    0x00017a54 ldr r0, [pc, 0x7d8]                           |     r0 = "%3d ";
    0x00017a58 bl 0x11398                                    |     fputs ("%3d ", r1);
                                                             |     do {
    0x00017a5c add r6, r5, 1                                 |         r6 = r5 + 1;
    0x00017a60 ldr r2, [sp, 0x14]                            |         r2 = var_14h_2;
    0x00017a64 mov r1, r6                                    |         r1 = r6;
    0x00017a68 mov r0, r4                                    |         r0 = r4;
    0x00017a6c bl 0x171d0                                    |         r0 = fcn_000171d0 (r0, r1);
    0x00017a70 add r0, r0, 1                                 |         r0++;
    0x00017a74 ldrb r3, [r6, r0]                             |         r3 = *((r6 + r0));
    0x00017a78 add r5, r6, r0                                |         r5 = r6 + r0;
    0x00017a7c cmp r3, 0x1d                                  |         
    0x00017a80 beq 0x17a5c                                   |         
                                                             |     } while (r3 == 0x1d);
                                                             | label_1:
    0x00017a84 mov r1, r4                                    |     r1 = r4;
    0x00017a88 mov r0, 0xa                                   |     r0 = 0xa;
    0x00017a8c bl 0x112f0                                    |     fputc (r0, r1);
    0x00017a90 b 0x17448                                     |     goto label_0;
    0x00017a94 mov r1, r4                                    |     r1 = r4;
    0x00017a98 ldr r0, [pc, 0x7dc]                           |     r0 = "------------------------------------------------------------------\n";
    0x00017a9c bl 0x11398                                    |     fputs ("------------------------------------------------------------------\n", r1);
                                                             |     do {
    0x00017aa0 add r6, r5, 1                                 |         r6 = r5 + 1;
    0x00017aa4 ldr r2, [sp, 0x14]                            |         r2 = var_14h_2;
    0x00017aa8 mov r1, r6                                    |         r1 = r6;
    0x00017aac mov r0, r4                                    |         r0 = r4;
    0x00017ab0 bl 0x171d0                                    |         r0 = fcn_000171d0 (r0, r1);
    0x00017ab4 add r0, r0, 1                                 |         r0++;
    0x00017ab8 ldrb r3, [r6, r0]                             |         r3 = *((r6 + r0));
    0x00017abc add r5, r6, r0                                |         r5 = r6 + r0;
    0x00017ac0 cmp r3, 0x1e                                  |         
    0x00017ac4 beq 0x17aa0                                   |         
                                                             |     } while (r3 == 0x1e);
    0x00017ac8 b 0x17a84                                     |     goto label_1;
    0x00017acc ldr r3, [sp, 0x18]                            |     r3 = var_18h_2;
    0x00017ad0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00017ad4 beq 0x17b34                                   |         goto label_36;
                                                             |     }
    0x00017ad8 ldrb r3, [r5, 2]                              |     r3 = *((r5 + 2));
    0x00017adc ldrb r2, [r5, 1]                              |     r2 = *((r5 + 1));
    0x00017ae0 ldr r1, [pc, 0x748]                           |     r1 = "End";
    0x00017ae4 orr r2, r2, r3, lsl 8                         |     r2 |= (r3 << 8);
    0x00017ae8 lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x00017aec orr r2, r3, r2, lsl 8                         |     r2 = r3 | (r2 << 8);
    0x00017af0 lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00017af4 lsr r2, r2, 0x10                              |     r2 >>= 0x10;
    0x00017af8 mov r0, r4                                    |     r0 = r4;
    0x00017afc bl 0x11200                                    |     fprintf (r0, "End", r2, r3)
                                                             |     do {
    0x00017b00 ldrb r2, [r5, 4]                              |         r2 = *((r5 + 4));
    0x00017b04 ldrb r3, [r5, 3]                              |         r3 = *((r5 + 3));
    0x00017b08 ldr r1, [pc, 0x770]                           |         r1 = " /i ";
    0x00017b0c orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x00017b10 lsr r2, r3, 8                                 |         r2 = r3 >> 8;
    0x00017b14 orr r3, r2, r3, lsl 8                         |         r3 = r2 | (r3 << 8);
    0x00017b18 ldrb r2, [r5]                                 |         r2 = *(r5);
    0x00017b1c lsl r3, r3, 0x10                              |         r3 <<= 0x10;
    0x00017b20 ldr r2, [sb, r2, lsl 2]                       |         offset_5 = r2 << 2;
                                                             |         r2 = *((sb + offset_5));
    0x00017b24 lsr r3, r3, 0x10                              |         r3 >>= 0x10;
                                                             | label_2:
    0x00017b28 mov r0, r4                                    |         r0 = r4;
    0x00017b2c bl 0x11200                                    |         fprintf (r0, " /i ", r2, r3)
    0x00017b30 b 0x17c44                                     |         goto label_16;
                                                             | label_36:
    0x00017b34 mov r1, r4                                    |         r1 = r4;
    0x00017b38 ldr r0, [pc, 0x6f4]                           |         r0 = "%3d ";
    0x00017b3c bl 0x11398                                    |         fputs ("%3d ", r1);
    0x00017b40 b 0x17b00                                     |         
                                                             |     } while (1);
    0x00017b44 ldrb r2, [r5, 2]                              |     r2 = *((r5 + 2));
    0x00017b48 ldrb r3, [r5, 1]                              |     r3 = *((r5 + 1));
    0x00017b4c ldr r1, [pc, 0x730]                           |     r1 = *(0x18280);
    0x00017b50 orr r3, r3, r2, lsl 8                         |     r3 |= (r2 << 8);
    0x00017b54 lsr r2, r3, 8                                 |     r2 = r3 >> 8;
    0x00017b58 orr r3, r2, r3, lsl 8                         |     r3 = r2 | (r3 << 8);
    0x00017b5c lsl r3, r3, 0x10                              |     r3 <<= 0x10;
    0x00017b60 lsr r3, r3, 0x10                              |     r3 >>= 0x10;
    0x00017b64 ldr r2, [pc, 0x71c]                           |     r2 = "    %s %d";
    0x00017b68 b 0x17b28                                     |     goto label_2;
    0x00017b6c ldrb r3, [r5, 2]                              |     r3 = *((r5 + 2));
    0x00017b70 ldrb r2, [r5, 1]                              |     r2 = *((r5 + 1));
    0x00017b74 ldr r1, [pc, 0x710]                           |     r1 = "Close";
    0x00017b78 orr r2, r2, r3, lsl 8                         |     r2 |= (r3 << 8);
    0x00017b7c lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x00017b80 orr r2, r3, r2, lsl 8                         |     r2 = r3 | (r2 << 8);
    0x00017b84 lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00017b88 ldr r3, [pc, 0x700]                           |     r3 = "%3d %s";
    0x00017b8c lsr r2, r2, 0x10                              |     r2 >>= 0x10;
    0x00017b90 b 0x17b28                                     |     goto label_2;
    0x00017b94 ldrb r3, [r5, 1]                              |     r3 = *((r5 + 1));
    0x00017b98 ldrb r2, [r5, 2]                              |     r2 = *((r5 + 2));
    0x00017b9c ldr r1, [pc, 0x6f0]                           |     r1 = "Cond ref";
    0x00017ba0 orr r2, r3, r2, lsl 8                         |     r2 = r3 | (r2 << 8);
    0x00017ba4 lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x00017ba8 orr r3, r3, r2, lsl 8                         |     r3 |= (r2 << 8);
    0x00017bac ldr r2, [sp, 0xc]                             |     r2 = format;
    0x00017bb0 lsl r3, r3, 0x10                              |     r3 <<= 0x10;
    0x00017bb4 add r6, r2, 2                                 |     r6 = r2 + 2;
    0x00017bb8 ldr r2, [sp, 0x10]                            |     r2 = stream;
    0x00017bbc lsr r3, r3, 0x10                              |     r3 >>= 0x10;
    0x00017bc0 mla r2, r3, r2, r6                            |     __asm ("mla r2, r3, r2, r6");
    0x00017bc4 add r6, fp, r2                                |     r6 = fp + r2;
    0x00017bc8 ldr r2, [pc, 0x668]                           |     r2 = "____";
                                                             | label_4:
    0x00017bcc mov r0, r4                                    |     r0 = r4;
    0x00017bd0 bl 0x11200                                    |     fprintf (r0, "Cond ref", r2, r3, r4, r5, r6)
    0x00017bd4 mov r1, r6                                    |     r1 = r6;
    0x00017bd8 mov r0, r4                                    |     r0 = r4;
    0x00017bdc bl 0x1718c                                    |     fcn_0001718c (r0, r1);
    0x00017be0 ldrb r3, [r5, 4]                              |     r3 = *((r5 + 4));
    0x00017be4 ldrb r2, [r5, 3]                              |     r2 = *((r5 + 3));
    0x00017be8 ldr r1, [pc, 0x650]                           |     r1 = " %s \\k<";
    0x00017bec orr r2, r2, r3, lsl 8                         |     r2 |= (r3 << 8);
    0x00017bf0 lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x00017bf4 orr r2, r3, r2, lsl 8                         |     r2 = r3 | (r2 << 8);
    0x00017bf8 lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00017bfc lsr r2, r2, 0x10                              |     r2 >>= 0x10;
                                                             |     do {
                                                             | label_25:
    0x00017c00 mov r0, r4                                    |         r0 = r4;
    0x00017c04 bl 0x11200                                    |         fprintf (r0, " %s \\k<", r2, r3)
    0x00017c08 b 0x17c44                                     |         goto label_16;
    0x00017c0c ldrb r2, [r5, 1]                              |         r2 = *((r5 + 1));
    0x00017c10 ldrb r3, [r5, 2]                              |         r3 = *((r5 + 2));
    0x00017c14 orr r3, r2, r3, lsl 8                         |         r3 = r2 | (r3 << 8);
    0x00017c18 lsr r2, r3, 8                                 |         r2 = r3 >> 8;
    0x00017c1c orr r2, r2, r3, lsl 8                         |         r2 |= (r3 << 8);
    0x00017c20 ldr r3, [pc, 0x670]                           |         r3 = " %s Cond ref <";
    0x00017c24 lsl r2, r2, 0x10                              |         r2 <<= 0x10;
    0x00017c28 lsr r2, r2, 0x10                              |         r2 >>= 0x10;
    0x00017c2c cmp r2, r3                                    |         
                                                             |         if (r2 != r3) {
    0x00017c30 moveq r1, r4                                  |             r1 = r4;
                                                             |         }
                                                             |         if (r2 != r3) {
    0x00017c34 ldreq r0, [pc, 0x660]                         |             r0 = "    Cond recurse any";
                                                             |         }
                                                             |         if (r2 == r3) {
    0x00017c38 ldrne r1, [pc, 0x660]                         |             r1 = "    Cond recurse %d";
                                                             |         }
    0x00017c3c bne 0x17c00                                   |         
                                                             |     } while (r2 != r3);
                                                             |     do {
                                                             | label_13:
    0x00017c40 bl 0x11398                                    |         fputs (r0, r1);
                                                             | label_16:
    0x00017c44 mov r6, 0                                     |         r6 = 0;
    0x00017c48 b 0x179d4                                     |         goto label_3;
    0x00017c4c ldrb r3, [r5, 1]                              |         r3 = *((r5 + 1));
    0x00017c50 ldrb r2, [r5, 2]                              |         r2 = *((r5 + 2));
    0x00017c54 ldr r1, [pc, 0x648]                           |         r1 = "    Cond recurse %d";
    0x00017c58 orr r2, r3, r2, lsl 8                         |         r2 = r3 | (r2 << 8);
    0x00017c5c lsr r3, r2, 8                                 |         r3 = r2 >> 8;
    0x00017c60 orr r3, r3, r2, lsl 8                         |         r3 |= (r2 << 8);
    0x00017c64 ldr r2, [sp, 0xc]                             |         r2 = format;
    0x00017c68 lsl r3, r3, 0x10                              |         r3 <<= 0x10;
    0x00017c6c add r6, r2, 2                                 |         r6 = r2 + 2;
    0x00017c70 ldr r2, [sp, 0x10]                            |         r2 = stream;
    0x00017c74 lsr r3, r3, 0x10                              |         r3 >>= 0x10;
    0x00017c78 mla r2, r3, r2, r6                            |         __asm ("mla r2, r3, r2, r6");
    0x00017c7c add r6, fp, r2                                |         r6 = fp + r2;
    0x00017c80 ldr r2, [pc, 0x5b0]                           |         r2 = "____";
    0x00017c84 b 0x17bcc                                     |         goto label_4;
    0x00017c88 mov r1, r4                                    |         r1 = r4;
    0x00017c8c ldr r0, [pc, 0x614]                           |         r0 = " %s Cond recurse <";
    0x00017c90 b 0x17c40                                     |         
                                                             |     } while (1);
    0x00017c94 ldr r2, [pc, 0x610]                           |     r2 = "    Cond def";
    0x00017c98 b 0x17984                                     |     goto label_5;
                                                             | label_35:
    0x00017c9c mov r1, r4                                    |     r1 = r4;
    0x00017ca0 ldr r0, [sb, r3, lsl 2]                       |     offset_6 = r3 << 2;
                                                             |     r0 = *((sb + offset_6));
    0x00017ca4 bl 0x11398                                    |     fputs (r0, r1);
    0x00017ca8 mov r6, 0                                     |     r6 = 0;
    0x00017cac b 0x179c4                                     |     goto label_6;
                                                             | label_34:
    0x00017cb0 ldr r2, [sp, 0x14]                            |     r2 = var_14h_2;
    0x00017cb4 add r1, r5, 1                                 |     r1 = r5 + 1;
    0x00017cb8 mov r0, r4                                    |     r0 = r4;
    0x00017cbc bl 0x171d0                                    |     r0 = fcn_000171d0 (r0, r1);
    0x00017cc0 mov r6, r0                                    |     r6 = r0;
    0x00017cc4 b 0x179c4                                     |     goto label_6;
    0x00017cc8 ldr r2, [pc, 0x5dc]                           |     r2 = "    Cond def";
    0x00017ccc b 0x178f4                                     |     goto label_7;
                                                             | label_32:
    0x00017cd0 cmp r3, 0x3a                                  |     
    0x00017cd4 cmpne r3, 0x2d                                |     __asm ("cmpne r3, 0x2d");
                                                             |     if (r3 != 0x3a) {
                                                             | label_31:
    0x00017cd8 bne 0x179d4                                   |         goto label_3;
                                                             |     }
    0x00017cdc b 0x17d68                                     |     goto label_37;
    0x00017ce0 ldrb r3, [r5, 3]                              |     r3 = *((r5 + 3));
    0x00017ce4 sub r2, r3, 0xf                               |     r2 = r3 - 0xf;
    0x00017ce8 cmp r2, 1                                     |     
                                                             |     if (r2 > 1) {
    0x00017cec bhi 0x17d78                                   |         goto label_38;
                                                             |     }
    0x00017cf0 ldr r3, [pc, 0x56c]                           |     r3 = *(0x18260);
    0x00017cf4 ldr r2, [pc, 0x538]                           |     r2 = "%3d ";
    0x00017cf8 add r1, r5, 3                                 |     r1 = r5 + 3;
    0x00017cfc mov r0, r4                                    |     r0 = r4;
    0x00017d00 bl 0x172b8                                    |     fcn_000172b8 (r0, r1);
    0x00017d04 mov r6, 2                                     |     r6 = 2;
                                                             | label_9:
    0x00017d08 mov r1, r4                                    |     r1 = r4;
    0x00017d0c mov r0, 0x7b                                  |     r0 = 0x7b;
    0x00017d10 bl 0x112f0                                    |     fputc (r0, r1);
    0x00017d14 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x00017d18 cmp r3, 0x5d                                  |     
                                                             |     if (r3 != 0x5d) {
    0x00017d1c beq 0x17d2c                                   |         
    0x00017d20 mov r1, r4                                    |         r1 = r4;
    0x00017d24 ldr r0, [pc, 0x528]                           |         r0 = *(0x18250);
    0x00017d28 bl 0x11398                                    |         fputs (r0, r1);
                                                             |     }
    0x00017d2c ldrb r3, [r5, 2]                              |     r3 = *((r5 + 2));
    0x00017d30 ldrb r2, [r5, 1]                              |     r2 = *((r5 + 1));
    0x00017d34 ldr r1, [pc, 0x51c]                           |     r1 = *(0x18254);
    0x00017d38 orr r2, r2, r3, lsl 8                         |     r2 |= (r3 << 8);
    0x00017d3c lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x00017d40 orr r2, r3, r2, lsl 8                         |     r2 = r3 | (r2 << 8);
    0x00017d44 lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00017d48 lsr r2, r2, 0x10                              |     r2 >>= 0x10;
    0x00017d4c mov r0, r4                                    |     r0 = r4;
    0x00017d50 bl 0x11200                                    |     fprintf (r0, r1, r2, r3)
    0x00017d54 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x00017d58 cmp r3, 0x5c                                  |     
                                                             |     if (r3 == 0x5c) {
    0x00017d5c beq 0x17974                                   |         goto label_8;
                                                             |     }
    0x00017d60 cmp r3, 0x61                                  |     
                                                             |     if (r3 != 0x61) {
    0x00017d64 bne 0x179d4                                   |         goto label_3;
                                                             |     }
                                                             | label_37:
    0x00017d68 mov r1, r4                                    |     r1 = r4;
    0x00017d6c mov r0, 0x2b                                  |     r0 = 0x2b;
                                                             | label_33:
    0x00017d70 bl 0x112f0                                    |     fputc (r0, r1);
    0x00017d74 b 0x179d4                                     |     goto label_3;
                                                             | label_38:
    0x00017d78 ldr r2, [sb, r3, lsl 2]                       |     offset_7 = r3 << 2;
                                                             |     r2 = *((sb + offset_7));
    0x00017d7c ldr r1, [pc, 0x52c]                           |     r1 = *(0x182ac);
    0x00017d80 mov r0, r4                                    |     r0 = r4;
    0x00017d84 bl 0x11200                                    |     fprintf (r0, r1, r2)
    0x00017d88 mov r6, 0                                     |     r6 = 0;
    0x00017d8c b 0x17d08                                     |     goto label_9;
    0x00017d90 ldr r2, [pc, 0x514]                           |     r2 = "    Cond def";
    0x00017d94 b 0x179f0                                     |     goto label_10;
    0x00017d98 ldr r2, [pc, 0x50c]                           |     r2 = "    Cond def";
    0x00017d9c b 0x178b8                                     |     goto label_11;
    0x00017da0 ldr r2, [pc, 0x504]                           |     r2 = "    Cond def";
    0x00017da4 b 0x17828                                     |     goto label_12;
    0x00017da8 ldr r3, [sp, 0x18]                            |     r3 = var_18h_2;
    0x00017dac cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00017db0 beq 0x17dec                                   |         goto label_39;
                                                             |     }
    0x00017db4 ldrb r3, [r5, 2]                              |     r3 = *((r5 + 2));
    0x00017db8 ldrb r2, [r5, 1]                              |     r2 = *((r5 + 1));
    0x00017dbc ldr r1, [pc, 0x46c]                           |     r1 = "End";
    0x00017dc0 orr r2, r2, r3, lsl 8                         |     r2 |= (r3 << 8);
    0x00017dc4 lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x00017dc8 orr r2, r3, r2, lsl 8                         |     r2 = r3 | (r2 << 8);
    0x00017dcc lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00017dd0 lsr r2, r2, 0x10                              |     r2 >>= 0x10;
    0x00017dd4 mov r0, r4                                    |     r0 = r4;
    0x00017dd8 bl 0x11200                                    |     fprintf (r0, "End", r2, r3)
                                                             |     do {
    0x00017ddc ldrb r3, [r5]                                 |         r3 = *(r5);
    0x00017de0 mov r1, r4                                    |         r1 = r4;
    0x00017de4 ldr r0, [sb, r3, lsl 2]                       |         offset_8 = r3 << 2;
                                                             |         r0 = *((sb + offset_8));
    0x00017de8 b 0x17c40                                     |         goto label_13;
                                                             | label_39:
    0x00017dec mov r1, r4                                    |         r1 = r4;
    0x00017df0 ldr r0, [pc, 0x43c]                           |         r0 = "%3d ";
    0x00017df4 bl 0x11398                                    |         fputs ("%3d ", r1);
    0x00017df8 b 0x17ddc                                     |         
                                                             |     } while (1);
    0x00017dfc ldr r2, [pc, 0x4a8]                           |     r2 = "    Cond def";
    0x00017e00 b 0x17794                                     |     goto label_14;
    0x00017e04 ldr r2, [pc, 0x4a0]                           |     r2 = "    Cond def";
    0x00017e08 b 0x1771c                                     |     goto label_15;
    0x00017e0c ldrb r2, [r5, 4]                              |     r2 = *((r5 + 4));
    0x00017e10 ldrb r1, [r5, 5]                              |     r1 = *((r5 + 5));
    0x00017e14 ldrb r3, [r5, 1]                              |     r3 = *((r5 + 1));
    0x00017e18 orr r1, r2, r1, lsl 8                         |     r1 = r2 | (r1 << 8);
    0x00017e1c lsr r2, r1, 8                                 |     r2 = r1 >> 8;
    0x00017e20 orr r2, r2, r1, lsl 8                         |     r2 |= (r1 << 8);
    0x00017e24 lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00017e28 lsr r2, r2, 0x10                              |     r2 >>= 0x10;
    0x00017e2c str r2, [sp, 4]                               |     var_4h = r2;
    0x00017e30 ldrb r2, [r5, 2]                              |     r2 = *((r5 + 2));
    0x00017e34 ldrb r1, [r5, 3]                              |     r1 = *((r5 + 3));
    0x00017e38 mov r0, r4                                    |     r0 = r4;
    0x00017e3c orr r1, r2, r1, lsl 8                         |     r1 = r2 | (r1 << 8);
    0x00017e40 lsr r2, r1, 8                                 |     r2 = r1 >> 8;
    0x00017e44 orr r2, r2, r1, lsl 8                         |     r2 |= (r1 << 8);
    0x00017e48 lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00017e4c lsr r2, r2, 0x10                              |     r2 >>= 0x10;
    0x00017e50 str r2, [sp]                                  |     *(sp) = r2;
    0x00017e54 ldr r1, [pc, 0x458]                           |     r1 = "    %s";
    0x00017e58 ldr r2, [pc, 0x458]                           |     r2 = "    %s %d %d %d";
    0x00017e5c bl 0x11200                                    |     fprintf (r0, r1, r2, r3)
    0x00017e60 b 0x17c44                                     |     goto label_16;
    0x00017e64 ldr r3, [pc, 0x3fc]                           |     r3 = *(0x18264);
    0x00017e68 ldr r2, [pc, 0x3c4]                           |     r2 = "%3d ";
    0x00017e6c mov r1, r5                                    |     r1 = r5;
    0x00017e70 mov r0, r4                                    |     r0 = r4;
    0x00017e74 bl 0x172b8                                    |     fcn_000172b8 (r0, r1);
    0x00017e78 b 0x17c44                                     |     goto label_16;
    0x00017e7c mov r1, r4                                    |     r1 = r4;
    0x00017e80 ldr r0, [pc, 0x434]                           |     r0 = "Callout";
    0x00017e84 bl 0x11398                                    |     fputs ("Callout", r1);
    0x00017e88 ldrb r3, [r5]                                 |     r3 = *(r5);
    0x00017e8c cmp r3, 0x70                                  |     
                                                             |     if (r3 == 0x70) {
    0x00017e90 addne sl, r5, 1                               |         sl = r5 + 1;
                                                             |     }
                                                             |     if (r3 == 0x70) {
    0x00017e94 movne r7, sl                                  |         r7 = sl;
                                                             |     }
                                                             |     if (r3 == 0x70) {
    0x00017e98 movne r6, 0                                   |         r6 = 0;
                                                             |     }
                                                             |     if (r3 != 0x70) {
    0x00017e9c bne 0x17f1c                                   |         goto label_40;
                                                             |     }
    0x00017ea0 ldrb r6, [r5, 2]                              |     r6 = *((r5 + 2));
    0x00017ea4 ldrb r3, [r5, 1]                              |     r3 = *((r5 + 1));
    0x00017ea8 orr r3, r3, r6, lsl 8                         |     r3 |= (r6 << 8);
    0x00017eac lsr r6, r3, 8                                 |     r6 = r3 >> 8;
    0x00017eb0 orr r6, r6, r3, lsl 8                         |     r6 |= (r3 << 8);
    0x00017eb4 ldrb r3, [r5, 3]                              |     r3 = *((r5 + 3));
    0x00017eb8 lsl r6, r6, 0x10                              |     r6 <<= 0x10;
    0x00017ebc ands sl, r3, 1                                |     sl = r3 & 1;
    0x00017ec0 lsr r6, r6, 0x10                              |     r6 >>= 0x10;
    0x00017ec4 and r8, r3, 2                                 |     r8 = r3 & 2;
                                                             |     if (sl != r3) {
    0x00017ec8 beq 0x17ee4                                   |         
    0x00017ecc lsr r3, r3, 2                                 |         r3 >>= 2;
    0x00017ed0 eor r3, r3, 1                                 |         r3 ^= 1;
    0x00017ed4 mov r1, r4                                    |         r1 = r4;
    0x00017ed8 mov r0, 0x5e                                  |         r0 = 0x5e;
    0x00017edc and sl, r3, 1                                 |         sl = r3 & 1;
    0x00017ee0 bl 0x112f0                                    |         fputc (r0, r1);
                                                             |     }
    0x00017ee4 cmp r8, 0                                     |     
    0x00017ee8 add r7, r5, 4                                 |     r7 = r5 + 4;
                                                             |     if (r8 == 0) {
    0x00017eec beq 0x1800c                                   |         goto label_41;
                                                             |     }
    0x00017ef0 cmp sl, 0                                     |     
                                                             |     if (sl != 0) {
    0x00017ef4 moveq sl, r7                                  |         sl = r7;
                                                             |     }
                                                             |     if (sl == 0) {
    0x00017ef8 beq 0x17f1c                                   |         goto label_40;
                                                             |     }
    0x00017efc mov r3, 0                                     |     r3 = 0;
    0x00017f00 add sl, sp, 0x28                              |     sl += var_28h;
                                                             |     do {
    0x00017f04 ldrb r2, [r7, r3]                             |         r2 = *((r7 + r3));
    0x00017f08 mvn r2, r2                                    |         r2 = ~r2;
    0x00017f0c strb r2, [r3, sl]                             |         *((r3 + sl)) = r2;
    0x00017f10 add r3, r3, 1                                 |         r3++;
    0x00017f14 cmp r3, 0x20                                  |         
    0x00017f18 bne 0x17f04                                   |         
                                                             |     } while (r3 != 0x20);
                                                             | label_40:
    0x00017f1c mov r3, 0                                     |     r3 = 0;
                                                             | label_17:
    0x00017f20 ldrb r2, [sl, r3, asr 3]                      |     offset_9 = r3 >> 3;
                                                             |     r2 = *((sl + offset_9));
    0x00017f24 and r1, r3, 7                                 |     r1 = r3 & 7;
    0x00017f28 asr r2, r2, r1                                |     r2 >>= r1;
    0x00017f2c tst r2, 1                                     |     
                                                             |     if ((r2 & 1) == 0) {
    0x00017f30 addne r2, r3, 1                               |         r2 = r3 + 1;
                                                             |     }
                                                             |     if ((r2 & 1) == 0) {
    0x00017f34 strne r2, [sp, 0x20]                          |         var_20h = r2;
                                                             |     }
                                                             |     if ((r2 & 1) == 0) {
    0x00017f38 movne r8, r2                                  |         r8 = r2;
                                                             |     }
                                                             |     if ((r2 & 1) != 0) {
    0x00017f3c bne 0x17f60                                   |         goto label_42;
                                                             |     }
    0x00017f40 mov r8, r3                                    |     r8 = r3;
    0x00017f44 b 0x17ffc                                     |     goto label_19;
                                                             |     do {
    0x00017f48 ldrb r2, [sl, r8, asr 3]                      |         offset_10 = r8 >> 3;
                                                             |         r2 = *((sl + offset_10));
    0x00017f4c and r1, r8, 7                                 |         r1 = r8 & 7;
    0x00017f50 asr r2, r2, r1                                |         r2 >>= r1;
    0x00017f54 tst r2, 1                                     |         
                                                             |         if ((r2 & 1) == 0) {
    0x00017f58 beq 0x17f68                                   |             goto label_43;
                                                             |         }
    0x00017f5c add r8, r8, 1                                 |         r8++;
                                                             | label_42:
    0x00017f60 cmp r8, 0xff                                  |         
    0x00017f64 ble 0x17f48                                   |         
                                                             |     } while (r8 <= 0xff);
                                                             | label_43:
    0x00017f68 cmp r3, 0x5d                                  |     
    0x00017f6c cmpne r3, 0x2d                                |     __asm ("cmpne r3, 0x2d");
                                                             |     if (r3 == 0x5d) {
    0x00017f70 bne 0x17f88                                   |         
    0x00017f74 mov r1, r4                                    |         r1 = r4;
    0x00017f78 mov r0, 0x5c                                  |         r0 = 0x5c;
    0x00017f7c str r3, [sp, 0x24]                            |         var_24h = r3;
    0x00017f80 bl 0x112f0                                    |         fputc (r0, r1);
    0x00017f84 ldr r3, [sp, 0x24]                            |         r3 = var_24h;
                                                             |     }
    0x00017f88 sub r2, r3, 0x20                              |     r2 = r3 - 0x20;
    0x00017f8c cmp r2, 0x5e                                  |     
                                                             |     if (r2 > 0x5e) {
    0x00017f90 bhi 0x18028                                   |         goto label_44;
                                                             |     }
    0x00017f94 mov r1, r4                                    |     r1 = r4;
    0x00017f98 mov r0, r3                                    |     r0 = r3;
    0x00017f9c str r3, [sp, 0x24]                            |     var_24h = r3;
    0x00017fa0 bl 0x112f0                                    |     fputc (r0, r1);
                                                             | label_18:
    0x00017fa4 ldr r3, [sp, 0x24]                            |     r3 = var_24h;
    0x00017fa8 sub r8, r8, 1                                 |     r8--;
    0x00017fac cmp r8, r3                                    |     
                                                             |     if (r8 > r3) {
    0x00017fb0 ble 0x17ffc                                   |         
    0x00017fb4 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x00017fb8 cmp r8, r3                                    |         
                                                             |         if (r8 != r3) {
    0x00017fbc beq 0x17fcc                                   |             
    0x00017fc0 mov r1, r4                                    |             r1 = r4;
    0x00017fc4 mov r0, 0x2d                                  |             r0 = 0x2d;
    0x00017fc8 bl 0x112f0                                    |             fputc (r0, r1);
                                                             |         }
    0x00017fcc cmp r8, 0x5d                                  |         
    0x00017fd0 cmpne r8, 0x2d                                |         __asm ("cmpne r8, 0x2d");
                                                             |         if (r8 == 0x5d) {
    0x00017fd4 bne 0x17fe4                                   |             
    0x00017fd8 mov r1, r4                                    |             r1 = r4;
    0x00017fdc mov r0, 0x5c                                  |             r0 = 0x5c;
    0x00017fe0 bl 0x112f0                                    |             fputc (r0, r1);
                                                             |         }
    0x00017fe4 sub r3, r8, 0x20                              |         r3 = r8 - 0x20;
    0x00017fe8 cmp r3, 0x5e                                  |         
                                                             |         if (r3 > 0x5e) {
    0x00017fec bhi 0x18040                                   |             goto label_45;
                                                             |         }
    0x00017ff0 mov r1, r4                                    |         r1 = r4;
    0x00017ff4 mov r0, r8                                    |         r0 = r8;
    0x00017ff8 bl 0x112f0                                    |         fputc (r0, r1);
                                                             |     }
                                                             | label_19:
    0x00017ffc add r3, r8, 1                                 |     r3 = r8 + 1;
    0x00018000 cmp r3, 0xff                                  |     
                                                             |     if (r3 <= 0xff) {
    0x00018004 ble 0x17f20                                   |         goto label_17;
                                                             |     }
    0x00018008 add r7, r7, 0x20                              |     r7 += 0x20;
                                                             | label_41:
    0x0001800c ldrb r3, [r5]                                 |     r3 = *(r5);
    0x00018010 cmp r3, 0x70                                  |     
                                                             |     if (r3 != 0x70) {
    0x00018014 bne 0x1813c                                   |         goto label_46;
                                                             |     }
    0x00018018 mov r1, r7                                    |     r1 = r7;
    0x0001801c ldr sl, [pc, 0x29c]                           |     sl = "[:%spunct:]";
    0x00018020 ldr r8, [pc, 0x29c]                           |     r8 = "[:%spunct:]";
    0x00018024 b 0x1812c                                     |     goto label_47;
                                                             | label_44:
    0x00018028 mov r2, r3                                    |     r2 = r3;
    0x0001802c ldr r1, [pc, 0x294]                           |     r1 = "\\%c{%s}";
    0x00018030 mov r0, r4                                    |     r0 = r4;
    0x00018034 str r3, [sp, 0x24]                            |     var_24h = r3;
    0x00018038 bl 0x11200                                    |     fprintf (r0, "\\%c{%s}", r2, r3)
    0x0001803c b 0x17fa4                                     |     goto label_18;
                                                             | label_45:
    0x00018040 mov r2, r8                                    |     r2 = r8;
    0x00018044 ldr r1, [pc, 0x27c]                           |     r1 = "\\%c{%s}";
    0x00018048 mov r0, r4                                    |     r0 = r4;
    0x0001804c bl 0x11200                                    |     fprintf (r0, "\\%c{%s}", r2)
    0x00018050 b 0x17ffc                                     |     goto label_19;
                                                             | label_20:
    0x00018054 cmp r3, 3                                     |     
                                                             |     if (r3 != 3) {
    0x00018058 beq 0x180b4                                   |         
    0x0001805c cmp r3, 4                                     |         
                                                             |         if (r3 == 4) {
    0x00018060 beq 0x18110                                   |             goto label_48;
                                                             |         }
    0x00018064 mov r1, r7                                    |         r1 = r7;
    0x00018068 ldr r2, [sp, 0x14]                            |         r2 = var_14h_2;
    0x0001806c mov r0, r4                                    |         r0 = r4;
    0x00018070 str r3, [sp, 0x20]                            |         var_20h = r3;
    0x00018074 bl 0x171d0                                    |         fcn_000171d0 (r0, r1);
    0x00018078 ldr r3, [sp, 0x20]                            |         r3 = var_20h;
    0x0001807c cmp r3, 2                                     |         
    0x00018080 add r0, r0, 1                                 |         r0++;
    0x00018084 add r7, r7, r0                                |         r7 += r0;
                                                             |         if (r3 != 2) {
    0x00018088 bne 0x18128                                   |             goto label_49;
                                                             |         }
    0x0001808c mov r1, r4                                    |         r1 = r4;
    0x00018090 mov r0, 0x2d                                  |         r0 = 0x2d;
    0x00018094 bl 0x112f0                                    |         fputc (r0, r1);
    0x00018098 mov r1, r7                                    |         r1 = r7;
    0x0001809c ldr r2, [sp, 0x14]                            |         r2 = var_14h_2;
    0x000180a0 mov r0, r4                                    |         r0 = r4;
    0x000180a4 bl 0x171d0                                    |         r0 = fcn_000171d0 (r0, r1);
    0x000180a8 add r0, r0, 1                                 |         r0++;
    0x000180ac add r7, r7, r0                                |         r7 += r0;
    0x000180b0 b 0x18128                                     |         goto label_49;
                                                             |     }
    0x000180b4 ldr r2, [pc, 0x1ac]                           |     r2 = *(0x18264);
    0x000180b8 mov r3, 0                                     |     r3 = 0;
                                                             |     do {
    0x000180bc ldrb r0, [r1, 1]                              |         r0 = *((r1 + 1));
    0x000180c0 add r7, r1, 3                                 |         r7 = r1 + 3;
    0x000180c4 cmp r0, 0xc                                   |         
                                                             |         if (r0 == 0xc) {
    0x000180c8 beq 0x1811c                                   |             goto label_50;
                                                             |         }
    0x000180cc cmp r0, 0xd                                   |         
                                                             |         if (r0 == 0xd) {
    0x000180d0 beq 0x18160                                   |             goto label_51;
                                                             |         }
    0x000180d4 cmp r0, 0xb                                   |         
                                                             |         if (r0 != 0xb) {
    0x000180d8 ldreq r1, [pc, 0x1ec]                         |             r1 = "[:%sgraph:]";
                                                             |         }
                                                             |         if (r0 == 0xb) {
    0x000180dc beq 0x18120                                   |             goto label_22;
                                                             |         }
    0x000180e0 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x000180e4 moveq r2, 0x70                                |             r2 = 0x70;
                                                             |         }
                                                             |         if (r3 == 0) {
    0x000180e8 movne r2, 0x50                                |             r2 = 0x50;
                                                             |         }
    0x000180ec ldrb r1, [r1, 2]                              |         r1 = *((r1 + 2));
    0x000180f0 str r2, [sp, 0x20]                            |         var_20h = r2;
    0x000180f4 bl 0x17114                                    |         fcn_00017114 (r0, r1);
    0x000180f8 ldr r2, [sp, 0x20]                            |         r2 = var_20h;
    0x000180fc mov r1, r8                                    |         r1 = r8;
    0x00018100 mov r3, r0                                    |         r3 = r0;
    0x00018104 mov r0, r4                                    |         r0 = r4;
    0x00018108 bl 0x11200                                    |         fprintf (r0, r1, r2, r3)
    0x0001810c b 0x18128                                     |         goto label_49;
                                                             | label_48:
    0x00018110 ldr r2, [pc, 0x1b8]                           |         r2 = "[:%sgraph:]";
    0x00018114 mov r3, 1                                     |         r3 = 1;
    0x00018118 b 0x180bc                                     |         
                                                             |     } while (1);
                                                             | label_50:
    0x0001811c ldr r1, [pc, 0x1b0]                           |     r1 = *(0x182d0);
                                                             | label_22:
    0x00018120 mov r0, r4                                    |     r0 = r4;
    0x00018124 bl 0x11200                                    |     fprintf (r0, r1)
                                                             | label_49:
    0x00018128 mov r1, r7                                    |     r1 = r7;
                                                             | label_47:
    0x0001812c ldrb r3, [r1]                                 |     r3 = *(r1);
    0x00018130 add r7, r1, 1                                 |     r7 = r1 + 1;
    0x00018134 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00018138 bne 0x18054                                   |         goto label_20;
                                                             |     }
                                                             | label_46:
    0x0001813c ldrb r1, [r5]                                 |     r1 = *(r5);
    0x00018140 ldr r3, [pc, 0x190]                           |     r3 = "[:%sprint:]";
    0x00018144 cmp r1, 0x6f                                  |     
    0x00018148 ldr r2, [pc, 0x118]                           |     r2 = *(0x18264);
    0x0001814c ldr r1, [pc, 0x108]                           |     r1 = *(0x18258);
                                                             |     if (r1 != 0x6f) {
    0x00018150 moveq r2, r3                                  |         r2 = r3;
                                                             |     }
    0x00018154 mov r0, r4                                    |     r0 = r4;
    0x00018158 bl 0x11200                                    |     fprintf (r0, r1, r2, "[:%sprint:]")
    0x0001815c b 0x177d0                                     |     goto label_21;
                                                             | label_51:
    0x00018160 mov r1, sl                                    |     r1 = sl;
    0x00018164 b 0x18120                                     |     goto label_22;
                                                             | label_30:
    0x00018168 ldrb r3, [r7, 2]                              |     r3 = *((r7 + 2));
    0x0001816c ldrb r2, [r7, 1]                              |     r2 = *((r7 + 1));
    0x00018170 ldrb r1, [r7, 4]                              |     r1 = *((r7 + 4));
    0x00018174 orr r2, r2, r3, lsl 8                         |     r2 |= (r3 << 8);
    0x00018178 lsr r3, r2, 8                                 |     r3 = r2 >> 8;
    0x0001817c orr r2, r3, r2, lsl 8                         |     r2 = r3 | (r2 << 8);
    0x00018180 ldrb r3, [r7, 3]                              |     r3 = *((r7 + 3));
    0x00018184 lsl r2, r2, 0x10                              |     r2 <<= 0x10;
    0x00018188 orr r1, r3, r1, lsl 8                         |     r1 = r3 | (r1 << 8);
    0x0001818c lsr r3, r1, 8                                 |     r3 = r1 >> 8;
    0x00018190 orr r3, r3, r1, lsl 8                         |     r3 |= (r1 << 8);
    0x00018194 lsl r3, r3, 0x10                              |     r3 <<= 0x10;
    0x00018198 lsr r3, r3, 0x10                              |     r3 >>= 0x10;
    0x0001819c cmp r3, 0                                     |     
    0x000181a0 lsr r2, r2, 0x10                              |     r2 >>= 0x10;
                                                             |     if (r3 != 0) {
    0x000181a4 bne 0x181e0                                   |         goto label_52;
                                                             |     }
    0x000181a8 ldr r1, [pc, 0x12c]                           |     r1 = " (neg)";
    0x000181ac mov r0, r4                                    |     r0 = r4;
    0x000181b0 bl 0x11200                                    |     fprintf (r0, " (neg)")
                                                             | label_24:
    0x000181b4 ldrb r3, [r7]                                 |     r3 = *(r7);
    0x000181b8 cmp r3, 0x69                                  |     
                                                             |     if (r3 != 0x69) {
    0x000181bc moveq r1, r4                                  |         r1 = r4;
                                                             |     }
                                                             |     if (r3 != 0x69) {
    0x000181c0 moveq r0, 0x3f                                |         r0 = 0x3f;
                                                             |     }
                                                             |     if (r3 == 0x69) {
    0x000181c4 beq 0x181d8                                   |         goto label_53;
                                                             |     }
    0x000181c8 cmp r3, 0x6d                                  |     
                                                             |     if (r3 != 0x6d) {
    0x000181cc bne 0x17810                                   |         goto label_23;
                                                             |     }
    0x000181d0 mov r1, r4                                    |     r1 = r4;
    0x000181d4 mov r0, 0x2b                                  |     r0 = 0x2b;
                                                             | label_53:
    0x000181d8 bl 0x112f0                                    |     fputc (r0, r1);
    0x000181dc b 0x17810                                     |     goto label_23;
                                                             | label_52:
    0x000181e0 ldr r1, [pc, 0xf8]                            |     r1 = "{%u,}";
    0x000181e4 mov r0, r4                                    |     r0 = r4;
    0x000181e8 bl 0x11200                                    |     fprintf (r0, "{%u,}")
    0x000181ec b 0x181b4                                     |     goto label_24;
    0x000181f0 ldr r2, [sb, r3, lsl 2]                       |     offset_11 = r3 << 2;
                                                             |     r2 = *((sb + offset_11));
    0x000181f4 ldr r1, [pc, 0xe8]                            |     r1 = "{%u,%u}";
    0x000181f8 mov r0, r4                                    |     r0 = r4;
    0x000181fc bl 0x11200                                    |     fprintf (r0, "{%u,%u}", r2)
    0x00018200 add r1, r5, 2                                 |     r1 = r5 + 2;
    0x00018204 mov r0, r4                                    |     r0 = r4;
    0x00018208 bl 0x1718c                                    |     fcn_0001718c (r0, r1);
    0x0001820c ldrb r6, [r5, 1]                              |     r6 = *((r5 + 1));
    0x00018210 b 0x179d4                                     |     goto label_3;
    0x00018214 ldr r2, [pc, 0xcc]                            |     r2 = "    %s ";
    0x00018218 ldr r1, [pc, 0x90]                            |     r1 = *(0x182ac);
    0x0001821c b 0x17c00                                     |     goto label_25;
    0x00018220 ldr r2, [pc, 0xc4]                            |     r2 = "*THEN";
    0x00018224 b 0x17a20                                     |     goto label_26;
                                                             | }
    ; 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                                   |     
                                                             |     if (r2 == 0xa) {
                                                             |         do {
    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 fprintf used 103 times pcretest