Function at 0x14022c2f0
Capabilities:
Set socket configuration

Disassembly:
endbr64
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
movups xmmword [rsp + 0x150], xmm6
mov rbp, qword [0x140485900]
movdqu xmm1, xmmword [r8]
mov rax, qword [rbp]
mov qword [rsp + 0x148], rax
xor eax, eax
mov rax, qword [r8 + 0x10]
mov rbx, rdx
lea rdx, [rdx + 0x78]
mov qword [rsp + 0x70], rdx
mov rdi, rcx
mov qword [rsp + 0xa0], rax
mov rsi, rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rbx
movups xmmword [rsp + 0x90], xmm1
test rcx, rcx
je 0x14022c37c
cmp byte [rbx + 0x70], 0
jne 0x14022c670
mov rsi, qword [rbx + 0x48]
movdqu xmm6, xmmword [rbx + 0x38]
mov qword [rsp + 0xa0], rsi
movups xmmword [rsp + 0x90], xmm6
cmp qword [rbx + 0xa8], 0
je 0x14022c650
mov rdx, qword [rbx + 0xb0]
mov rax, qword [rbx + 0xa0]
mov qword [rbx + 0xb0], 0
lea rcx, [rsp + 0x110]
mov qword [rbx + 0xa0], 0
mov qword [rsp + 0x138], rdx
lea rdx, [rbx + 0x88]
mov qword [rsp + 0x128], rax
call qword [rax + 0x10]
mov qword [rbx + 0xa8], 0
movdqu xmm2, xmmword [rsp + 0x90]
mov rax, qword [rbx + 0xb8]
mov qword [rsp + 0x140], rax
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_
mov qword [rbx + 0xb8], rax
movups xmmword [rsp + 0xe0], xmm2
cmp rsi, 1
jbe 0x14022c41c
and esi, 1
lea rax, str.C:_msys64_mingw64_include_boost_asio_detail_win_iocp_socket_connect_op.hpp
or rsi, rax
movdqu xmm4, xmmword [rbx + 0x78]
mov qword [rsp + 0xf0], rsi
movdqu xmm3, xmmword [rsp + 0xe0]
mov qword [rsp + 0xa0], rsi
movups xmmword [rsp + 0xb0], xmm4
mov rax, qword [rsp + 0xb8]
movups xmmword [rsp + 0x90], xmm3
test rax, rax
je 0x14022c45c
lock add dword [rax + 8], 1
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x80]
lea rsi, [rsp + 0xb0]
movdqu xmm5, xmmword [rsp + 0x90]
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0xd0], rax
movups xmmword [rsp + 0xc0], xmm5
test rbx, rbx
je 0x14022c4ce
cmp qword [rbx + 0xa8], 0
je 0x14022c4b1
mov rax, qword [rbx + 0xa0]
lea rcx, [rbx + 0x88]
call qword [rax]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x14022c4c2
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
mov qword [rsp + 0x80], 0
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x14022c521
lea rcx, [0x14037b4e0]
call sym.__emutls_get_address
mov rax, qword [rax]
test rax, rax
je 0x14022c50f
mov rax, qword [rax + 8]
test rax, rax
je 0x14022c50f
cmp qword [rax], 0
je 0x14022ca20
cmp qword [rax + 8], 0
mov edx, 1
je 0x14022ca22
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__aligned_free]
mov qword [rsp + 0x78], 0
test rdi, rdi
je 0x14022c56a
cmp qword [rsp + 0x130], 0
je 0x14022c750
mov rdx, qword [rsp + 0x138]
mov rax, qword [rdx + 0x18]
test rax, rax
je 0x14022c808
lea rdi, [sym._ZN5boost4asio6detail22executor_function_view8completeINS1_7binder1IZNK4epee9net_utils14direct_connectclERKNSt7__cxx1112basic_]
mov qword [rsp + 0x38], rsi
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x110]
call rax
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14022c57c
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
cmp qword [rsp + 0x130], 0
je 0x14022c599
mov rax, qword [rsp + 0x128]
lea rcx, [rsp + 0x110]
call qword [rax]
mov rbx, qword [rsp + 0x80]
test rbx, rbx
je 0x14022c5dd
cmp qword [rbx + 0xa8], 0
je 0x14022c5c0
mov rax, qword [rbx + 0xa0]
lea rcx, [rbx + 0x88]
call qword [rax]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x14022c5d1
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
mov qword [rsp + 0x80], 0
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x14022c627
lea rcx, [0x14037b4e0]
call sym.__emutls_get_address
mov rax, qword [rax]
test rax, rax
je 0x14022c61e
mov rax, qword [rax + 8]
test rax, rax
je 0x14022c61e
cmp qword [rax], 0
je 0x14022ca08
cmp qword [rax + 8], 0
mov edx, 1
je 0x14022ca0a
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__aligned_free]
mov rax, qword [rsp + 0x148]
sub rax, qword [rbp]
jne 0x14022ca73
movups xmm6, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov qword [rsp + 0x138], 0
pxor xmm0, xmm0
movups xmmword [rsp + 0x128], xmm0
jmp 0x14022c3db
mov r10, qword [rbx + 0x68]
mov r8d, dword [rsp + 0x90]
cmp rax, 1
je 0x14022c780
cmp r8d, 0x4cf
je 0x14022c980
jg 0x14022c9a0
cmp r8d, 0x79
je 0x14022c960
cmp r8d, 0x4c9
jne 0x14022c9f8
lea rcx, [rsp + 0x90]
mov edx, 0x274d
call fcn.140229d60
mov rsi, qword [rsp + 0xa0]
test sil, 1
je 0x14022c6eb
cmp rsi, 1
jne 0x14022c37c
mov r8d, dword [rsp + 0x90]
test r8d, r8d
jne 0x14022c7f6
cmp r10, 0xffffffffffffffff
je 0x14022c7e4
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0xffff
mov rcx, r10
mov r8d, 0x7010
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x14022c9e0
mov dword [rsp + 0x90], 0
xor esi, esi
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
jmp 0x14022c37c
mov rax, qword [rsp + 0xd0]
lea rdx, [rsp + 0x40]
mov rcx, rsi
movdqu xmm0, xmmword [rsp + 0xc0]
mov qword [rsp + 0x50], rax
movups xmmword [rsp + 0x40], xmm0
call sym._ZZNK4epee9net_utils14direct_connectclERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_RN5boost4asio20basic_waitable_
jmp 0x14022c56a
mov rcx, qword [rsp + 0x98]
movabs rax, 0x4800144005b3
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rdx, rax
shr rdx, 0x14
imul rdx, rdx, 0x1ffff7
sub rcx, rdx
imul ecx, ecx, 0x3e8
add ecx, r8d
cmp ecx, 0x4cf
je 0x14022c980
ja 0x14022c9d0
cmp ecx, 0x79
je 0x14022c960
cmp ecx, 0x4c9
je 0x14022c6b0
jmp 0x14022c6e2
lea rcx, [rsp + 0x90]
mov edx, 0x2719
call fcn.140229d60
mov rsi, qword [rsp + 0xa0]
jmp 0x14022c37c
movdqu xmm6, xmmword [rsp + 0xb0]
mov rdi, qword [rdx + 0x10]
movhlps xmm0, xmm6
movq rbx, xmm0
test rbx, rbx
je 0x14022c827
lock add dword [rbx + 8], 1
movdqu xmm0, xmmword [rsp + 0xc0]
mov rax, qword [rsp + 0xd0]
lea rcx, [0x14037b4e0]
mov qword [rsp + 0x100], rax
movups xmmword [rsp + 0xf0], xmm0
call sym.__emutls_get_address
mov rax, qword [rax]
test rax, rax
je 0x14022c8da
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14022c8da
mov rcx, qword [rdx + 0x20]
test rcx, rcx
je 0x14022c8b0
cmp byte [rcx], 0xd
jbe 0x14022c87c
test cl, 7
je 0x14022ca42
mov rax, qword [rdx + 0x28]
test rax, rax
je 0x14022ca38
cmp byte [rax], 0xd
jbe 0x14022ca38
mov r8d, 5
test al, 7
jne 0x14022ca38
mov qword [rdx + r8*8], 0
movzx edx, byte [rax]
mov byte [rax + 0x38], dl
jmp 0x14022c8f7
mov rcx, qword [rdx + 0x28]
test rcx, rcx
je 0x14022c8da
cmp byte [rcx], 0xd
jbe 0x14022c8c7
test cl, 7
je 0x14022ca78
mov eax, 5
mov qword [rdx + rax*8], 0
call qword [sym.imp.msvcrt.dll__aligned_free]
mov edx, 0x10
mov ecx, 0x40
call qword [sym.imp.msvcrt.dll__aligned_malloc]
test rax, rax
je 0x14022cabe
mov byte [rax + 0x38], 0xe
movups xmmword [rax + 8], xmm6
test rbx, rbx
je 0x14022c905
lock add dword [rbx + 8], 1
mov rdx, qword [rsp + 0x100]
lea rsi, [sym._ZN5boost4asio6detail17executor_function8completeINS1_7binder1IZNK4epee9net_utils14direct_connectclERKNSt7__cxx1112basic_strin]
movdqu xmm0, xmmword [rsp + 0xf0]
lea rcx, [rsp + 0x110]
mov qword [rax], rsi
lea rsi, [rsp + 0x68]
mov qword [rax + 0x28], rdx
mov rdx, rsi
movups xmmword [rax + 0x18], xmm0
mov qword [rsp + 0x68], rax
call rdi
mov rcx, rsi
call method.boost::asio::detail::executor_function.executor_function__
test rbx, rbx
je 0x14022c56a
mov rcx, rbx
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
jmp 0x14022c56a
lea rcx, [rsp + 0x90]
mov edx, 0x274c
call fcn.140229d60
mov rsi, qword [rsp + 0xa0]
jmp 0x14022c6ca
lea rcx, [rsp + 0x90]
mov edx, 0x2743
call fcn.140229d60
mov rsi, qword [rsp + 0xa0]
jmp 0x14022c6ca
cmp r8d, 0x4d0
jne 0x14022c9f8
lea rcx, [rsp + 0x90]
mov edx, 0x2751
call fcn.140229d60
mov rsi, qword [rsp + 0xa0]
jmp 0x14022c6ca
cmp ecx, 0x4d0
je 0x14022c9a9
jmp 0x14022c6e2
lea rcx, [rsp + 0x90]
call method.boost::asio::detail::socket_ops.get_last_error_boost::system::error_code__bool___clone_.part.0_
jmp 0x14022c7f6
test al, 1
jne 0x14022c37c
jmp 0x14022c6eb
xor edx, edx
movzx ecx, byte [rbx + 0xc0]
mov byte [rbx], cl
mov qword [rax + rdx*8], rbx
jmp 0x14022c627
xor edx, edx
movzx ecx, byte [rbx + 0xc0]
mov byte [rbx], cl
mov qword [rax + rdx*8], rbx
jmp 0x14022c518
mov eax, 4
jmp 0x14022c8cc
mov rax, rcx
mov r8d, 4
jmp 0x14022c8a0
lea rcx, [rsp + 0x70]
call fcn.1403702ea
mov rax, qword [rsp + 0x148]
sub rax, qword [rbp]
je 0x14022cb18
call dbg.__stack_chk_fail
mov rax, rcx
mov r8d, 5
jmp 0x14022c8a0
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14022ca9f
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
cmp qword [rsp + 0x130], 0
je 0x14022ca57
mov rax, qword [rsp + 0x128]
lea rcx, [rsp + 0x110]
call qword [rax]
jmp 0x14022ca57
mov rax, qword [sym.imp.libstdc_6.dll_vtable_for_std::bad_alloc]
add rax, 0x10
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x148]
sub rax, qword [rbp]
jne 0x14022ca73
call fcn.14037016e
endbr64
mov rdi, rax
mov rcx, rsi
call method.boost::asio::detail::executor_function.executor_function__
mov rsi, rdi
test rbx, rbx
je 0x14022cb00
mov rcx, rbx
call method.std._Sp_counted_base____gnu_cxx::_Lock_policy_2_::_M_release__
mov rbx, rsi
jmp 0x14022ca8d
mov rcx, rbx
call sym._Unwind_Resume
nop
nop word cs:[rax + rax]
nop dword [rax]