// File: /workspace/github_cpp_makefile_star2_O1/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 0x6066(%rip), %rsi      # 0x10620
leaq 0x606b(%rip), %rdx      # 0x1062c
leaq -0x48(%rbp), %rdi
callq 0x4bc4
leaq -0x48(%rbp), %rsi
movq %r14, %rdi
callq 0x5bf4
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0xa5eb
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32f0
leaq -0x48(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x6034(%rip), %rsi      # 0x1062d
leaq 0x605e(%rip), %rdx      # 0x1065e
callq 0x4bc4
leaq -0x68(%rbp), %rcx
movb $0x1, (%rcx)
leaq -0x48(%rbp), %rdx
movq %r14, %rdi
movq %r15, %rsi
callq 0x5318
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0xa633
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 0xa658
movl 0xd4(%r14), %eax
movl %eax, -0x24(%rbp)
movq %r15, %rsi
callq 0x8774
leaq 0x5ff8(%rip), %rsi      # 0x1065f
movq %r14, %rdi
callq 0xb2a8
leaq 0x90(%rbx), %rsi
movq %rax, %rdi
callq 0x6a44
leaq 0x5f52(%rip), %rsi      # 0x105d7
movq %rax, %rdi
callq 0xb59c
leaq -0x24(%rbp), %rsi
movq %rax, %rdi
callq 0xb890
leaq 0x5a2c(%rip), %rsi      # 0x100cc
movq %rax, %rdi
callq 0xb0b0
leaq -0x48(%rbp), %r15
movq %r12, (%r15)
movq 0x90(%r14), %rsi
movq 0x98(%r14), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x5192
leaq 0x5f9e(%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 0x5192
leaq 0x5f8e(%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 0x5192
leaq 0x5f7c(%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 0x8a22
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0xa774
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x32f0
movq -0x68(%rbp), %rdi
cmpq %r14, %rdi
je 0xa789
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x32f0
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0xa79e
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32f0
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa7ad
movq %rax, %rbx
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0xa7cf
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa7cf
jmp 0xa7cc
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r14, %rdi
je 0xa7f1
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa7f1
jmp 0xa7ee
jmp 0xa7ee
jmp 0xa7ee
jmp 0xa808
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0xa80b
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa80b
movq %rax, %rbx
movq %rbx, %rdi
callq 0x3530