// File: theuni[P]libbtcnet/src/handler.cpp
// Function: CConnectionHandlerInt::CConnectionHandlerInt(CConnectionHandler&, bool)
CConnectionHandlerInt::CConnectionHandlerInt(CConnectionHandler& handler, bool enable_threading)
    : m_interface(handler), m_connection_index(0), m_bytes_read(0), m_bytes_written(0), m_outgoing_conn_count(0), m_incoming_conn_count(0), m_outgoing_conn_limit(0), m_enable_threading(enable_threading), m_shutdown(false)
{
    bool result = true;
    if (m_enable_threading)
        result = setup_threads();
    assert(result);
    (void)result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x38(%rbp)
movq %rdi, %rax
movq %rax, -0x58(%rbp)
callq 0x10b50
movq -0x38(%rbp), %rdi
addq $0x30, %rdi
movq %rdi, -0x50(%rbp)
callq 0x10b50
movq -0x38(%rbp), %rdi
addq $0x60, %rdi
movq %rdi, -0x48(%rbp)
callq 0x10b70
movq -0x38(%rbp), %rdi
addq $0x90, %rdi
movq %rdi, -0x40(%rbp)
callq 0x10b90
movq -0x38(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, 0xc0(%rdi)
movq $0x0, 0xc8(%rdi)
movq $0x0, 0xd0(%rdi)
movq $0x0, 0xd8(%rdi)
movl $0x0, 0xe0(%rdi)
movl $0x0, 0xe4(%rdi)
movl $0x0, 0xe8(%rdi)
movb -0x11(%rbp), %al
andb $0x1, %al
movb %al, 0xec(%rdi)
movb $0x0, 0xed(%rdi)
addq $0xf0, %rdi
callq 0x10bb0
movq -0x38(%rbp), %rdi
addq $0x118, %rdi            # imm = 0x118
callq 0x10bb0
movq -0x38(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0x10bb0
movq -0x38(%rbp), %rdi
addq $0x168, %rdi            # imm = 0x168
callq 0x10bd0
movq -0x38(%rbp), %rdi
addq $0x170, %rdi            # imm = 0x170
movq %rdi, -0x30(%rbp)
callq 0x10bf0
jmp 0xd556
movq -0x58(%rbp), %rdi
addq $0x178, %rdi            # imm = 0x178
movq %rdi, -0x60(%rbp)
callq 0x10bf0
jmp 0xd56c
movq -0x58(%rbp), %rdi
addq $0x180, %rdi            # imm = 0x180
movq %rdi, -0x68(%rbp)
callq 0x10c10
jmp 0xd582
movq -0x58(%rbp), %rdi
addq $0x188, %rdi            # imm = 0x188
movq %rdi, -0x70(%rbp)
callq 0x10c10
jmp 0xd598
movq -0x58(%rbp), %rdi
addq $0x190, %rdi            # imm = 0x190
movq %rdi, -0x78(%rbp)
callq 0x10c30
jmp 0xd5ae
movq -0x58(%rbp), %rdi
addq $0x198, %rdi            # imm = 0x198
movq %rdi, -0x80(%rbp)
callq 0x10c50
jmp 0xd5c4
movq -0x58(%rbp), %rdi
addq $0x1a0, %rdi            # imm = 0x1A0
movq %rdi, -0x88(%rbp)
callq 0x237b0
jmp 0xd5dd
movq -0x58(%rbp), %rdi
addq $0x1c8, %rdi            # imm = 0x1C8
movq %rdi, -0x90(%rbp)
callq 0x237b0
jmp 0xd5f6
movq -0x58(%rbp), %rax
movb $0x1, -0x25(%rbp)
testb $0x1, 0xec(%rax)
je 0xd6c1
callq 0xd760
movb %al, -0x91(%rbp)
jmp 0xd618
movb -0x91(%rbp), %al
andb $0x1, %al
movb %al, -0x25(%rbp)
jmp 0xd6c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xd733
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xd72a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xd721
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xd718
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xd70f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xd706
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xd6fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xd6f1
movq -0x90(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x23990
jmp 0xd6f1
testb $0x1, -0x25(%rbp)
je 0xd6c9
jmp 0xd6e8
leaq 0x180b8(%rip), %rdi     # 0x25788
leaq 0x180b8(%rip), %rsi     # 0x2578f
movl $0x25, %edx
leaq 0x180bc(%rip), %rcx     # 0x2579f
callq 0x52e0
addq $0xa0, %rsp
popq %rbp
retq
movq -0x88(%rbp), %rdi
callq 0x23990
movq -0x80(%rbp), %rdi
callq 0x10c70
movq -0x78(%rbp), %rdi
callq 0x10ca0
movq -0x70(%rbp), %rdi
callq 0x10cd0
movq -0x68(%rbp), %rdi
callq 0x10cd0
movq -0x60(%rbp), %rdi
callq 0x10d00
movq -0x30(%rbp), %rdi
callq 0x10d00
movq -0x40(%rbp), %rdi
callq 0x10d30
movq -0x48(%rbp), %rdi
callq 0x10d50
movq -0x50(%rbp), %rdi
callq 0x10d70
movq -0x38(%rbp), %rdi
callq 0x10d70
movq -0x20(%rbp), %rdi
callq 0x5710