// File: BohangZhang[P]Sorcery-C-Project/ascii_graphics.cc
// Function: display_ritual(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int)
card_template_t display_ritual(std::string name,int cost,int ritual_cost,std::string ritual_desc,
                               int ritual_charges) {
  std::ostringstream oss;
  card_template_t out(CARD_TEMPLATE_RITUAL);
  prepare_for_replace(out);
  replace_text_left(out,'N',name);
  oss << cost;
  replace_text_right(out,'C',oss.str());
  replace_text_right(out,'T',"Ritual");
  oss.str("");
  oss << ritual_cost;
  replace_text_left(out,'K',oss.str());
  replace_text_left(out,'E',ritual_desc);
  oss.str("");
  oss << ritual_charges;
  replace_text_right(out,'D',oss.str());
  return out;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x310, %rsp            # imm = 0x310
movq %r8, -0x2f0(%rbp)
movq %rsi, -0x2e8(%rbp)
movq %rdi, -0x2d8(%rbp)
movq %rdi, %rax
movq %rax, -0x2e0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movq %r8, -0x20(%rbp)
movl %r9d, -0x24(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x63c0
movq -0x2d8(%rbp), %rdi
movb $0x0, -0x1a1(%rbp)
leaq 0x3d167(%rip), %rsi     # 0x542b8
callq 0x18960
jmp 0x17158
movq -0x2d8(%rbp), %rdi
callq 0x175e0
jmp 0x17166
movq -0x2e8(%rbp), %rsi
leaq -0x1d8(%rbp), %rdi
callq 0x6100
jmp 0x1717b
movq -0x2d8(%rbp), %rdi
movl $0x4e, %esi
leaq -0x1d8(%rbp), %rdx
callq 0x176a0
jmp 0x17195
leaq -0x1d8(%rbp), %rdi
callq 0x64c8
movl -0x14(%rbp), %esi
leaq -0x1a0(%rbp), %rdi
callq 0x6440
jmp 0x171b2
leaq -0x1f8(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x62b0
jmp 0x171c7
movq -0x2d8(%rbp), %rdi
movl $0x43, %esi
leaq -0x1f8(%rbp), %rdx
callq 0x17860
jmp 0x171e1
leaq -0x1f8(%rbp), %rdi
callq 0x64c8
leaq -0x219(%rbp), %rdi
movq %rdi, -0x2f8(%rbp)
callq 0x6470
movq -0x2f8(%rbp), %rdx
leaq 0x29635(%rip), %rsi     # 0x40843
leaq -0x218(%rbp), %rdi
callq 0x12870
jmp 0x1721c
movq -0x2d8(%rbp), %rdi
movl $0x54, %esi
leaq -0x218(%rbp), %rdx
callq 0x17860
jmp 0x17236
leaq -0x218(%rbp), %rdi
callq 0x64c8
leaq -0x219(%rbp), %rdi
callq 0x62f0
leaq -0x241(%rbp), %rdi
movq %rdi, -0x300(%rbp)
callq 0x6470
movq -0x300(%rbp), %rdx
leaq 0x29a8c(%rip), %rsi     # 0x40cfb
leaq -0x240(%rbp), %rdi
callq 0x12870
jmp 0x1727d
leaq -0x1a0(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x6130
jmp 0x17292
leaq -0x240(%rbp), %rdi
callq 0x64c8
leaq -0x241(%rbp), %rdi
callq 0x62f0
movl -0x18(%rbp), %esi
leaq -0x1a0(%rbp), %rdi
callq 0x6440
jmp 0x172bb
leaq -0x268(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x62b0
jmp 0x172d0
movq -0x2d8(%rbp), %rdi
movl $0x4b, %esi
leaq -0x268(%rbp), %rdx
callq 0x176a0
jmp 0x172ea
leaq -0x268(%rbp), %rdi
callq 0x64c8
movq -0x2f0(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0x6100
jmp 0x1730b
movq -0x2d8(%rbp), %rdi
movl $0x45, %esi
leaq -0x288(%rbp), %rdx
callq 0x176a0
jmp 0x17325
leaq -0x288(%rbp), %rdi
callq 0x64c8
leaq -0x2a9(%rbp), %rdi
movq %rdi, -0x308(%rbp)
callq 0x6470
movq -0x308(%rbp), %rdx
leaq 0x299a9(%rip), %rsi     # 0x40cfb
leaq -0x2a8(%rbp), %rdi
callq 0x12870
jmp 0x17360
leaq -0x1a0(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x6130
jmp 0x17375
leaq -0x2a8(%rbp), %rdi
callq 0x64c8
leaq -0x2a9(%rbp), %rdi
callq 0x62f0
movl -0x24(%rbp), %esi
leaq -0x1a0(%rbp), %rdi
callq 0x6440
jmp 0x1739e
leaq -0x2d0(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x62b0
jmp 0x173b3
movq -0x2d8(%rbp), %rdi
movl $0x44, %esi
leaq -0x2d0(%rbp), %rdx
callq 0x17860
jmp 0x173cd
leaq -0x2d0(%rbp), %rdi
callq 0x64c8
movb $0x1, -0x1a1(%rbp)
testb $0x1, -0x1a1(%rbp)
jne 0x1759e
jmp 0x17592
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x175c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x175ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x64c8
jmp 0x175ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x64c8
jmp 0x175ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x17498
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 0x175ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x174db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x64c8
leaq -0x241(%rbp), %rdi
callq 0x62f0
jmp 0x175ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x64c8
jmp 0x175ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x64c8
jmp 0x175ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x17564
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x64c8
leaq -0x2a9(%rbp), %rdi
callq 0x62f0
jmp 0x175ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x2d0(%rbp), %rdi
callq 0x64c8
jmp 0x175ba
movq -0x2d8(%rbp), %rdi
callq 0x15d90
leaq -0x1a0(%rbp), %rdi
callq 0x6090
movq -0x2e0(%rbp), %rax
addq $0x310, %rsp            # imm = 0x310
popq %rbp
retq
movq -0x2d8(%rbp), %rdi
callq 0x15d90
leaq -0x1a0(%rbp), %rdi
callq 0x6090
movq -0x1b0(%rbp), %rdi
callq 0x6460
nop