// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movb (%rdi), %al
movzbl %al, %ecx
cmpl $0x5b, %ecx
jg 0x69fa
cmpl $0x24, %ecx
je 0x6a26
cmpl $0x2e, %ecx
jne 0x6a1e
movq %rbx, %rdi
callq 0x22c0
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x0, (%rax)
movq $0x0, 0x8(%rax)
movb $0x8, 0x10(%rax)
leaq 0xd94d(%rip), %rsi      # 0x1433a
movq %rax, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x4bc6
cmpl $0x5c, %ecx
je 0x6a87
cmpl $0x5e, %ecx
jne 0x6a1e
movq %rbx, %rdi
callq 0x22c0
movq 0x15599(%rip), %rbx     # 0x1bfb0
callq 0x5417
jmp 0x6a3a
movsbl %al, %edi
jmp 0x6c44
movq %rbx, %rdi
callq 0x22c0
movq 0x1557b(%rip), %rbx     # 0x1bfb0
callq 0x5469
movq %rax, %r14
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x0, (%rax)
movq $0x0, 0x8(%rax)
movb $0x3, 0x10(%rax)
leaq -0xd20(%rip), %rcx      # 0x5d42
movq %rcx, 0x18(%rax)
leaq -0x9f5(%rip), %rsi      # 0x6078
movl $0x2, %edi
movq %r14, %rdx
movq %rax, %rcx
movq %rbx, %r8
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
jmp 0x52a1
movzbl 0x1(%rbx), %eax
xorl %r14d, %r14d
cmpl $0x56, %eax
jle 0x6ab5
leal -0x61(%rax), %ecx
cmpl $0x16, %ecx
ja 0x6af5
leaq 0xd6b6(%rip), %rax      # 0x14158
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl $0x7, %edi
jmp 0x6bee
cmpl $0x43, %eax
jg 0x6ad2
cmpl $0x41, %eax
je 0x6b11
cmpl $0x42, %eax
jne 0x6c3b
callq 0x54bb
jmp 0x6bfd
cmpl $0x44, %eax
je 0x6b18
cmpl $0x53, %eax
jne 0x6c3b
leaq 0xd8d9(%rip), %rdi      # 0x143c0
callq 0x4de3
leaq 0xd8d4(%rip), %rsi      # 0x143c7
jmp 0x6b2b
cmpl $0x57, %eax
je 0x6bf8
cmpl $0x5a, %eax
jne 0x6c3b
callq 0x5469
jmp 0x6b94
callq 0x5417
jmp 0x6b94
leaq 0xd8c2(%rip), %rdi      # 0x143e1
callq 0x4de3
leaq 0xd8ef(%rip), %rsi      # 0x1441a
movq %rax, %rdi
callq 0x4bc6
jmp 0x6bfd
callq 0x594d
jmp 0x6bf3
movl $0x9, %edi
jmp 0x6bee
leaq 0xd86d(%rip), %rdi      # 0x143c0
callq 0x4de3
leaq 0xd868(%rip), %rsi      # 0x143c7
jmp 0x6b7e
movl $0xd, %edi
jmp 0x6bee
leaq 0xd86f(%rip), %rdi      # 0x143e1
callq 0x4de3
leaq 0xd89c(%rip), %rsi      # 0x1441a
movq %rax, %rdi
callq 0x4bc6
jmp 0x6bf3
movl $0xb, %edi
jmp 0x6bee
callq 0x54bb
movq %rax, %r14
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movb $0x0, (%rax)
movq $0x0, 0x8(%rax)
movb $0x3, 0x10(%rax)
leaq -0xe7a(%rip), %rcx      # 0x5d42
movq %rcx, 0x18(%rax)
leaq -0xb4f(%rip), %rsi      # 0x6078
movq 0x153e2(%rip), %r8      # 0x1bfb0
movl $0x2, %edi
movq %r14, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x52a1
jmp 0x6bf3
movl $0xc, %edi
jmp 0x6bee
movl $0xa, %edi
callq 0x4d64
movq %rax, %r14
jmp 0x6c3b
callq 0x594d
movq %rax, %r15
movl $0x1, %edi
movl $0x38, %esi
callq 0x2140
movq %rax, %r14
movb $0x0, (%rax)
movq $0x0, 0x8(%rax)
movb $0x12, 0x10(%rax)
movq %r15, 0x18(%rax)
movq 0x15384(%rip), %rax     # 0x1bfb0
movq %rax, 0x20(%r14)
leaq -0xef5(%rip), %rax      # 0x5d42
movq %rax, 0x28(%r14)
testq %r14, %r14
jne 0x6c4c
movsbl 0x1(%rbx), %edi
callq 0x4d64
movq %rax, %r14
movq %rbx, %rdi
callq 0x22c0
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq