// File: nickgammon[P]tinymudserver/player.cpp
// Function: tPlayer::GetPlayer(std::istream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool const&)
tPlayer * tPlayer::GetPlayer (istream & args, const string & noNameMessage, const bool & notme)
{
  string name;
  args >> name;  
  if (name.empty ())
    throw runtime_error (noNameMessage);
  tPlayer * p = this;
  if (ciStringEqual (name, "me") || ciStringEqual (name, "self"))
    p = this;
  else
    p = FindPlayer (name);
  if (p == NULL)
    throw runtime_error (MAKE_STRING ("Player " << tocapitals (name) << " is not connected."));
  if (notme && p == this)
    throw runtime_error ("You cannot do that to yourself.");
  return p;  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2e0, %rsp            # imm = 0x2E0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x278(%rbp)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x270(%rbp)
callq 0x45b0
movq -0x270(%rbp), %rsi
movq -0x10(%rbp), %rdi
callq 0x4550
jmp 0x7828
leaq -0x40(%rbp), %rdi
callq 0x4660
testb $0x1, %al
jne 0x7837
jmp 0x78a6
movl $0x10, %edi
callq 0x4250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x280(%rbp)
movq -0x18(%rbp), %rsi
callq 0x4630
jmp 0x7859
movq -0x280(%rbp), %rdi
movq 0x21789(%rip), %rsi     # 0x28ff0
movq 0x2174a(%rip), %rdx     # 0x28fb8
callq 0x46a0
jmp 0x7c9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7c8a
movq -0x280(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
callq 0x4350
jmp 0x7c8a
movq -0x278(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x79(%rbp), %rdi
movq %rdi, -0x288(%rbp)
callq 0x46e0
movq -0x288(%rbp), %rdx
movb $0x0, -0xa2(%rbp)
movb $0x0, -0xa3(%rbp)
leaq 0x15203(%rip), %rsi     # 0x1cae0
leaq -0x78(%rbp), %rdi
callq 0x67d0
jmp 0x78e8
leaq -0x40(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x6ee0
movb %al, -0x289(%rbp)
jmp 0x78fd
movb -0x289(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x28a(%rbp)
jne 0x7975
jmp 0x7912
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x298(%rbp)
callq 0x46e0
movq -0x298(%rbp), %rdx
movb $0x1, -0xa2(%rbp)
leaq 0x147d6(%rip), %rsi     # 0x1c110
leaq -0xa0(%rbp), %rdi
callq 0x67d0
jmp 0x7948
movb $0x1, -0xa3(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x6ee0
movb %al, -0x299(%rbp)
jmp 0x7967
movb -0x299(%rbp), %al
movb %al, -0x28a(%rbp)
jmp 0x7975
movb -0x28a(%rbp), %al
movb %al, -0x29a(%rbp)
testb $0x1, -0xa3(%rbp)
jne 0x798c
jmp 0x7998
leaq -0xa0(%rbp), %rdi
callq 0x47d8
testb $0x1, -0xa2(%rbp)
jne 0x79a3
jmp 0x79af
leaq -0xa1(%rbp), %rdi
callq 0x44a0
leaq -0x78(%rbp), %rdi
callq 0x47d8
leaq -0x79(%rbp), %rdi
callq 0x44a0
movb -0x29a(%rbp), %al
testb $0x1, %al
jne 0x79d0
jmp 0x7a5f
movq -0x278(%rbp), %rax
movq %rax, -0x58(%rbp)
jmp 0x7a7c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7a51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7a48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7a2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0xa3(%rbp)
jne 0x7a21
jmp 0x7a2d
leaq -0xa0(%rbp), %rdi
callq 0x47d8
jmp 0x7a2f
testb $0x1, -0xa2(%rbp)
jne 0x7a3a
jmp 0x7a46
leaq -0xa1(%rbp), %rdi
callq 0x44a0
jmp 0x7a48
leaq -0x78(%rbp), %rdi
callq 0x47d8
leaq -0x79(%rbp), %rdi
callq 0x44a0
jmp 0x7c8a
leaq -0x40(%rbp), %rdi
callq 0x7700
movq %rax, -0x2a8(%rbp)
jmp 0x7a71
movq -0x2a8(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
jne 0x7bf5
movb $0x1, -0x261(%rbp)
movl $0x10, %edi
callq 0x4250
movq %rax, -0x2b0(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x4590
jmp 0x7aad
leaq 0x115c(%rip), %rsi      # 0x8c10
leaq -0x240(%rbp), %rdi
callq 0x8be0
movq %rax, -0x2b8(%rbp)
jmp 0x7ac9
movq -0x2b8(%rbp), %rdi
leaq 0x1463e(%rip), %rsi     # 0x1c115
callq 0x8bb0
movq %rax, -0x2c0(%rbp)
jmp 0x7ae5
leaq -0x260(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x6e20
jmp 0x7af7
movq -0x2c0(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x8b80
movq %rax, -0x2c8(%rbp)
jmp 0x7b13
movq -0x2c8(%rbp), %rdi
leaq 0x145fc(%rip), %rsi     # 0x1c11d
callq 0x8b50
movq %rax, -0x2d0(%rbp)
jmp 0x7b2f
movq -0x2d0(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x4440
jmp 0x7b44
movq -0x2b0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x4630
jmp 0x7b59
movq -0x2b0(%rbp), %rdi
movb $0x0, -0x261(%rbp)
movq 0x21482(%rip), %rsi     # 0x28ff0
movq 0x21443(%rip), %rdx     # 0x28fb8
callq 0x46a0
jmp 0x7c9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7bd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7bcd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7bc1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x47d8
leaq -0x260(%rbp), %rdi
callq 0x47d8
leaq -0x240(%rbp), %rdi
callq 0x4100
testb $0x1, -0x261(%rbp)
jne 0x7be4
jmp 0x7bf0
movq -0x2b0(%rbp), %rdi
callq 0x4350
jmp 0x7c8a
movq -0x20(%rbp), %rax
testb $0x1, (%rax)
je 0x7c66
movq -0x278(%rbp), %rax
cmpq %rax, -0x58(%rbp)
jne 0x7c66
movl $0x10, %edi
callq 0x4250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2d8(%rbp)
leaq 0x14507(%rip), %rsi     # 0x1c130
callq 0x41c0
jmp 0x7c30
movq -0x2d8(%rbp), %rdi
movq 0x213b2(%rip), %rsi     # 0x28ff0
movq 0x21373(%rip), %rdx     # 0x28fb8
callq 0x46a0
jmp 0x7c9c
movq -0x2d8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
callq 0x4350
jmp 0x7c8a
movq -0x58(%rbp), %rax
movq %rax, -0x2e0(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x47d8
movq -0x2e0(%rbp), %rax
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0x47d8
movq -0x48(%rbp), %rdi
callq 0x46d0
nopl (%rax)