// File: /workspace/github_cpp_makefile_star2_O3/Unreality3D[P]Unreality3D/indie-studio/source/Network/Broker.cpp
// Function: network::Broker::onPacketConnect(int, IndieProtocol::Connect)
void	Broker::onPacketConnect(int fd, IndieProtocol::Connect conn)
  {
    std::cout << "FD : " << fd << " : CONNECT" << std::endl;
    std::cout << conn.name << std::endl;

    auto found = _clients.find(fd);
    if (found == _clients.end())
      {
	_clients[fd] = Client(fd);
	found = _clients.find(fd);
      }
    (*found).second.connected = true;
    (*found).second.name = conn.name;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movl %esi, 0x4(%rsp)
movq 0xb99c(%rip), %r15      # 0x1afb8
leaq 0x5c92(%rip), %rsi      # 0x152b5
movl $0x5, %edx
movq %r15, %rdi
callq 0xb870
movq %r15, %rdi
movl %ebp, %esi
callq 0xbc80
movq %rax, %r12
leaq 0x5c77(%rip), %rsi      # 0x152bb
movl $0xa, %edx
movq %rax, %rdi
callq 0xb870
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0xb750
movsbl %al, %esi
movq %r12, %rdi
callq 0xb040
movq %rax, %rdi
callq 0xb540
movq (%r13), %rsi
movq 0x8(%r13), %rdx
movq %r15, %rdi
callq 0xb870
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0xb750
movsbl %al, %esi
movq %r15, %rdi
callq 0xb040
movq %rax, %rdi
callq 0xb540
movq 0x190(%r14), %rax
leaq 0x188(%r14), %rbx
testq %rax, %rax
je 0xf6ed
movq %rbx, %rdi
xorl %ecx, %ecx
cmpl %ebp, 0x20(%rax)
setl %cl
cmovgeq %rax, %rdi
movq 0x10(%rax,%rcx,8), %rax
testq %rax, %rax
jne 0xf6c9
cmpq %rbx, %rdi
je 0xf6ed
cmpl %ebp, 0x20(%rdi)
jle 0xf840
movq %r13, 0x8(%rsp)
leaq 0x180(%r14), %r15
leaq 0x28(%rsp), %r12
movq %r12, %rdi
movl %ebp, %esi
callq 0xb330
leaq 0x4(%rsp), %rsi
movq %r15, %rdi
callq 0xbac0
movq %rax, %r15
leaq 0x30(%rsp), %r13
movq -0x8(%r13), %rax
movq %rax, (%r15)
leaq 0x8(%r15), %rdi
movq %r13, %rsi
callq 0xb910
movl 0x20(%r13), %eax
movl %eax, 0x28(%r15)
movzwl 0x24(%r13), %eax
movw %ax, 0x2c(%r15)
leaq 0x30(%r15), %rdi
leaq 0x58(%rsp), %rsi
callq 0xb200
leaq 0x70(%rsp), %rsi
movb -0x8(%rsi), %al
movb %al, 0x40(%r15)
leaq 0x48(%r15), %rdi
callq 0xb940
leaq 0x68(%r15), %rdi
leaq 0x90(%rsp), %rsi
callq 0xbb00
movl $0x88, %esi
leaq (%r15,%rsi), %rdi
addq %r12, %rsi
callq 0xbb90
movl $0xa8, %eax
movq %r15, %rdi
addq %rax, %rdi
addq %rax, %r12
movq %r12, %rsi
callq 0xb200
movq 0xc8(%r15), %rax
leaq 0x28(%rsp), %r12
movups 0xb8(%r12), %xmm0
movups 0xb8(%r15), %xmm1
movups %xmm0, 0xb8(%r15)
movq 0xc8(%r12), %rcx
movq %rcx, 0xc8(%r15)
leaq 0x10(%rsp), %rdi
movaps %xmm1, (%rdi)
movq %rax, 0x10(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0xb8(%r12)
movq $0x0, 0xc8(%r12)
callq 0xb920
movq %r12, %rdi
callq 0xb8c0
movq 0x190(%r14), %rdx
testq %rdx, %rdx
movq 0x8(%rsp), %r13
je 0xf83d
movl 0x4(%rsp), %eax
movq %rbx, %rcx
xorl %esi, %esi
cmpl %eax, 0x20(%rdx)
setl %sil
cmovgeq %rdx, %rcx
movq 0x10(%rdx,%rsi,8), %rdx
testq %rdx, %rdx
jne 0xf81a
cmpq %rbx, %rcx
je 0xf83d
cmpl 0x20(%rcx), %eax
cmovgeq %rcx, %rbx
movq %rbx, %rdi
movb $0x1, 0x28(%rdi)
addq $0x30, %rdi
movq %r13, %rsi
callq 0xb3e0
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xb8c0
movq %rbx, %rdi
callq 0xbce0
nop