// File: BohangZhang[P]Sorcery-C-Project/ascii_graphics.cc
// Function: display_enchantment_general(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
static card_template_t display_enchantment_general(card_template_t out,std::string name,int cost,
                                                   std::string desc,std::string attack,
                                                   std::string defence) {
  std::ostringstream oss;
  prepare_for_replace(out);
  replace_text_left(out,'N',name);
  oss << cost;
  replace_text_right(out,'C',oss.str());
  replace_text_right(out,'T',"Enchantment");
  replace_text_left(out,'E',desc);
  replace_text_left(out,'A',attack);
  replace_text_right(out,'D',defence);
  return out;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2c0, %rsp            # imm = 0x2C0
movq %r9, -0x2b8(%rbp)
movq %r8, -0x2b0(%rbp)
movq %rdx, -0x2a8(%rbp)
movq %rsi, -0x288(%rbp)
movq %rdi, -0x2a0(%rbp)
movq %rdi, %rax
movq %rax, -0x298(%rbp)
movq 0x10(%rbp), %rax
movq %rax, -0x290(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0x63c0
movq -0x288(%rbp), %rdi
callq 0x175e0
jmp 0x17f74
movq -0x2a8(%rbp), %rsi
leaq -0x1d8(%rbp), %rdi
callq 0x6100
jmp 0x17f89
movq -0x288(%rbp), %rdi
movl $0x4e, %esi
leaq -0x1d8(%rbp), %rdx
callq 0x176a0
jmp 0x17fa3
leaq -0x1d8(%rbp), %rdi
callq 0x64c8
movl -0x1c(%rbp), %esi
leaq -0x1a8(%rbp), %rdi
callq 0x6440
jmp 0x17fc0
leaq -0x1f8(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x62b0
jmp 0x17fd5
movq -0x288(%rbp), %rdi
movl $0x43, %esi
leaq -0x1f8(%rbp), %rdx
callq 0x17860
jmp 0x17fef
leaq -0x1f8(%rbp), %rdi
callq 0x64c8
leaq -0x219(%rbp), %rdi
movq %rdi, -0x2c0(%rbp)
callq 0x6470
movq -0x2c0(%rbp), %rdx
leaq 0x297b8(%rip), %rsi     # 0x417d4
leaq -0x218(%rbp), %rdi
callq 0x12870
jmp 0x1802a
movq -0x288(%rbp), %rdi
movl $0x54, %esi
leaq -0x218(%rbp), %rdx
callq 0x17860
jmp 0x18044
leaq -0x218(%rbp), %rdi
callq 0x64c8
leaq -0x219(%rbp), %rdi
callq 0x62f0
movq -0x2b0(%rbp), %rsi
leaq -0x240(%rbp), %rdi
callq 0x6100
jmp 0x18071
movq -0x288(%rbp), %rdi
movl $0x45, %esi
leaq -0x240(%rbp), %rdx
callq 0x176a0
jmp 0x1808b
leaq -0x240(%rbp), %rdi
callq 0x64c8
movq -0x2b8(%rbp), %rsi
leaq -0x260(%rbp), %rdi
callq 0x6100
jmp 0x180ac
movq -0x288(%rbp), %rdi
movl $0x41, %esi
leaq -0x260(%rbp), %rdx
callq 0x176a0
jmp 0x180c6
leaq -0x260(%rbp), %rdi
callq 0x64c8
movq -0x290(%rbp), %rsi
leaq -0x280(%rbp), %rdi
callq 0x6100
jmp 0x180e7
movq -0x288(%rbp), %rdi
movl $0x44, %esi
leaq -0x280(%rbp), %rdx
callq 0x17860
jmp 0x18101
leaq -0x280(%rbp), %rdi
callq 0x64c8
movq -0x2a0(%rbp), %rdi
movq -0x288(%rbp), %rsi
callq 0x18af0
leaq -0x1a8(%rbp), %rdi
callq 0x6090
movq -0x298(%rbp), %rax
addq $0x2c0, %rsp            # imm = 0x2C0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x18237
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x64c8
jmp 0x18237
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x64c8
jmp 0x18237
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x181cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x64c8
leaq -0x219(%rbp), %rdi
callq 0x62f0
jmp 0x18237
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x64c8
jmp 0x18237
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x64c8
jmp 0x18237
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x64c8
leaq -0x1a8(%rbp), %rdi
callq 0x6090
movq -0x1b0(%rbp), %rdi
callq 0x6460
nop