// File: XxAdi101xX[P]ChamberCrawler/TextDisplay/TextDisplay.cc
// Function: operator<<(std::ostream&, TextDisplay const&)
std::ostream &operator<<(std::ostream &out, const TextDisplay &td) {

    for (auto &row: td.theDisplay) {
        for (auto &c: row) {
            out << c;
        }
        out << std::endl;
    }
		std::string spaces(55, ' ');
    out << "Race: " << raceToText(td.info.race) << " Gold: " << td.info.gold
				<< spaces << "Floor " << td.floorNumber << std::endl;
    out << "HP: " << td.info.HP << std::endl;
    out << "Atk: " << td.info.attackValue << std::endl;
    out << "Def: " << td.info.defenceValue << std::endl;
    out << "Action: " << std::endl;
	out << td.info.lastAction << std::endl;

    return out;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x3d530
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x3d560
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3d590
testb $0x1, %al
jne 0x3d07f
jmp 0x3d107
leaq -0x20(%rbp), %rdi
callq 0x3d5d0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3d5f0
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3d620
movq %rax, -0x48(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x3d650
testb $0x1, %al
jne 0x3d0c1
jmp 0x3d0e9
leaq -0x40(%rbp), %rdi
callq 0x3d690
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
movq -0x50(%rbp), %rax
movsbl (%rax), %esi
callq 0x63b0
leaq -0x40(%rbp), %rdi
callq 0x3d6b0
jmp 0x3d0ae
movq -0x8(%rbp), %rdi
movq 0x29e8c(%rip), %rsi     # 0x66f80
callq 0x6350
leaq -0x20(%rbp), %rdi
callq 0x3d6d0
jmp 0x3d069
leaq -0x71(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x6560
movq -0xb0(%rbp), %rcx
leaq -0x70(%rbp), %rdi
movl $0x37, %esi
movl $0x20, %edx
callq 0x31b00
jmp 0x3d133
leaq -0x71(%rbp), %rdi
callq 0x6370
movq -0x8(%rbp), %rdi
leaq 0x8161(%rip), %rsi      # 0x452a8
callq 0x6310
movq %rax, -0xb8(%rbp)
jmp 0x3d155
movq -0x10(%rbp), %rax
movl 0x1c0(%rax), %esi
leaq -0xa8(%rbp), %rdi
callq 0x345f0
jmp 0x3d16d
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x62e0
movq %rax, -0xc0(%rbp)
jmp 0x3d189
movq -0xc0(%rbp), %rdi
leaq 0x8118(%rip), %rsi      # 0x452af
callq 0x6310
movq %rax, -0xc8(%rbp)
jmp 0x3d1a5
movq -0xc8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x1c4(%rax), %esi
callq 0x6540
movq %rax, -0xd0(%rbp)
jmp 0x3d1c4
movq -0xd0(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x62e0
movq %rax, -0xd8(%rbp)
jmp 0x3d1dd
movq -0xd8(%rbp), %rdi
leaq 0x80cc(%rip), %rsi      # 0x452b7
callq 0x6310
movq %rax, -0xe0(%rbp)
jmp 0x3d1f9
movq -0xe0(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x220(%rax), %esi
callq 0x6540
movq %rax, -0xe8(%rbp)
jmp 0x3d218
movq -0xe8(%rbp), %rdi
movq 0x29d5a(%rip), %rsi     # 0x66f80
callq 0x6350
jmp 0x3d22d
leaq -0xa8(%rbp), %rdi
callq 0x65e8
movq -0x8(%rbp), %rdi
leaq 0x807a(%rip), %rsi      # 0x452be
callq 0x6310
movq %rax, -0xf0(%rbp)
jmp 0x3d252
movq -0xf0(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x1c8(%rax), %esi
callq 0x6540
movq %rax, -0xf8(%rbp)
jmp 0x3d271
movq -0xf8(%rbp), %rdi
movq 0x29d01(%rip), %rsi     # 0x66f80
callq 0x6350
jmp 0x3d286
movq -0x8(%rbp), %rdi
leaq 0x8032(%rip), %rsi      # 0x452c3
callq 0x6310
movq %rax, -0x100(%rbp)
jmp 0x3d29f
movq -0x100(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x1cc(%rax), %esi
callq 0x6540
movq %rax, -0x108(%rbp)
jmp 0x3d2be
movq -0x108(%rbp), %rdi
movq 0x29cb4(%rip), %rsi     # 0x66f80
callq 0x6350
jmp 0x3d2d3
movq -0x8(%rbp), %rdi
leaq 0x7feb(%rip), %rsi      # 0x452c9
callq 0x6310
movq %rax, -0x110(%rbp)
jmp 0x3d2ec
movq -0x110(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x1d0(%rax), %esi
callq 0x6540
movq %rax, -0x118(%rbp)
jmp 0x3d30b
movq -0x118(%rbp), %rdi
movq 0x29c67(%rip), %rsi     # 0x66f80
callq 0x6350
jmp 0x3d320
movq -0x8(%rbp), %rdi
leaq 0x7fa4(%rip), %rsi      # 0x452cf
callq 0x6310
movq %rax, -0x120(%rbp)
jmp 0x3d339
movq -0x120(%rbp), %rdi
movq 0x29c39(%rip), %rsi     # 0x66f80
callq 0x6350
jmp 0x3d34e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x1f8, %rsi            # imm = 0x1F8
callq 0x62e0
movq %rax, -0x128(%rbp)
jmp 0x3d36b
movq -0x128(%rbp), %rdi
movq 0x29c07(%rip), %rsi     # 0x66f80
callq 0x6350
jmp 0x3d380
movq -0x8(%rbp), %rax
movq %rax, -0x130(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x65e8
movq -0x130(%rbp), %rax
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x71(%rbp), %rdi
callq 0x6370
jmp 0x3d3f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x3d3ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x65e8
leaq -0x70(%rbp), %rdi
callq 0x65e8
movq -0x80(%rbp), %rdi
callq 0x6550
nopl (%rax)