// File: Themaister[P]umusd/player.cpp
// Function: Player::Player()
Player::Player()
{
   cmd = std::make_shared<TCPCommand>(42878);
   cmd->set_remote(*this);

   event = std::unique_ptr<EventHandler>(new EventHandler);
   dev = std::shared_ptr<Audio>(new ALSA);
   dev->set_remote(*this);

   event->add(cmd);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x1b2a0
movq -0x68(%rbp), %rdi
leaq 0x20699(%rip), %rax     # 0x3a9a0
movq %rax, (%rdi)
addq $0x8, %rdi
movq %rdi, -0x88(%rbp)
callq 0x1b2c0
movq -0x68(%rbp), %rdi
addq $0x18, %rdi
movq %rdi, -0x80(%rbp)
callq 0x1b2e0
movq -0x68(%rbp), %rdi
addq $0x20, %rdi
movq %rdi, -0x78(%rbp)
callq 0x1b310
movq -0x68(%rbp), %rdi
addq $0x30, %rdi
movq %rdi, -0x70(%rbp)
callq 0x1b330
movq -0x68(%rbp), %rdi
addq $0x40, %rdi
movq %rdi, -0x60(%rbp)
callq 0x1b350
jmp 0x1a360
movl $0xa77e, -0x2c(%rbp)    # imm = 0xA77E
leaq -0x28(%rbp), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x1b370
jmp 0x1a376
movq -0x68(%rbp), %rdi
addq $0x8, %rdi
movq %rdi, -0x90(%rbp)
leaq -0x28(%rbp), %rsi
movq %rsi, -0x98(%rbp)
callq 0x1b3e0
movq -0x98(%rbp), %rdi
callq 0x19b00
movq -0x90(%rbp), %rdi
callq 0x1b410
movq -0x68(%rbp), %rsi
movq %rax, %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
jmp 0x1a3bf
movl $0x38, %edi
callq 0x5450
movq %rax, -0xa0(%rbp)
jmp 0x1a3d2
movq -0xa0(%rbp), %rdi
callq 0x14890
jmp 0x1a3e0
movq -0xa0(%rbp), %rsi
leaq -0x38(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x1b430
movq -0x68(%rbp), %rdi
movq -0xb0(%rbp), %rsi
addq $0x18, %rdi
callq 0x1b460
movq -0xb0(%rbp), %rdi
callq 0x19a90
movl $0x50, %edi
callq 0x5450
movq %rax, -0xa8(%rbp)
jmp 0x1a42a
movq -0xa8(%rbp), %rdi
callq 0x5a40
jmp 0x1a438
movq -0xa8(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1b490
jmp 0x1a44a
movq -0x68(%rbp), %rdi
addq $0x20, %rdi
movq %rdi, -0xb8(%rbp)
leaq -0x48(%rbp), %rsi
movq %rsi, -0xc0(%rbp)
callq 0x1b4c0
movq -0xc0(%rbp), %rdi
callq 0x19a70
movq -0xb8(%rbp), %rdi
callq 0x1b4f0
movq -0x68(%rbp), %rsi
movq %rax, %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
jmp 0x1a493
movq -0x68(%rbp), %rdi
addq $0x18, %rdi
callq 0x1b510
movq -0x68(%rbp), %rsi
movq %rax, -0xd0(%rbp)
addq $0x8, %rsi
leaq -0x58(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x1b530
movq -0xd0(%rbp), %rdi
movq -0xc8(%rbp), %rsi
callq 0x14990
jmp 0x1a4d4
leaq -0x58(%rbp), %rdi
callq 0x6f00
addq $0xd0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x1a55e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x1a555
movq -0xa0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x38, %esi
callq 0x50a0
jmp 0x1a555
movq -0xa8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x50, %esi
callq 0x50a0
jmp 0x1a555
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x6f00
movq -0x60(%rbp), %rdi
callq 0x19a50
movq -0x70(%rbp), %rdi
callq 0x8740
movq -0x78(%rbp), %rdi
callq 0x19a70
movq -0x80(%rbp), %rdi
callq 0x19a90
movq -0x88(%rbp), %rdi
callq 0x19b00
movq -0x10(%rbp), %rdi
callq 0x52a0
nop