// File: /workspace/github_cpp_makefile_star2_O2/Unreality3D[P]Unreality3D/indie-studio/source/Network/NetManager.cpp
// Function: network::NetManager::start(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int)
void	NetManager::start(std::string const &name, std::string const &address, int port)
  {
    _tcp.OnDisconnect(
		      [this](Socket::Client &c)
		      {
			this->onDisconnect(c);
		      });
    _tcp.OnReadPossible(
			[this](Socket::Client &c, size_t size)
			{
			  this->onReadPossible(c, size);
			});
    _tcp.OnWritePossible(
			 [this](Socket::Client &c)
			 {
			   this->onWritePossible(c);
			 });

    _deserializer.OnConnect(
			    [this](IndieProtocol::Connect c)
			    {
			      this->onPacketConnect(c);
			    });
    _deserializer.OnList(
			 [this](IndieProtocol::List l)
			 {
			   this->onPacketList(l);
			 });
    _deserializer.OnMessage(
			    [this](IndieProtocol::Message m)
			    {
			      this->onPacketMessage(m);
			    });

    _writeBuffer.push_back(_serializer(IndieProtocol::Connect(name)));

    _tcp.start(address, port);
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movl %ecx, %ebx
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r14
leaq 0x8(%rsp), %rsi
andq $0x0, 0x8(%rsi)
movq %rdi, (%rsi)
leaq 0x519(%rip), %rax       # 0x11276
movq %rax, 0x18(%rsi)
leaq 0x514(%rip), %rax       # 0x1127c
movq %rax, 0x10(%rsi)
callq 0x102e0
leaq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0xf7d0
andq $0x0, 0x8(%r13)
movq %r14, (%r13)
leaq 0x514(%rip), %rax       # 0x112a2
movq %rax, 0x18(%r13)
leaq 0x515(%rip), %rax       # 0x112ae
movq %rax, 0x10(%r13)
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xf740
leaq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0xf7d0
andq $0x0, 0x8(%r13)
movq %r14, (%r13)
leaq 0x50d(%rip), %rax       # 0x112d4
movq %rax, 0x18(%r13)
leaq 0x50a(%rip), %rax       # 0x112dc
movq %rax, 0x10(%r13)
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xf7a0
leaq 0x8(%rsp), %rbp
movq %rbp, %rdi
callq 0xf7d0
leaq 0x178(%r14), %r13
andq $0x0, 0x8(%rbp)
movq %r14, (%rbp)
leaq 0x4fb(%rip), %rax       # 0x11302
movq %rax, 0x18(%rbp)
leaq 0x550(%rip), %rax       # 0x11362
movq %rax, 0x10(%rbp)
leaq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0xf890
leaq 0x8(%rsp), %rbp
movq %rbp, %rdi
callq 0xf7d0
andq $0x0, 0x8(%rbp)
movq %r14, (%rbp)
leaq 0x548(%rip), %rax       # 0x11388
movq %rax, 0x18(%rbp)
leaq 0x5b5(%rip), %rax       # 0x11400
movq %rax, 0x10(%rbp)
leaq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x10440
leaq 0x8(%rsp), %rbp
movq %rbp, %rdi
callq 0xf7d0
andq $0x0, 0x8(%rbp)
movq %r14, (%rbp)
leaq 0x5ad(%rip), %rax       # 0x11426
movq %rax, 0x18(%rbp)
leaq 0x61c(%rip), %rax       # 0x114a0
movq %rax, 0x10(%rbp)
leaq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x10320
leaq 0x8(%rsp), %rdi
callq 0xf7d0
leaq 0x58(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0xfe90
leaq 0x8(%rsp), %rdi
movq %r13, %rsi
callq 0xfe90
leaq 0x170(%r14), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x102a0
leaq 0x240(%r14), %rdi
leaq 0x28(%rsp), %rsi
callq 0xf980
leaq 0x28(%rsp), %rdi
callq 0xf7b0
leaq 0x8(%rsp), %rdi
callq 0xf450
leaq 0x58(%rsp), %rdi
callq 0xf450
leaq 0x38(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0xfe90
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0xfac0
leaq 0x38(%rsp), %rdi
callq 0xf450
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
jmp 0x10f67
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xf7b0
jmp 0x10f53
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xf450
jmp 0x10f62
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0xf450
jmp 0x10f85
jmp 0x10f78
jmp 0x10f78
jmp 0x10f78
jmp 0x10f78
jmp 0x10f78
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xf7d0
movq %rbx, %rdi
callq 0x102f0
nop