// File: /workspace/github_cpp_makefile_star2_O3/nickgammon[P]tinymudserver/commands.cpp
// Function: DoGoTo(tPlayer*, std::istream&)
void DoGoTo (tPlayer * p, istream & sArgs)
  {
  p->NeedFlag ("can_goto");

  int room;
  sArgs >> room;
  
  // check room number supplied OK
  if (sArgs.fail ())
    throw runtime_error ("Go to which room?");

  NoMore (p, sArgs);  // check no more input

  // move player
  PlayerToRoom (p, room,
                MAKE_STRING ("You go to room " << room << "\n"),
                p->playername + " disappears in a puff of smoke!\n",
                p->playername + " appears in a puff of smoke!\n");
  
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x1e8, %rsp            # imm = 0x1E8
movq %rsi, %r14
movq %rdi, %rbx
leaq -0x1e8(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x632c(%rip), %rsi      # 0x105b6
leaq 0x632d(%rip), %rdx      # 0x105be
leaq -0x1f8(%rbp), %rdi
callq 0x4bc4
leaq -0x1f8(%rbp), %rsi
movq %rbx, %rdi
callq 0x5bb6
movq -0x1f8(%rbp), %rdi
cmpq %r15, %rdi
je 0xa2c7
movq -0x1e8(%rbp), %rsi
incq %rsi
callq 0x32f0
leaq -0x1c(%rbp), %rsi
movq %r14, %rdi
callq 0x31e0
movq (%r14), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x20(%r14,%rax)
jne 0xa443
movq %r14, %rsi
callq 0x8708
leaq -0x1f8(%rbp), %r14
movq %r14, %rdi
callq 0x33d0
movq (%r14), %rax
movq -0x18(%rax), %rax
orl $0x1, -0x1e0(%rbp,%rax)
leaq 0x62be(%rip), %rsi      # 0x105d1
movl $0xf, %edx
movq %r14, %rdi
callq 0x3370
movl -0x1c(%rbp), %esi
leaq -0x1f8(%rbp), %rdi
callq 0x3510
leaq 0x5d96(%rip), %rsi      # 0x100cc
leaq -0x1f8(%rbp), %rdi
movl $0x1, %edx
callq 0x3370
leaq -0x1f0(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x3480
leaq -0x50(%rbp), %r14
movq %r14, -0x10(%r14)
movq 0x90(%rbx), %rsi
movq 0x98(%rbx), %rdx
addq %rsi, %rdx
leaq -0x60(%rbp), %rdi
callq 0x5170
leaq 0x6261(%rip), %rsi      # 0x105e1
leaq -0x60(%rbp), %rdi
callq 0x35a0
leaq -0x30(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x90(%rbx), %rsi
movq 0x98(%rbx), %rdx
addq %rsi, %rdx
leaq -0x40(%rbp), %rdi
callq 0x5170
leaq 0x6250(%rip), %rsi      # 0x10602
leaq -0x40(%rbp), %rdi
callq 0x35a0
leaq -0x1c(%rbp), %rsi
leaq -0x80(%rbp), %rdx
leaq -0x60(%rbp), %rcx
leaq -0x40(%rbp), %r8
movq %rbx, %rdi
callq 0x89b3
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0xa3e8
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x32f0
movq -0x60(%rbp), %rdi
cmpq %r14, %rdi
je 0xa3fd
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x32f0
leaq -0x70(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa416
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x32f0
movq 0xbb9b(%rip), %rsi      # 0x15fb8
leaq -0x1f8(%rbp), %rdi
callq 0x3190
leaq -0x188(%rbp), %rdi
callq 0x3110
addq $0x1e8, %rsp            # imm = 0x1E8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x3180
movq %rax, %r14
leaq 0x6168(%rip), %rsi      # 0x105bf
movq %rax, %rdi
callq 0x3130
movq 0xbb8a(%rip), %rsi      # 0x15ff0
movq 0xbb43(%rip), %rdx      # 0x15fb0
movq %r14, %rdi
callq 0x3500
movq %rax, %rbx
movq %r14, %rdi
callq 0x3250
jmp 0xa522
jmp 0xa487
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0xa4a6
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa4a6
jmp 0xa4a3
movq %rax, %rbx
movq -0x60(%rbp), %rdi
cmpq %r14, %rdi
je 0xa4c0
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa4c0
movq %rax, %rbx
leaq -0x70(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa503
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa503
movq %rax, %rbx
movq -0x1f8(%rbp), %rdi
cmpq %r15, %rdi
je 0xa522
movq -0x1e8(%rbp), %rsi
incq %rsi
callq 0x32f0
jmp 0xa522
movq %rax, %rbx
jmp 0xa522
movq %rax, %rbx
movq 0xbaae(%rip), %rsi      # 0x15fb8
leaq -0x1f8(%rbp), %rdi
callq 0x3190
leaq -0x188(%rbp), %rdi
callq 0x3110
movq %rbx, %rdi
callq 0x3530