// File: /workspace/github_c_makefile_star2_O3/mattn[P]orelang/mpc.c
// Function: mpcf_re_escape
static mpc_val_t *mpcf_re_escape(mpc_val_t *x) {
  
  char *s = x;
  mpc_parser_t *p;
  
  /* Regex Special Characters */
  if (s[0] == '.') { free(s); return mpc_any(); }
  if (s[0] == '^') { free(s); return mpc_and(2, mpcf_snd, mpc_soi(), mpc_lift(mpcf_ctor_str), free); }
  if (s[0] == '$') { free(s); return mpc_and(2, mpcf_snd, mpc_eoi(), mpc_lift(mpcf_ctor_str), free); }
  
  /* Regex Escape */
  if (s[0] == '\\') {
    p = mpc_re_escape_char(s[1]);
    p = (p == NULL) ? mpc_char(s[1]) : p;
    free(s);
    return p;
  }
  
  /* Regex Standard */
  p = mpc_char(s[0]);
  free(s);
  return p;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movb (%rdi), %r14b
movzbl %r14b, %eax
cmpl $0x5b, %eax
jg 0x673f
cmpl $0x24, %eax
je 0x678f
cmpl $0x2e, %eax
jne 0x6763
movq %rbx, %rdi
callq 0x22c0
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x8, 0x10(%rax)
leaq 0xdc1d(%rip), %rsi      # 0x1434a
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x4a5f
cmpl $0x5c, %eax
je 0x67ea
cmpl $0x5e, %eax
jne 0x6763
movq %rbx, %rdi
callq 0x22c0
movq 0x15854(%rip), %rbx     # 0x1bfb0
callq 0x51d0
jmp 0x67a3
movsbl %r14b, %ebp
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x9, 0x10(%rax)
movb %r14b, 0x18(%rax)
leaq 0xdbee(%rip), %rsi      # 0x14373
movq %rax, %rdi
movl %ebp, %edx
jmp 0x6a4e
movq %rbx, %rdi
callq 0x22c0
movq 0x15812(%rip), %rbx     # 0x1bfb0
callq 0x5217
movq %rax, %r14
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x3, 0x10(%rax)
leaq -0xcdb(%rip), %rcx      # 0x5ae5
movq %rcx, 0x18(%rax)
leaq -0x9fb(%rip), %rsi      # 0x5dd0
movl $0x2, %edi
movq %r14, %rdx
movq %rax, %rcx
movq %rbx, %r8
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x5053
movb 0x1(%rbx), %bpl
movzbl %bpl, %eax
cmpl $0x56, %eax
jle 0x683a
leal -0x61(%rax), %ecx
cmpl $0x16, %ecx
ja 0x687a
leaq 0xd952(%rip), %rax      # 0x14158
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x9, 0x10(%rax)
movb $0x7, 0x18(%rax)
leaq 0xdb46(%rip), %rsi      # 0x14373
movq %rax, %rdi
movl $0x7, %edx
jmp 0x6a16
cmpl $0x43, %eax
jg 0x6857
cmpl $0x41, %eax
je 0x6896
cmpl $0x42, %eax
jne 0x6a29
callq 0x525e
jmp 0x6a73
cmpl $0x44, %eax
je 0x68a0
cmpl $0x53, %eax
jne 0x6a29
leaq 0xdb64(%rip), %rdi      # 0x143d0
callq 0x4c3a
leaq 0xdb5f(%rip), %rsi      # 0x143d7
jmp 0x68b3
cmpl $0x57, %eax
je 0x6a6e
cmpl $0x5a, %eax
jne 0x6a29
callq 0x5217
jmp 0x6985
callq 0x51d0
jmp 0x6985
leaq 0xdb4a(%rip), %rdi      # 0x143f1
callq 0x4c3a
leaq 0xdb77(%rip), %rsi      # 0x1442a
movq %rax, %rdi
callq 0x4a5f
jmp 0x6a73
callq 0x572f
jmp 0x6a1d
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x9, %cl
movb %cl, 0x10(%rax)
movb %cl, 0x18(%rax)
leaq 0xda8b(%rip), %rsi      # 0x14373
movq %rax, %rdi
movl $0x9, %edx
jmp 0x6a16
leaq 0xdad4(%rip), %rdi      # 0x143d0
callq 0x4c3a
leaq 0xdacf(%rip), %rsi      # 0x143d7
jmp 0x6948
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x9, 0x10(%rax)
movb $0xd, 0x18(%rax)
leaq 0xda4b(%rip), %rsi      # 0x14373
movq %rax, %rdi
movl $0xd, %edx
jmp 0x6a16
leaq 0xdab5(%rip), %rdi      # 0x143f1
callq 0x4c3a
leaq 0xdae2(%rip), %rsi      # 0x1442a
movq %rax, %rdi
callq 0x4a5f
jmp 0x6a1d
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x9, 0x10(%rax)
movb $0xb, 0x18(%rax)
leaq 0xda00(%rip), %rsi      # 0x14373
movq %rax, %rdi
movl $0xb, %edx
jmp 0x6a16
callq 0x525e
movq %rax, %r14
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x3, 0x10(%rax)
leaq -0xebd(%rip), %rcx      # 0x5ae5
movq %rcx, 0x18(%rax)
leaq -0xbdd(%rip), %rsi      # 0x5dd0
movq 0x155fc(%rip), %r8      # 0x1bfb0
movl $0x2, %edi
movq %r14, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x5053
jmp 0x6a1d
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x9, 0x10(%rax)
movb $0xc, 0x18(%rax)
leaq 0xd98d(%rip), %rsi      # 0x14373
movq %rax, %rdi
movl $0xc, %edx
jmp 0x6a16
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x9, 0x10(%rax)
movb $0xa, 0x18(%rax)
leaq 0xd965(%rip), %rsi      # 0x14373
movq %rax, %rdi
movl $0xa, %edx
xorl %eax, %eax
callq 0x4ac3
movq %rax, %r14
testq %rax, %rax
jne 0x6a58
movb 0x1(%rbx), %bpl
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x9, 0x10(%rax)
movb %bpl, 0x18(%rax)
movsbl %bpl, %edx
leaq 0xd928(%rip), %rsi      # 0x14373
movq %rax, %rdi
xorl %eax, %eax
callq 0x4ac3
movq %rax, %r14
movq %rbx, %rdi
callq 0x22c0
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x572f
movq %rax, %r15
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movq %rax, %r14
movb $0x12, 0x10(%rax)
movq %r15, 0x18(%rax)
movq 0x15519(%rip), %rax     # 0x1bfb0
movq %rax, 0x20(%r14)
leaq -0xfbd(%rip), %rax      # 0x5ae5
movq %rax, 0x28(%r14)
jmp 0x6a58