Function at 0x14023be50
Capabilities:
Set socket configuration

Disassembly:
endbr64
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2f8
movups xmmword [rsp + 0x2e0], xmm6
mov rsi, qword [0x140485900]
movdqu xmm1, xmmword [r9]
mov r9, qword [rsp + 0x360]
mov rax, qword [rsi]
mov qword [rsp + 0x2d8], rax
xor eax, eax
mov rbx, rdx
movups xmmword [rsp + 0x70], xmm1
mov dword [rsp + 0x350], r8d
call sym._ZNK4epee9net_utils13ssl_options_t9configureERN5boost4asio3ssl6streamINS3_19basic_stream_socketINS3_2ip3tcpENS3_15any_io_execu
cmp qword [rbx + 0x88], 0
je 0x14023d285
mov rax, qword [rbx + 0x80]
mov rdx, qword [rbx + 0x90]
lea rsi, [rsp + 0x260]
mov qword [rsp + 0x30], rsi
mov rcx, rsi
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x288], rdx
lea rdx, [rbx + 0x68]
call qword [rax + 8]
mov rax, qword [rbx + 0x98]
cmp qword [rsp + 0x280], 0
mov qword [rsp + 0x290], rax
je 0x14023d2ab
mov qword [rsp + 0xe0], 0
mov rsi, qword [rax]
mov rax, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x30]
call qword [rax + 0x18]
mov rdx, rax
lea r13, [rsp + 0xe0]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x48], rax
mov r8, rax
mov rcx, r13
call rsi
cmp qword [rsp + 0x280], 0
mov rsi, qword [rsp + 0xe0]
je 0x14023bf67
mov rax, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x30]
call qword [rax]
mov rax, qword [rsi + 0x10]
xor edx, edx
lock xadd dword [rax + 0x34], edx
test edx, edx
jne 0x14023c740
mov rcx, qword [rsi]
mov rdx, r13
lea rax, sym.imp.libstdc_6.dll_vtable_for___cxxabiv1::__function_type_info
mov r9, rsi
lea r8, [method.boost::asio::execution_context::service_boost::asio::detail::service_registry::create_boost::asio::detail::strand_service__boost::asio.io_context__void_]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
call method.boost::asio::detail::service_registry.do_use_service_boost::asio::execution_context::service::key_const__boost::asio::execution_context::service____void___void_
mov rdi, rax
mov qword [rsp + 0x90], rax
lea rbp, [rax + 0x38]
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, rbp
mov qword [rsp + 0x50], rax
call rax
mov rcx, qword [rdi + 0x668]
lea rax, [rcx + 1]
mov qword [rdi + 0x668], rax
movabs rax, 0x15390948f40feac7
mul rcx
shr rdx, 4
lea rax, [rdx + rdx*2]
shl rax, 6
add rax, rdx
sub rcx, rax
lea r12, [rdi + rcx*8]
mov rdi, qword [r12 + 0x60]
test rdi, rdi
je 0x14023c750
lea rax, [rsp + 0x2a0]
mov rcx, rbp
mov qword [rsp + 0x98], rdi
lea rdi, sym._ZN5boost4asio9execution6detail17any_executor_base14target_type_exINS0_10io_context19basic_executor_typeISaIvELy0EEEEERKSt9typ
mov qword [rsp + 0x40], rax
lea rax, method.void_boost::asio::execution::detail::any_executor_base::destroy_object_boost::asio::io_context::basic_executor_type_std.allocator_void___0ull____boost::asio::execution::detail::any_executor_base_
movq xmm6, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movhps xmm6, qword [rsp + 0x40]
mov qword [rsp + 0x58], rax
call rax
mov rcx, qword [rsi]
lea rax, sym.imp.libstdc_6.dll_vtable_for___cxxabiv1::__function_type_info
mov r9, rsi
lea r8, [sym._ZN5boost4asio6detail16service_registry6createINS1_22deadline_timer_serviceINS1_18chrono_time_traitsINSt6chrono3_V212steady_cl]
mov rdx, r13
mov qword [rsp + 0xe8], 0
imul rbp, qword [rsp + 0x368], 0xf4240
mov qword [rsp + 0xe0], rax
call method.boost::asio::detail::service_registry.do_use_service_boost::asio::execution_context::service::key_const__boost::asio::execution_context::service____void___void_
pxor xmm0, xmm0
mov qword [rsp + 0x268], 0
mov qword [rsp + 0x260], rax
mov r12, rax
lea rax, str.0g0_
movups xmmword [rsp + 0x278], xmm0
movq xmm2, rax
movups xmmword [rsp + 0x290], xmm0
movq xmm0, rdi
punpcklqdq xmm0, xmm2
mov qword [rsp + 0x2a0], rsi
mov qword [rsp + 0x288], 0xffffffffffffffff
mov byte [rsp + 0x270], 0
movups xmmword [rsp + 0x2b8], xmm6
movups xmmword [rsp + 0x2c8], xmm0
call sym.std::chrono::_V2::steady_clock::now__
test rax, rax
js 0x14023c638
movabs rdi, 0x7fffffffffffffff
mov rdx, rdi
sub rdx, rax
cmp rbp, rdx
jle 0x14023c651
cmp byte [rsp + 0x270], 0
jne 0x14023c664
lea rbp, [rsp + 0x1c0]
pxor xmm0, xmm0
xor edx, edx
mov qword [rsp + 0x268], rdi
mov rcx, rbp
movups xmmword [rsp + 0x1c8], xmm0
movups xmmword [rsp + 0x1d8], xmm0
movups xmmword [rsp + 0x1e8], xmm0
mov qword [rsp + 0x1f8], 0
call sym.pthread_mutex_init
lea rax, [rsp + 0x1c8]
mov rcx, rax
mov qword [rsp + 0x38], rax
call sym.std::condition_variable::condition_variable__
mov ecx, 0x18
mov qword [rsp + 0x1d0], 0
call sym.operator_new_unsigned_long_long_
mov rdi, rax
mov rax, qword [0x14046fe48]
xor edx, edx
lea r12, [rdi + 0x10]
mov qword [rdi + 8], rax
lea rax, method.std::_Sp_counted_ptr_inplace_std::mutex__std.allocator_void______gnu_cxx::_Lock_policy_2_::_Sp_counted_ptr_inplace__
mov rcx, r12
mov qword [rdi], rax
call sym.pthread_mutex_init
movq xmm0, rbp
mov r9d, 0x101
lea rdx, [rsp + 0xb0]
movhps xmm0, qword [rsp + 0x30]
mov ecx, 0xa0
mov qword [rsp + 0x1d8], rdi
mov rdi, qword [rsp + 0x260]
mov qword [rsp + 0x1d0], r12
mov word [rsp + 0x1f8], r9w
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xe0], rdx
movups xmmword [rsp + 0xa0], xmm0
call method.boost::asio.asio_handler_allocate_unsigned_long_long__..._
mov r15, rax
pxor xmm0, xmm0
mov qword [rsp + 0xe8], rax
lea rax, [sym._ZN5boost4asio6detail12wait_handlerIZZNK4epee9net_utils13ssl_options_t9handshakeERNS0_3ssl6streamINS0_19basic_stream_socketINS]
movups xmmword [r15], xmm0
movdqu xmm3, xmmword [rsp + 0xb0]
mov qword [r15 + 0x28], rax
mov qword [r15 + 0x10], 0
mov dword [r15 + 0x30], 0
mov dword [r15 + 0x38], 0
mov qword [r15 + 0x40], 0
mov qword [r15 + 0x48], 0
mov qword [r15 + 0x50], 0
movups xmmword [r15 + 0x18], xmm0
movups xmmword [r15 + 0x58], xmm3
cmp qword [rsp + 0x2c0], 0
je 0x14023c8c8
mov rax, qword [rsp + 0x2c8]
call qword [rax]
lea rdx, sym.imp.libstdc_6.dll_vtable_for_std::__cxx11::basic_stringstream_char__std::char_traits_char___std::allocator_char___
mov rcx, rax
call sym.std::type_info::operator_std::type_info_const__const
test al, al
je 0x14023c8e3
lea rax, method.void_boost::asio::execution::detail::any_executor_base::query_fn_void__boost::asio::execution::context_as_t_boost::asio.execution_context____void__void_const__void_const_
pxor xmm0, xmm0
mov qword [r15 + 0x90], 0
mov qword [r15 + 0x98], rax
movups xmmword [r15 + 0x80], xmm0
mov qword [rsp + 0xf0], r15
lea r9, [rsp + 0x278]
lea rdx, [rdi + 0x28]
mov byte [rsp + 0x270], 1
mov rcx, qword [rdi + 0x58]
lea r8, [rsp + 0x268]
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x68], r9
call sym._ZN5boost4asio6detail19win_iocp_io_context14schedule_timerINS1_18chrono_time_traitsINSt6chrono3_V212steady_clockENS0_11wait_tr
lea rax, [rsp + 0x350]
mov rdx, r13
mov ecx, 0x68
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0x70]
mov r15, qword [rsp + 0x90]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xc0], r13
call method.boost::asio.asio_handler_allocate_unsigned_long_long__..._
mov rdi, rax
mov qword [rsp + 0xc8], rax
movq xmm6, rax
pxor xmm0, xmm0
lea rax, [sym._ZN5boost4asio6detail18completion_handlerIZZNK4epee9net_utils13ssl_options_t9handshakeERNS0_3ssl6streamINS0_19basic_stream_soc]
movups xmmword [rdi], xmm0
punpcklqdq xmm6, xmm6
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x10], 0
mov dword [rdi + 0x30], 0
movups xmmword [rdi + 0x18], xmm0
movdqu xmm4, xmmword [rsp + 0xe0]
movups xmmword [rdi + 0x38], xmm4
movdqu xmm5, xmmword [rsp + 0xf0]
movups xmmword [rdi + 0x48], xmm5
mov rax, qword [rsp + 0x100]
mov qword [rdi + 0x58], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xd0], rdi
lea rcx, [rax + 0x38]
mov rax, qword [rsp + 0x50]
call rax
mov rcx, qword [rsp + 0x98]
cmp byte [rcx + 0x60], 0
je 0x14023c990
mov qword [rdi + 0x20], 0
mov rax, qword [rcx + 0x70]
test rax, rax
je 0x14023ca41
mov qword [rax + 0x20], rdi
mov qword [rcx + 0x70], rdi
mov rax, qword [rsp + 0x58]
add rcx, 0x38
call rax
lea rax, str.poll_one
lea rdi, str.C:_msys64_mingw64_include_boost_asio_impl_io_context.ipp
movq xmm6, rdi
movq xmm3, rax
punpcklqdq xmm6, xmm3
mov rax, qword [rsi + 0x10]
xor edx, edx
lock xadd dword [rax + 0x34], edx
test edx, edx
jne 0x14023ca52
mov dword [rsp + 0x180], 0
mov r14, qword [rsi + 0x10]
xor eax, eax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
lock xadd dword [r14 + 0x30], eax
test eax, eax
je 0x14023c7e0
pxor xmm0, xmm0
lea r12, [rsp + 0x200]
lea rcx, [0x14037b4e0]
mov dword [rsp + 0x250], 0
mov qword [rsp + 0x258], 0
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xe8], r12
movups xmmword [rsp + 0x200], xmm0
movups xmmword [rsp + 0x210], xmm0
movups xmmword [rsp + 0x220], xmm0
movups xmmword [rsp + 0x230], xmm0
movups xmmword [rsp + 0x240], xmm0
call sym.__emutls_get_address
mov r8, r12
xor edx, edx
mov rcx, r14
mov rdi, rax
mov rax, qword [rax]
mov qword [rdi], r13
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x180]
mov r9, rax
mov qword [rsp + 0x60], rax
call method.boost::asio::detail::win_iocp_io_context.do_one_unsigned_long__boost::asio::detail::win_iocp_thread_info__boost::system::error_code_
mov rax, qword [rsp + 0xf0]
mov r14, r12
lea r15, [rsp + 0x250]
mov qword [rdi], rax
mov rdi, qword [sym.imp.msvcrt.dll__aligned_free]
nop dword [rax]
mov rcx, qword [r14]
test rcx, rcx
je 0x14023c57a
call rdi
add r14, 8
cmp r14, r15
jne 0x14023c570
cmp qword [rsp + 0x258], 0
je 0x14023c59b
lea rcx, [rsp + 0x258]
call sym.std::__exception_ptr::exception_ptr::_M_release__
mov rax, qword [rsp + 0x190]
movups xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0xd0], 0x6e
test al, 1
je 0x14023c5d6
cmp rax, 1
jne 0x14023c6c0
mov r8d, dword [rsp + 0x180]
test r8d, r8d
jne 0x14023c6c0
mov rcx, rbp
call sym.pthread_mutex_lock
test eax, eax
jne 0x14023d0f4
call sym.std::chrono::_V2::system_clock::now__
lea rdi, [rsp + 0x88]
add rax, 0x1c9c380
mov qword [rsp + 0x88], rax
cmp byte [rsp + 0x1f8], 0
jne 0x14023c690
cmp byte [rsp + 0x1f9], 0
jne 0x14023c690
cmp byte [rsp + 0x1f9], 0
je 0x14023ca4a
mov rcx, rbp
call sym.pthread_mutex_unlock
jmp 0x14023c46d
movabs rdi, 0x8000000000000000
mov rdx, rdi
sub rdx, rax
cmp rbp, rdx
jl 0x14023c11a
cmp byte [rsp + 0x270], 0
lea rdi, [rbp + rax]
je 0x14023c128
mov rcx, qword [r12 + 0x58]
lea rdx, [r12 + 0x28]
mov r9, 0xffffffffffffffff
lea r8, [rsp + 0x278]
call sym._ZN5boost4asio6detail19win_iocp_io_context12cancel_timerINS1_18chrono_time_traitsINSt6chrono3_V212steady_clockENS0_11wait_trai
mov byte [rsp + 0x270], 0
jmp 0x14023c128
mov rcx, qword [rsp + 0x38]
mov r8, rdi
mov rdx, rbp
call sym._ZNSt3_V222condition_variable_any10wait_untilISt5mutexNSt6chrono3_V212system_clockENS3_8durationIxSt5ratioILx1ELx1000000000EEE
cmp eax, 1
jne 0x14023c601
cmp byte [rsp + 0x1f8], 0
jne 0x14023c627
jmp 0x14023c619
lea rbx, [rsp + 0x1a0]
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call method.boost::system::error_code.what_abi:cxx11____const
mov rdx, rbx
mov rcx, r12
call sub.libstdc_6.dll_std::runtime_error::runtime_error_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rbx
lea rbx, method.boost::system::system_error.system_error__
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rax, qword [rsp + 0x190]
movdqu xmm4, xmmword [rsp + 0x180]
mov qword [rsp + 0x200], rbx
mov rsi, qword [0x140485900]
mov qword [rsp + 0x220], rax
movups xmmword [rsp + 0x210], xmm4
mov rax, qword [rsp + 0x2d8]
sub rax, qword [rsi]
jne 0x14023d0ef
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call method.void_boost::throw_exception_boost::system.system_error__boost::system::system_error_const__boost::source_location_const_
nop dword [rax]
mov rdx, qword [rsi + 0x10]
xor eax, eax
xchg dword [rdx + 0x34], eax
jmp 0x14023bf7a
mov ecx, 0x88
call sym.operator_new_unsigned_long_long_
mov rdi, rax
lea rax, [method.boost::asio::detail::strand_service.do_complete_void__boost::asio::detail::win_iocp_operation__boost::system::error_code_const__unsigned_long_long_]
pxor xmm0, xmm0
mov qword [rdi + 0x28], rax
lea rcx, [rdi + 0x38]
mov qword [rdi + 0x10], 0
mov dword [rdi + 0x30], 0
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x18], xmm0
call method.boost::asio::detail::win_mutex.win_mutex__
pxor xmm0, xmm0
mov byte [rdi + 0x60], 0
movups xmmword [rdi + 0x68], xmm0
movups xmmword [rdi + 0x78], xmm0
mov r14, qword [r12 + 0x60]
test r14, r14
je 0x14023c7ce
lea rcx, [r14 + 0x78]
call method.boost::asio::detail::op_queue_boost::asio::detail::win_iocp_operation_.op_queue__
lea rcx, [r14 + 0x68]
call method.boost::asio::detail::op_queue_boost::asio::detail::win_iocp_operation_.op_queue__
lea rcx, [r14 + 0x38]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov edx, 0x88
mov rcx, r14
call sym.operator_delete_void__unsigned_long_long_
mov qword [r12 + 0x60], rdi
jmp 0x14023c00d
mov eax, 1
mov edx, eax
xchg dword [r14 + 0x34], edx
test edx, edx
jne 0x14023c5d6
xchg dword [r14 + 0x38], eax
test eax, eax
jne 0x14023c5d6
mov rcx, qword [r14 + 0x28]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x14023c5d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 1
mov edx, 2
lea rdi, [0x14037a7e0]
mov dword [rsp + 0x1a0], eax
sbb rdx, 0xffffffffffffffff
mov qword [rsp + 0x1a8], rdi
lea rdi, str.C:_msys64_mingw64_include_boost_asio_detail_impl_win_iocp_io_context.ipp
mov qword [rsp + 0x1b0], rdx
lea rdx, str.stop
movq xmm0, rdi
movq xmm5, rdx
mov qword [rsp + 0xf0], 0x120
punpcklqdq xmm0, xmm5
movups xmmword [rsp + 0xe0], xmm0
test eax, eax
je 0x14023c5d6
lea r12, [rsp + 0x200]
lea rdx, [rsp + 0x1a0]
lea r8, str.pqcs
mov rcx, r12
call method.boost::system::system_error.system_error_boost::system::error_code_const__char_const_
mov rbx, qword [0x140485900]
mov rax, qword [rsp + 0x2d8]
sub rax, qword [rbx]
jne 0x14023d0ef
mov rdx, r13
mov rcx, r12
call method.void_boost::throw_exception_boost::system.system_error__boost::system::system_error_const__boost::source_location_const_
nop dword [rax]
mov rcx, qword [sym.imp.libstdc_6.dll_typeinfo_for_void]
lea rdx, sym.imp.libstdc_6.dll_vtable_for_std::__cxx11::basic_stringstream_char__std::char_traits_char___std::allocator_char___
call sym.std::type_info::operator_std::type_info_const__const
test al, al
jne 0x14023c2c7
cmp qword [rsp + 0x2c0], 0
je 0x14023d177
mov rax, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x40]
lea r12, [rsp + 0x200]
mov r14, qword [rax + 0x58]
mov rax, qword [rsp + 0x2b8]
call qword [rax + 0x18]
mov r8, qword [rsp + 0x48]
mov rcx, r12
mov rdx, rax
call r14
cmp qword [rsp + 0x220], 0
je 0x14023ccbd
mov rax, qword [rsp + 0x218]
lea rcx, [r15 + 0x68]
mov qword [r15 + 0x80], rax
mov rdx, qword [rsp + 0x228]
mov qword [r15 + 0x90], rdx
mov rdx, r12
mov qword [rsp + 0x218], 0
mov qword [rsp + 0x228], 0
call qword [rax + 0x10]
mov rax, qword [rsp + 0x230]
mov qword [r15 + 0x98], rax
jmp 0x14023c2ec
mov byte [rcx + 0x60], 1
mov rax, qword [rsp + 0x58]
add rcx, 0x38
call rax
mov r12, qword [rsp + 0x98]
mov qword [rdi + 0x20], 0
mov rax, qword [r12 + 0x80]
test rax, rax
je 0x14023ccd9
mov qword [rax + 0x20], rdi
mov qword [r12 + 0x80], rdi
mov rdi, qword [r15 + 0x30]
lock add dword [rdi + 0x30], 1
xor r8d, r8d
xor edx, edx
mov dword [r12 + 0x30], 1
mov r9, r12
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x14023c451
lea r15, [rdi + 0x60]
mov rax, qword [rsp + 0x50]
mov rcx, r15
call rax
mov qword [r12 + 0x20], 0
mov rax, qword [rdi + 0x98]
test rax, rax
je 0x14023cfef
mov qword [rax + 0x20], r12
mov qword [rdi + 0x98], r12
mov eax, 1
xchg dword [rdi + 0x58], eax
mov rax, qword [rsp + 0x58]
mov rcx, r15
call rax
jmp 0x14023c451
movups xmmword [rcx + 0x68], xmm6
jmp 0x14023c446
mov rcx, rbp
call sym.pthread_mutex_unlock
cmp qword [rsp + 0x1f0], 1
mov ecx, dword [rsp + 0x1e0]
jne 0x14023ca9c
mov r8, qword [rsp + 0x1e8]
movabs rax, 0x4800144005b3
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul rax, rax, 0x1ffff7
sub r8, rax
imul eax, r8d, 0x3e8
add ecx, eax
test ecx, ecx
je 0x14023cb10
mov dword [rsp + 0x160], 0
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
cmp rcx, 0xffffffffffffffff
je 0x14023caee
mov edx, 2
call qword [sym.imp.WS2_32.dll_shutdown]
test eax, eax
jne 0x14023cfdd
cmp qword [rbx + 8], 0xffffffffffffffff
mov rdx, qword [rbx]
jne 0x14023cce4
mov rcx, qword [rbx + 0x20]
pxor xmm0, xmm0
mov qword [rbx + 8], 0xffffffffffffffff
mov byte [rbx + 0x10], 0
movups xmmword [rbx + 0x18], xmm0
test rcx, rcx
je 0x14023cb10
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1d8]
movdqu xmm5, xmmword [rsp + 0x1e0]
mov qword [rsp + 0x170], rax
movups xmmword [rsp + 0x160], xmm5
test rcx, rcx
je 0x14023cb43
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
mov rcx, qword [rsp + 0x38]
call fcn.14027d6a0
mov rcx, rbp
call sym.pthread_mutex_destroy
cmp byte [rsp + 0x270], 0
je 0x14023cb88
mov rax, qword [rsp + 0x260]
mov r8, qword [rsp + 0x68]
mov r9, 0xffffffffffffffff
mov rcx, qword [rax + 0x58]
lea rdx, [rax + 0x28]
call sym._ZN5boost4asio6detail19win_iocp_io_context12cancel_timerINS1_18chrono_time_traitsINSt6chrono3_V212steady_clockENS0_11wait_trai
mov byte [rsp + 0x270], 0
cmp qword [rsp + 0x2c0], 0
je 0x14023cba2
mov rax, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x40]
call qword [rax]
mov rdx, qword [rsp + 0x278]
lea r12, [rsp + 0x200]
test rdx, rdx
jne 0x14023cc07
jmp 0x14023cc26
mov qword [rdx + 0x20], 0
xor r9d, r9d
mov r8, r12
xor ecx, ecx
mov rax, qword [rdx + 0x28]
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 0
mov qword [rsp + 0x210], 0
call rax
mov rdx, qword [rsp + 0x278]
test rdx, rdx
je 0x14023cc26
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x278], rax
test rax, rax
jne 0x14023cbc0
mov qword [rsp + 0x280], 0
jmp 0x14023cbc0
mov rbx, qword [rsp + 0x170]
test bl, 1
je 0x14023cc68
cmp rbx, 1
jne 0x14023cc44
mov ecx, dword [rsp + 0x160]
test ecx, ecx
je 0x14023cc68
lea rsi, str.net.ssl
mov ecx, 0x10
mov rdx, rsi
call method.el::Loggers.allowed_el::Level__char_const_
test al, al
jne 0x14023ce00
xor eax, eax
jmp 0x14023cc89
lea rbx, str.net.ssl
mov ecx, 4
mov rdx, rbx
call method.el::Loggers.allowed_el::Level__char_const_
test al, al
jne 0x14023cf0f
mov eax, 1
mov rbx, qword [0x140485900]
mov rdx, qword [rsp + 0x2d8]
sub rdx, qword [rbx]
jne 0x14023d0ef
movups xmm6, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [r15 + 0x90], 0
pxor xmm0, xmm0
movups xmmword [r15 + 0x80], xmm0
jmp 0x14023c973
movups xmmword [r12 + 0x78], xmm6
jmp 0x14023c9cc
xor eax, eax
lock cmpxchg qword [rdx + 0x38], rax
mov rsi, rax
test rax, rax
jne 0x14023d004
mov rsi, qword [rbx + 8]
cmp rsi, 0xffffffffffffffff
je 0x14023caee
mov r12, qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, rsi
call r12
test eax, eax
je 0x14023caee
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 1
mov dword [rsp + 0x160], eax
lea rdi, [rsp + 0x160]
mov eax, 2
lea r15, [0x14037a7e0]
sbb rax, 0xffffffffffffffff
lea rdx, [rsp + 0x180]
mov rcx, rdi
mov qword [rsp + 0x168], r15
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x180], 0x2733
mov qword [rsp + 0x188], r15
mov qword [rsp + 0x190], 3
call method.boost::system.operator_boost::system::error_code_const__boost::system::error_code_const_
test al, al
jne 0x14023cdbd
lea rdx, [rsp + 0x1a0]
mov rcx, rdi
mov dword [rsp + 0x1a0], 0x4d5
mov qword [rsp + 0x1a8], r15
mov qword [rsp + 0x1b0], 3
call method.boost::system.operator_boost::system::error_code_const__boost::system::error_code_const_
test al, al
je 0x14023caee
mov r8, r13
mov edx, 0x8004667e
mov rcx, rsi
mov dword [rsp + 0xe0], 0
call qword [sym.imp.WS2_32.dll_ioctlsocket]
and byte [rbx + 0x10], 0xfc
mov rcx, rsi
call r12
test eax, eax
je 0x14023caee
mov rcx, rdi
call sym.boost::asio::detail::socket_ops::get_last_error_boost::system::error_code__bool___clone_part0_
jmp 0x14023caee
lea rax, method.el::base::Writer.Writer__
xor edx, edx
pxor xmm0, xmm0
mov rcx, r13
mov qword [rsp + 0xe0], rax
lea rax, str.C:_msys64_home_H_tabo_gui_tabo_contrib_epee_src_net_ssl.cpp
mov qword [rsp + 0xf8], rax
lea rax, str.bool_epee::net_utils::ssl_options_t::handshake_boost::asio::ssl::stream_boost::asio::basic_stream_socket_boost::asio::ip::tcp_____boost::asio::ssl::stream_base::handshake_type__boost::asio::const_buffer__const_std::string__std::chrono::milliseconds__const
mov qword [rsp + 0x108], rax
lea rax, [0x14046ed0d]
mov word [rsp + 0x110], dx
mov rdx, rsi
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0x10
mov dword [rsp + 0x100], 0x27f
mov qword [rsp + 0x118], 0
mov byte [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rax
mov dword [rsp + 0x138], 2
mov qword [rsp + 0x150], 0
movups xmmword [rsp + 0x140], xmm0
call method.el::base::Writer.construct_char_const_
cmp byte [rax + 0x40], 0
mov rsi, rax
jne 0x14023d074
mov rdx, qword [rsp + 0x168]
mov r8d, dword [rsp + 0x160]
mov rax, qword [rdx]
mov rax, qword [rax + 0x20]
cmp rbx, 1
je 0x14023d089
mov rcx, qword [rsp + 0x30]
call rax
cmp byte [rsi + 0x40], 0
jne 0x14023d05e
mov rcx, qword [rsp + 0x30]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, r13
call method.el::base::Writer.Writer__
xor eax, eax
jmp 0x14023cc89
lea rax, method.el::base::Writer.Writer__
pxor xmm0, xmm0
mov rdx, rbx
mov rcx, r13
mov qword [rsp + 0xe0], rax
lea rax, str.C:_msys64_home_H_tabo_gui_tabo_contrib_epee_src_net_ssl.cpp
mov qword [rsp + 0xf8], rax
lea rax, str.bool_epee::net_utils::ssl_options_t::handshake_boost::asio::ssl::stream_boost::asio::basic_stream_socket_boost::asio::ip::tcp_____boost::asio::ssl::stream_base::handshake_type__boost::asio::const_buffer__const_std::string__std::chrono::milliseconds__const
mov qword [rsp + 0x108], rax
xor eax, eax
mov word [rsp + 0x110], ax
lea rax, [0x14046ed0d]
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 4
mov dword [rsp + 0x100], 0x282
mov qword [rsp + 0x118], 0
mov byte [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rax
mov dword [rsp + 0x138], 2
mov qword [rsp + 0x150], 0
movups xmmword [rsp + 0x140], xmm0
call method.el::base::Writer.construct_char_const_
cmp byte [rax + 0x40], 0
jne 0x14023d0ad
mov rcx, r13
call method.el::base::Writer.Writer__
jmp 0x14023cc84
lea rcx, [rsp + 0x160]
call sym.boost::asio::detail::socket_ops::get_last_error_boost::system::error_code__bool___clone_part0_
jmp 0x14023cae0
movq xmm0, r12
punpcklqdq xmm0, xmm0
movups xmmword [rdi + 0x90], xmm0
jmp 0x14023ca2a
lea rdi, [rax + 0x30]
mov r12, qword [rbx + 8]
mov rax, qword [rsp + 0x50]
mov rcx, rdi
call rax
lea rax, [0x14037a7e0]
lea r8, [rsp + 0x200]
mov rdx, r12
mov rcx, rsi
mov dword [rsp + 0x200], 0x3e3
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], 3
call method.boost::asio::detail::select_reactor.cancel_ops_unlocked_unsigned_long_long__boost::system::error_code_const_
mov rax, qword [rsp + 0x58]
mov rcx, rdi
call rax
jmp 0x14023ccf8
mov rdx, qword [rsp + 0x260]
lea rcx, [rsi + 0x48]
call fcn.14022fc00
jmp 0x14023cef6
lea rcx, [rax + 0x48]
lea rdx, str.SSL_handshake_failed__connection_dropped:
call fcn.14022fc00
jmp 0x14023cec4
lea rcx, [method.boost::system::detail::std_category.message_abi:cxx11__int__const]
cmp rax, rcx
jne 0x14023cee5
mov rdx, qword [rdx + 8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdx]
call qword [rax + 0x20]
jmp 0x14023ceec
lea rcx, [rax + 0x48]
lea rdx, str.SSL_handshake_success
call fcn.14022fc00
jmp 0x14023cfd0
mov rcx, r13
call method.el::base::Writer.Writer__
mov rsi, qword [0x140485900]
mov rax, qword [rsp + 0x2d8]
sub rax, qword [rsi]
je 0x14023d166
call dbg.__stack_chk_fail
mov rbx, qword [0x140485900]
mov rdx, qword [rsp + 0x2d8]
sub rdx, qword [rbx]
jne 0x14023d0ef
mov ecx, eax
call sym.std::__throw_system_error_int_
endbr64
mov rbx, rax
jmp 0x14023d0d3
mov rcx, qword [rsp + 0x38]
call method.std::_V2::condition_variable_any.condition_variable_any__
mov rcx, rbp
call sym.pthread_mutex_destroy
mov rcx, qword [rsp + 0x30]
call sym._ZN5boost4asio6detail14io_object_implINS1_22deadline_timer_serviceINS1_18chrono_time_traitsINSt6chrono3_V212steady_clockENS0_1
mov rsi, qword [0x140485900]
mov rax, qword [rsp + 0x2d8]
sub rax, qword [rsi]
jne 0x14023d0ef
mov rcx, rbx
call sym._Unwind_Resume
endbr64
mov rbx, rax
jmp 0x14023d136
mov rsi, qword [0x140485900]
lea rbx, method.boost::asio::execution::bad_executor.bad_executor__
mov qword [rsp + 0xc0], rbx
mov rax, qword [rsp + 0x2d8]
sub rax, qword [rsi]
jne 0x14023d0ef
call sym.void_boost::throw_exception_boost::asio::execution::bad_executor__boost::asio::execution::bad_executor_const___clone_isra0_
endbr64
mov rbx, rax
jmp 0x14023d148
mov rax, qword [rbx + 0x98]
xor r10d, r10d
pxor xmm0, xmm0
mov qword [rsp + 0x288], r10
mov qword [rsp + 0x290], rax
movups xmmword [rsp + 0x278], xmm0
mov rbx, qword [0x140485900]
lea rsi, method.boost::asio::execution::bad_executor.bad_executor__
mov qword [rsp + 0xe0], rsi
mov rax, qword [rsp + 0x2d8]
sub rax, qword [rbx]
jne 0x14023d0ef
call sym.void_boost::throw_exception_boost::asio::execution::bad_executor__boost::asio::execution::bad_executor_const___clone_isra0_
endbr64
mov rbx, rax
cmp qword [rsp + 0x280], 0
je 0x14023d0db
mov rax, qword [rsp + 0x278]
lea rcx, [rsp + 0x260]
call qword [rax]
jmp 0x14023d0db