// File: /workspace/github_cpp_makefile_star2_O2/XuhuiSun95[P]Ticket-Booking-Service/server/ServerInterface.cpp
// Function: ServerInterface::PrintStatus()
void ServerInterface::PrintStatus() {

    if(mServer)
        std::cout << "Server [" << mServerName << "] is current running..." << std::endl;
    else
        std::cout << "Server [" << mServerName << "] is waiting for host..." << std::endl;

    std::cout << "--------------------------------------------------" << std::endl;
    std::cout << "|" 
              << std::setw(30) << std::right << "Server INFO"
              << std::setw(19) << std::right << "|" << std::endl;
    std::cout << std::setw(48 - mServerInfo.first.length()) 
              << std::left << "| ip address: " << mServerInfo.first
              << " |" << std::endl;
    std::cout << std::setw(48 - std::to_string(mServerInfo.second).length()) 
              << std::left << "| port #: " << mServerInfo.second
              << " |" << std::endl;
    std::cout << "--------------------------------------------------" << std::endl;
    std::cout << "|" 
              << std::setw(32) << std::right << "Pair Server INFO"
              << std::setw(17) << std::right << "|" << std::endl;
    std::cout << std::setw(48 - mPairInfo.first.length()) 
              << std::left << "| ip address: " << mPairInfo.first
              << " |" << std::endl;
    std::cout << std::setw(48 - std::to_string(mPairInfo.second).length()) 
              << std::left << "| port #: " << mPairInfo.second
              << " |" << std::endl;
    std::cout << "--------------------------------------------------" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x1030(%rip), %rsi      # 0x4253
movq 0x3d9e(%rip), %r14      # 0x6fc8
leaq 0x102b(%rip), %rax      # 0x425c
leaq 0x103c(%rip), %r15      # 0x4274
cmpb $0x0, 0x1(%rdi)
cmovneq %rax, %r15
movq %r14, %rdi
callq 0x21c0
leaq 0x8(%rbx), %rsi
movq %rax, %rdi
callq 0x2190
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
leaq 0x101f(%rip), %rsi      # 0x428d
movq %r14, %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
leaq 0x104b(%rip), %r15      # 0x42d0
movq %r14, %rdi
movq %r15, %rsi
callq 0x21c0
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq $0x1e, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl $0xffffff4f, %r12d      # imm = 0xFFFFFF4F
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
movl $0x80, %r13d
orl %r13d, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0xf16(%rip), %rsi       # 0x41db
movq %rax, %rdi
callq 0x21c0
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq $0x13, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl %r13d, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
leaq 0x28(%rbx), %r15
movq (%r14), %rax
pushq $0x30
popq %r13
movl %r13d, %ecx
subl 0x30(%rbx), %ecx
movq -0x18(%rax), %rdx
movslq %ecx, %rcx
movq %rcx, 0x10(%r14,%rdx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %r12d, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0xf86(%rip), %rsi       # 0x42c0
movq %r14, %rdi
callq 0x21c0
movq %rax, %rdi
movq %r15, %rsi
callq 0x2190
leaq 0xf7b(%rip), %rsi       # 0x42cf
movq %rax, %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
movl 0x48(%rbx), %esi
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x3641
movq (%r14), %rax
subl 0x8(%r15), %r13d
movq -0x18(%rax), %rcx
movslq %r13d, %rdx
movq %rdx, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
andl 0x18(%r14,%rax), %r12d
orl $0x20, %r12d
movl %r12d, 0x18(%r14,%rax)
leaq 0xf33(%rip), %rsi       # 0x42d2
movq %r14, %rdi
callq 0x21c0
movl 0x48(%rbx), %esi
movq %rax, %rdi
callq 0x2290
leaq 0xf16(%rip), %rsi       # 0x42cf
movq %rax, %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
movabsq $0x3000000000, %r12     # imm = 0x3000000000
leaq -0x48(%rbp), %rdi
callq 0x20c0
leaq 0xeaa(%rip), %rsi       # 0x428d
movq %r14, %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
leaq 0xed6(%rip), %rsi       # 0x42d0
movq %r14, %rdi
callq 0x21c0
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq $0x20, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl $0xffffff4f, %r13d      # imm = 0xFFFFFF4F
movl 0x18(%rax,%rcx), %edx
andl %r13d, %edx
movl $0x80, %r15d
orl %r15d, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0xde3(%rip), %rsi       # 0x421a
movq %rax, %rdi
callq 0x21c0
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq $0x11, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r13d, %edx
orl %r15d, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
leaq 0xe65(%rip), %rsi       # 0x42d0
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
leaq 0x50(%rbx), %r15
movq 0x58(%rbx), %rax
movq (%r14), %rcx
movq -0x18(%rcx), %rdx
shlq $0x20, %rax
movq %r12, %rsi
subq %rax, %rsi
sarq $0x20, %rsi
movq %rsi, 0x10(%r14,%rdx)
movq -0x18(%rcx), %rax
movl 0x18(%r14,%rax), %ecx
andl %r13d, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0xe0b(%rip), %rsi       # 0x42c0
movq %r14, %rdi
callq 0x21c0
movq %rax, %rdi
movq %r15, %rsi
callq 0x2190
leaq 0xe00(%rip), %rsi       # 0x42cf
movq %rax, %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
movl 0x70(%rbx), %esi
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x3641
movq 0x8(%r15), %rax
movq (%r14), %rcx
movq -0x18(%rcx), %rdx
shlq $0x20, %rax
subq %rax, %r12
sarq $0x20, %r12
movq %r12, 0x10(%r14,%rdx)
movq -0x18(%rcx), %rax
andl 0x18(%r14,%rax), %r13d
orl $0x20, %r13d
movl %r13d, 0x18(%r14,%rax)
leaq 0xdb0(%rip), %rsi       # 0x42d2
movq %r14, %rdi
callq 0x21c0
movl 0x70(%rbx), %esi
movq %rax, %rdi
callq 0x2290
leaq 0xd93(%rip), %rsi       # 0x42cf
movq %rax, %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
leaq -0x48(%rbp), %rdi
callq 0x20c0
movq 0x3a6c(%rip), %rdi      # 0x6fc8
leaq 0xd2a(%rip), %rsi       # 0x428d
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3581
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x20c0
movq %rbx, %rdi
callq 0x22b0
nop