// File: /workspace/github_cpp_makefile_star2_O3/theuni[P]libbtcnet/src/connectionbase.cpp
// Function: ConnectionBase::InitConnection()
void ConnectionBase::Retry(ConnID newId)
{
    m_bev.free();
    m_rate_cfg.free();
    m_bytes_read = 0;
    m_bytes_written = 0;

    m_id = newId;
    DEBUG_PRINT(LOGVERBOSE, "id:", m_id, "queuing reconnect");
    timeval timeout{m_connection.GetOptions().nRetryInterval, 0};
    m_reconnect_func.add(&timeout);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
cmpq $0x0, 0x1a8(%rdi)
je 0xe317
movq %rdi, %rbx
leaq 0x18(%rdi), %r15
movq %r15, %rdi
callq 0x6fa8
movq %rax, %r14
movq %r15, %rdi
callq 0x6fb0
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0xe2f8
movq %rax, %r15
callq 0x41a0
movl %eax, %ebp
movl %eax, %edi
callq 0xe052
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0xe2f8
movq %r15, 0x10(%rsp)
movl $0x6, %esi
callq 0x4510
movq %r14, 0x8(%rsp)
movslq 0x18(%r14), %rax
movq %rax, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0xe2f8
leaq 0x18(%rsp), %rdx
movq %rdx, %rsi
callq 0x4500
leaq 0x280(%rbx), %r12
movq 0x10(%rbx), %r13
xorl %r15d, %r15d
leaq 0x28(%rsp), %r14
movq %r15, 0x8(%r14)
movl $0x18, %edi
callq 0x4350
leaq 0x1d0(%rip), %rcx       # 0xe364
movq %rcx, (%rax)
movq %r15, 0x8(%rax)
movq %rbx, 0x10(%rax)
movq %rax, (%r14)
leaq 0xacb(%rip), %rax       # 0xec74
movq %rax, 0x18(%r14)
leaq 0xadc(%rip), %rax       # 0xec90
movq %rax, 0x10(%r14)
movq %r12, %rdi
movq %r13, %rsi
movl %ebp, %edx
movl $0x6, %ecx
movq %r14, %r8
callq 0x119e0
movq 0x38(%rsp), %rax
testq %rax, %rax
movq 0x10(%rsp), %r15
je 0xe1eb
leaq 0x28(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movslq 0x28(%r15), %rdx
testq %rdx, %rdx
movq 0x8(%rsp), %r14
jle 0xe20b
leaq 0x1e4(%rip), %rax       # 0xe3e4
movq %rax, 0x2a8(%rbx)
xorl %ecx, %ecx
jmp 0xe23f
cmpl $0x0, 0x8(%r15)
jle 0xe230
leaq 0x371(%rip), %rax       # 0xe58a
movq %rax, 0x2a8(%rbx)
movslq (%r15), %rax
movslq 0x4(%r15), %rdx
addq %rax, %rdx
movl 0xc(%r15), %ecx
jmp 0xe23f
movq $0x0, 0x2a8(%rbx)
xorl %ecx, %ecx
xorl %edx, %edx
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0xe2f8
movl $0x2, %esi
callq 0x40c0
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0xe2f8
movslq 0x1c(%r14), %rdx
movl $0x4, %esi
xorl %ecx, %ecx
callq 0x40c0
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0xe2f8
movq 0x2a8(%rbx), %rsi
leaq -0x2c7(%rip), %rcx      # 0xdfcc
xorl %edx, %edx
movq %rbx, %r8
callq 0x4360
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0xe2f8
callq 0x4270
movq 0x1a8(%rbx), %rdi
testq %rdi, %rdi
je 0xe2f8
movq %rax, %r14
callq 0x4130
movq %rax, %r15
leaq 0x58e(%rip), %rsi       # 0xe85a
movq %r14, %rdi
movq %rbx, %rdx
callq 0x4210
leaq 0x5de(%rip), %rsi       # 0xe8bc
movq %r15, %rdi
movq %rbx, %rdx
callq 0x4210
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4c50(%rip), %rdi      # 0x12f4f
leaq 0x4c5a(%rip), %rsi      # 0x12f60
leaq 0x5600(%rip), %rcx      # 0x1390d
movl $0x4b, %edx
callq 0x4260
leaq 0x551b(%rip), %rdi      # 0x13839
leaq 0x5667(%rip), %rsi      # 0x1398c
leaq 0x5733(%rip), %rcx      # 0x13a5f
movl $0xb7, %edx
callq 0x4260
jmp 0xe35c
movq %rax, %rbx
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0xe354
leaq 0x28(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq %rbx, %rdi
callq 0x4640
movq %rax, %rdi
callq 0xaa1e