// File: sagardoshi[P]NegotiationsEncounter/src/GameMaster.cpp
// Function: GameMaster::centerText(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
void GameMaster::centerText(string title, string &toAdd) {
    int len = title.length();
    int gap = WIDTH - len;

    if (len > WIDTH) return; // Not applicable in this case

    if (gap % 2 == 0) { // If even
        toAdd += string(gap/2, ' ') + title + string(gap/2, ' ') + "\n";
    } else { // If odd, add a space after title, and use decremented gap
        gap--;
        toAdd += string(gap/2, ' ') + title + string(gap/2, ' ') + " \n";
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rsi, -0x1a8(%rbp)
movq %rdi, %rax
movq -0x1a8(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x198(%rbp)
callq 0x3470
movq -0x198(%rbp), %rcx
movl %eax, -0x1c(%rbp)
movl 0x4(%rcx), %eax
subl -0x1c(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0x4(%rcx), %eax
jle 0x57af
jmp 0x5bf0
movl -0x20(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x59c5
movl -0x20(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
cltq
movq %rax, -0x1b8(%rbp)
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x3520
movq -0x1b8(%rbp), %rsi
movq -0x1b0(%rbp), %rcx
leaq -0xa0(%rbp), %rdi
movl $0x20, %edx
callq 0x85b0
jmp 0x580c
movq -0x1a0(%rbp), %rdx
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8560
jmp 0x5825
movl -0x20(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
cltq
movq %rax, -0x1c8(%rbp)
leaq -0xd9(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x3520
movq -0x1c8(%rbp), %rsi
movq -0x1c0(%rbp), %rcx
leaq -0xd8(%rbp), %rdi
movl $0x20, %edx
callq 0x85b0
jmp 0x586e
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
callq 0x8490
jmp 0x5884
leaq 0x16b3c(%rip), %rdx     # 0x1c3c7
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x8440
jmp 0x589a
movq -0x18(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x33e0
jmp 0x58a9
leaq -0x40(%rbp), %rdi
callq 0x3200
leaq -0x60(%rbp), %rdi
callq 0x3200
leaq -0xd8(%rbp), %rdi
callq 0x3200
leaq -0xd9(%rbp), %rdi
callq 0x3350
leaq -0x80(%rbp), %rdi
callq 0x3200
leaq -0xa0(%rbp), %rdi
callq 0x3200
leaq -0xa1(%rbp), %rdi
callq 0x3350
jmp 0x5bf0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x59b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x59a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x5993
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x5987
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x597e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3200
leaq -0x60(%rbp), %rdi
callq 0x3200
leaq -0xd8(%rbp), %rdi
callq 0x3200
leaq -0xd9(%rbp), %rdi
callq 0x3350
leaq -0x80(%rbp), %rdi
callq 0x3200
leaq -0xa0(%rbp), %rdi
callq 0x3200
leaq -0xa1(%rbp), %rdi
callq 0x3350
jmp 0x5bf9
movl -0x20(%rbp), %eax
decl %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
cltq
movq %rax, -0x1d8(%rbp)
leaq -0x161(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x3520
movq -0x1d8(%rbp), %rsi
movq -0x1d0(%rbp), %rcx
leaq -0x160(%rbp), %rdi
movl $0x20, %edx
callq 0x85b0
jmp 0x5a16
movq -0x1a0(%rbp), %rdx
leaq -0x140(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x8560
jmp 0x5a32
movl -0x20(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
cltq
movq %rax, -0x1e8(%rbp)
leaq -0x189(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0x3520
movq -0x1e8(%rbp), %rsi
movq -0x1e0(%rbp), %rcx
leaq -0x188(%rbp), %rdi
movl $0x20, %edx
callq 0x85b0
jmp 0x5a7b
leaq -0x120(%rbp), %rdi
leaq -0x140(%rbp), %rsi
leaq -0x188(%rbp), %rdx
callq 0x8490
jmp 0x5a97
leaq 0x168b0(%rip), %rdx     # 0x1c34e
leaq -0x100(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x8440
jmp 0x5ab3
movq -0x18(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x33e0
jmp 0x5ac5
leaq -0x100(%rbp), %rdi
callq 0x3200
leaq -0x120(%rbp), %rdi
callq 0x3200
leaq -0x188(%rbp), %rdi
callq 0x3200
leaq -0x189(%rbp), %rdi
callq 0x3350
leaq -0x140(%rbp), %rdi
callq 0x3200
leaq -0x160(%rbp), %rdi
callq 0x3200
leaq -0x161(%rbp), %rdi
callq 0x3350
jmp 0x5bf0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x5be2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x5bd6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x5bbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x5bb2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x5ba6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x3200
leaq -0x120(%rbp), %rdi
callq 0x3200
leaq -0x188(%rbp), %rdi
callq 0x3200
leaq -0x189(%rbp), %rdi
callq 0x3350
leaq -0x140(%rbp), %rdi
callq 0x3200
leaq -0x160(%rbp), %rdi
callq 0x3200
leaq -0x161(%rbp), %rdi
callq 0x3350
jmp 0x5bf9
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
movq -0xb0(%rbp), %rdi
callq 0x3510
nopw %cs:(%rax,%rax)