// File: /workspace/github_cpp_makefile_star2_O2/flightaware[P]beast-splitter/beast_output.cc
// Function: beast::SocketConnector::connection_established(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&)
void SocketConnector::connection_established(const tcp::endpoint &endpoint) {
        auto self(shared_from_this());

        std::cerr << host << ":" << port_or_service << ": connected to " << endpoint << " with settings " << initial_settings << std::endl;
        SocketOutput::pointer new_output = SocketOutput::create(service, std::move(socket), initial_settings);

        modes::FilterDistributor::handle h = distributor.add_client(std::bind(&SocketOutput::write, new_output, std::placeholders::_1), initial_settings.to_filter());

        new_output->set_settings_notifier([this, self, h](const Settings &newsettings) { distributor.update_client_filter(h, newsettings.to_filter()); });

        new_output->set_close_notifier([this, self, h] {
            distributor.remove_client(h);
            schedule_reconnect();
        });

        new_output->start();
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xd8, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0x26ddc
leaq 0x128(%rbx), %rsi
movq 0x49e8c(%rip), %rdi     # 0x6cfd8
callq 0xf590
leaq 0x1feae(%rip), %rsi     # 0x43006
movq %rax, %rdi
callq 0xf610
leaq 0x148(%rbx), %rsi
movq %rax, %rdi
callq 0xf590
leaq 0x213db(%rip), %rsi     # 0x44551
movq %rax, %rdi
callq 0xf610
movq %rax, %rdi
movq %r14, %rsi
callq 0x1eff6
leaq 0x21de0(%rip), %rsi     # 0x44f70
movq %rax, %rdi
callq 0xf610
leaq 0x170(%rbx), %r14
movq %rax, %rdi
movq %r14, %rsi
callq 0x11d10
movq %rax, %rdi
callq 0xf310
movq 0x18(%rbx), %rsi
leaq 0x68(%rbx), %rdx
movq %rsp, %rdi
movq %r14, %rcx
callq 0x25842
movq 0x168(%rbx), %r15
leaq -0x16a1(%rip), %rax     # 0x21b32
leaq 0xa8(%rsp), %rdi
movq %rax, -0x10(%rdi)
andq $0x0, -0x8(%rdi)
movq %rsp, %rsi
callq 0x258ee
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x258a6
leaq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0x119d6
leaq 0xb8(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
callq 0x10b30
movl %eax, %ebp
leaq 0xb8(%rsp), %rdi
callq 0x11244
leaq 0xb0(%rsp), %rdi
callq 0x14e02
movq (%rsp), %r14
leaq 0x18(%rsp), %r15
movq %rbx, -0x8(%r15)
leaq 0x40(%rsp), %rsi
movq %r15, %rdi
callq 0x25ff2
movl %ebp, 0x10(%r15)
xorps %xmm0, %xmm0
movaps %xmm0, 0x70(%rsp)
movaps %xmm0, 0x80(%rsp)
pushq $0x20
popq %rdi
callq 0xf620
movaps 0x10(%rsp), %xmm0
movups %xmm0, (%rax)
movq 0x20(%rsp), %rcx
andq $0x0, 0x20(%rsp)
movq %rcx, 0x10(%rax)
andq $0x0, 0x18(%rsp)
movl %ebp, 0x18(%rax)
leaq 0x70(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x20b8(%rip), %rax      # 0x2535c
movq %rax, 0x18(%rsi)
leaq 0x20e9(%rip), %rax      # 0x25398
movq %rax, 0x10(%rsi)
addq $0xc0, %r14
movq %r14, %rdi
callq 0x266fc
leaq 0x20(%rsp), %r15
leaq 0x70(%rsp), %rdi
callq 0x11244
movq %r15, %rdi
callq 0x14e02
movq (%rsp), %r14
movq %rbx, -0x10(%r15)
leaq 0x18(%rsp), %rbx
leaq 0x40(%rsp), %rsi
movq %rbx, %rdi
callq 0x25ff2
movl %ebp, 0x10(%rbx)
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movaps %xmm0, 0x60(%rsp)
pushq $0x20
popq %rdi
callq 0xf620
movaps 0x10(%rsp), %xmm0
movups %xmm0, (%rax)
movq 0x20(%rsp), %rcx
andq $0x0, 0x20(%rsp)
movq %rcx, 0x10(%rax)
andq $0x0, 0x18(%rsp)
movl %ebp, 0x18(%rax)
leaq 0x50(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x20e0(%rip), %rax      # 0x2541a
movq %rax, 0x18(%rsi)
leaq 0x20f5(%rip), %rax      # 0x2543a
movq %rax, 0x10(%rsi)
addq $0xe0, %r14
movq %r14, %rdi
callq 0x26790
leaq 0x20(%rsp), %rbx
leaq 0x50(%rsp), %rdi
callq 0x11244
movq %rbx, %rdi
callq 0x14e02
movq (%rsp), %rdi
callq 0x2177a
leaq 0x8(%rsp), %rdi
callq 0x14e02
leaq 0x48(%rsp), %rdi
callq 0x14e02
addq $0xd8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x233e5
jmp 0x233a1
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
jmp 0x233b5
jmp 0x233ad
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x11244
leaq 0x20(%rsp), %rdi
jmp 0x233e0
movq %rax, %rbx
jmp 0x233d8
jmp 0x233f1
movq %rax, %rbx
leaq 0xb8(%rsp), %rdi
callq 0x11244
leaq 0xb0(%rsp), %rdi
callq 0x14e02
leaq 0x8(%rsp), %rdi
callq 0x14e02
jmp 0x233f4
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x14e02
movq %rbx, %rdi
callq 0xfba0