// File: /workspace/github_cpp_makefile_star2_O3/nickgammon[P]tinymudserver/commands.cpp
// Function: DoTransfer(tPlayer*, std::istream&)
void DoTransfer (tPlayer * p, istream & sArgs)
{
  p->NeedFlag ("can_transfer");  // permissions
  tPlayer * ptarget = p->GetPlayer (sArgs, 
    "Usage: transfer <who> [ where ] (default is here)", true);  // who
  int room;
  sArgs >> room;
  
  if (sArgs.fail ())
    room = p->room;   // if no room number, transfer to our room
  
  NoMore (p, sArgs);  // check no more input  

  *p << "You transfer " <<  ptarget->playername << " to room " << room << "\n";
  
   // move player
  PlayerToRoom (ptarget, room,
                p->playername + " transfers you to another room!\n",
                ptarget->playername + " is yanked away by unseen forces!\n",
                ptarget->playername + " appears breathlessly!\n");
     
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x70, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq -0x38(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x60d1(%rip), %rsi      # 0x10620
leaq 0x60d6(%rip), %rdx      # 0x1062c
leaq -0x48(%rbp), %rdi
callq 0x4bc4
leaq -0x48(%rbp), %rsi
movq %r14, %rdi
callq 0x5bb6
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0xa580
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32f0
leaq -0x48(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x609f(%rip), %rsi      # 0x1062d
leaq 0x60c9(%rip), %rdx      # 0x1065e
callq 0x4bc4
leaq -0x68(%rbp), %rcx
movb $0x1, (%rcx)
leaq -0x48(%rbp), %rdx
movq %r14, %rdi
movq %r15, %rsi
callq 0x52fc
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0xa5c8
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32f0
leaq -0x24(%rbp), %rsi
movq %r15, %rdi
callq 0x31e0
movq (%r15), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x20(%r15,%rax)
je 0xa5ed
movl 0xd4(%r14), %eax
movl %eax, -0x24(%rbp)
movq %r15, %rsi
callq 0x8708
leaq 0x6063(%rip), %rsi      # 0x1065f
movq %r14, %rdi
callq 0xb23c
leaq 0x90(%rbx), %rsi
movq %rax, %rdi
callq 0x6a0a
leaq 0x5fbd(%rip), %rsi      # 0x105d7
movq %rax, %rdi
callq 0xb530
leaq -0x24(%rbp), %rsi
movq %rax, %rdi
callq 0xb824
leaq 0x5a97(%rip), %rsi      # 0x100cc
movq %rax, %rdi
callq 0xb044
leaq -0x48(%rbp), %r15
movq %r12, (%r15)
movq 0x90(%r14), %rsi
movq 0x98(%r14), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x5170
leaq 0x6009(%rip), %rsi      # 0x1066d
movq %r15, %rdi
callq 0x35a0
leaq -0x58(%rbp), %r14
movq %r14, -0x10(%r14)
movq 0x90(%rbx), %rsi
movq 0x98(%rbx), %rdx
addq %rsi, %rdx
leaq -0x68(%rbp), %rdi
callq 0x5170
leaq 0x5ff9(%rip), %rsi      # 0x1068e
leaq -0x68(%rbp), %rdi
callq 0x35a0
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x90(%rbx), %rsi
movq 0x98(%rbx), %rdx
addq %rsi, %rdx
leaq -0x88(%rbp), %rdi
callq 0x5170
leaq 0x5fe7(%rip), %rsi      # 0x106b1
leaq -0x88(%rbp), %rdi
callq 0x35a0
leaq -0x24(%rbp), %rsi
leaq -0x48(%rbp), %rdx
leaq -0x68(%rbp), %rcx
leaq -0x88(%rbp), %r8
movq %rbx, %rdi
callq 0x89b3
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0xa709
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x32f0
movq -0x68(%rbp), %rdi
cmpq %r14, %rdi
je 0xa71e
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x32f0
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0xa733
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32f0
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa742
movq %rax, %rbx
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0xa764
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa764
jmp 0xa761
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r14, %rdi
je 0xa786
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa786
jmp 0xa783
jmp 0xa783
jmp 0xa783
jmp 0xa79d
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0xa7a0
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa7a0
movq %rax, %rbx
movq %rbx, %rdi
callq 0x3530