// File: nickgammon[P]tinymudserver/commands.cpp
// Function: DoSay(tPlayer*, std::istream&)
void DoSay (tPlayer * p, istream & sArgs)
{
  p->NeedNoFlag ("gagged"); // can't if gagged
  string what = GetMessage (sArgs, "Say what?");  // what
  *p << "You say, \"" << what << "\"\n";  // confirm
  SendToAll (p->playername + " says, \"" + what + "\"\n", 
            p, p->room);  // say it
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x100(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x46e0
movq -0xf8(%rbp), %rdx
leaq 0xb302(%rip), %rsi      # 0x1c41e
leaq -0x30(%rbp), %rdi
callq 0x67d0
jmp 0x11127
movq -0x100(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x8330
jmp 0x11139
leaq -0x30(%rbp), %rdi
callq 0x47d8
leaq -0x31(%rbp), %rdi
callq 0x44a0
movq -0x10(%rbp), %rax
movq %rax, -0x110(%rbp)
leaq -0x89(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x46e0
movq -0x108(%rbp), %rdx
leaq 0xb2ae(%rip), %rsi      # 0x1c425
leaq -0x88(%rbp), %rdi
callq 0x67d0
jmp 0x11185
movq -0x110(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0x10680
jmp 0x1119e
leaq -0x88(%rbp), %rdi
callq 0x47d8
leaq -0x89(%rbp), %rdi
callq 0x44a0
movq -0x8(%rbp), %rdi
leaq 0xb26e(%rip), %rsi      # 0x1c42f
callq 0x14060
movq %rax, -0x118(%rbp)
jmp 0x111cf
movq -0x118(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xb450
movq %rax, -0x120(%rbp)
jmp 0x111e8
movq -0x120(%rbp), %rdi
leaq 0xb244(%rip), %rsi      # 0x1c43a
callq 0x13f30
jmp 0x111fd
movq -0x8(%rbp), %rsi
addq $0x90, %rsi
leaq 0xb22e(%rip), %rdx      # 0x1c43d
leaq -0xf0(%rbp), %rdi
callq 0x138e0
jmp 0x1121d
leaq -0xd0(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x8c40
jmp 0x11236
leaq 0xb1fd(%rip), %rdx      # 0x1c43a
leaq -0xb0(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0xc6c0
jmp 0x11252
movq -0x8(%rbp), %rsi
movl 0xd4(%rsi), %edx
leaq -0xb0(%rbp), %rdi
callq 0x88a0
jmp 0x1126a
leaq -0xb0(%rbp), %rdi
callq 0x47d8
leaq -0xd0(%rbp), %rdi
callq 0x47d8
leaq -0xf0(%rbp), %rdi
callq 0x47d8
leaq -0x68(%rbp), %rdi
callq 0x47d8
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x112c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x47d8
leaq -0x31(%rbp), %rdi
callq 0x44a0
jmp 0x11368
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x112f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x47d8
leaq -0x89(%rbp), %rdi
callq 0x44a0
jmp 0x11368
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x1135f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x11353
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x11347
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x47d8
leaq -0xd0(%rbp), %rdi
callq 0x47d8
leaq -0xf0(%rbp), %rdi
callq 0x47d8
leaq -0x68(%rbp), %rdi
callq 0x47d8
movq -0x40(%rbp), %rdi
callq 0x46d0
nopw %cs:(%rax,%rax)