// File: BohangZhang[P]Sorcery-C-Project/ascii_graphics.cc
// Function: display_spell(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>>)
card_template_t display_spell(std::string name,int cost,std::string desc) {
  std::ostringstream oss;
  card_template_t out(CARD_TEMPLATE_SPELL);
  prepare_for_replace(out);
  replace_text_left(out,'N',name);
  oss << cost;
  replace_text_right(out,'C',oss.str());
  replace_text_right(out,'T',"Spell");
  replace_text_left(out,'E',desc);
  return out;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x260, %rsp            # imm = 0x260
movq %rcx, -0x258(%rbp)
movq %rsi, -0x250(%rbp)
movq %rdi, -0x240(%rbp)
movq %rdi, %rax
movq %rax, -0x248(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x63c0
movq -0x240(%rbp), %rdi
movb $0x0, -0x199(%rbp)
leaq 0x3c856(%rip), %rsi     # 0x542d0
callq 0x18960
jmp 0x17a81
movq -0x240(%rbp), %rdi
callq 0x175e0
jmp 0x17a8f
movq -0x250(%rbp), %rsi
leaq -0x1d0(%rbp), %rdi
callq 0x6100
jmp 0x17aa4
movq -0x240(%rbp), %rdi
movl $0x4e, %esi
leaq -0x1d0(%rbp), %rdx
callq 0x176a0
jmp 0x17abe
leaq -0x1d0(%rbp), %rdi
callq 0x64c8
movl -0x14(%rbp), %esi
leaq -0x198(%rbp), %rdi
callq 0x6440
jmp 0x17adb
leaq -0x1f0(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x62b0
jmp 0x17af0
movq -0x240(%rbp), %rdi
movl $0x43, %esi
leaq -0x1f0(%rbp), %rdx
callq 0x17860
jmp 0x17b0a
leaq -0x1f0(%rbp), %rdi
callq 0x64c8
leaq -0x211(%rbp), %rdi
movq %rdi, -0x260(%rbp)
callq 0x6470
movq -0x260(%rbp), %rdx
leaq 0x28d13(%rip), %rsi     # 0x4084a
leaq -0x210(%rbp), %rdi
callq 0x12870
jmp 0x17b45
movq -0x240(%rbp), %rdi
movl $0x54, %esi
leaq -0x210(%rbp), %rdx
callq 0x17860
jmp 0x17b5f
leaq -0x210(%rbp), %rdi
callq 0x64c8
leaq -0x211(%rbp), %rdi
callq 0x62f0
movq -0x258(%rbp), %rsi
leaq -0x238(%rbp), %rdi
callq 0x6100
jmp 0x17b8c
movq -0x240(%rbp), %rdi
movl $0x45, %esi
leaq -0x238(%rbp), %rdx
callq 0x176a0
jmp 0x17ba6
leaq -0x238(%rbp), %rdi
callq 0x64c8
movb $0x1, -0x199(%rbp)
testb $0x1, -0x199(%rbp)
jne 0x17cab
jmp 0x17c9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
jmp 0x17cd3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
jmp 0x17cc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x64c8
jmp 0x17cc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x64c8
jmp 0x17cc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
jmp 0x17c71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x64c8
leaq -0x211(%rbp), %rdi
callq 0x62f0
jmp 0x17cc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x64c8
jmp 0x17cc7
movq -0x240(%rbp), %rdi
callq 0x15d90
leaq -0x198(%rbp), %rdi
callq 0x6090
movq -0x248(%rbp), %rax
addq $0x260, %rsp            # imm = 0x260
popq %rbp
retq
movq -0x240(%rbp), %rdi
callq 0x15d90
leaq -0x198(%rbp), %rdi
callq 0x6090
movq -0x1a8(%rbp), %rdi
callq 0x6460
nopl (%rax,%rax)