Function at 0x140229f60
Capabilities:
Set socket configuration

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
add rsp, 0xffffffffffffff80
mov rsi, qword [0x140485900]
mov rax, qword [rsi]
mov qword [rsp + 0x78], rax
xor eax, eax
mov rdi, rcx
mov rbp, rdx
mov rbx, r9
cmp rcx, 0xffffffffffffffff
je 0x140229fc1
test r8b, r8b
je 0x140229f9a
movzx eax, byte [rdx]
test al, 8
jne 0x14022a058
mov r12, qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, rdi
call r12
test eax, eax
jne 0x140229fe0
mov dword [rbx], 0
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov rax, qword [rsp + 0x78]
sub rax, qword [rsi]
jne 0x14022a0c7
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, rbx
call method.boost::asio::detail::socket_ops.get_last_error_boost::system::error_code__bool___clone_.part.0_
lea rax, [0x14037a7e0]
mov rcx, rbx
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], 0x2733
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 3
call method.boost::system.operator_boost::system::error_code_const__boost::system::error_code_const_
test al, al
je 0x14022a0a0
mov rcx, rdi
lea r8, [rsp + 0x3c]
mov edx, 0x8004667e
mov dword [rsp + 0x3c], 0
call qword [sym.imp.WS2_32.dll_ioctlsocket]
and byte [rbp], 0xfc
mov rcx, rdi
call r12
test eax, eax
je 0x140229fab
mov rcx, rbx
call method.boost::asio::detail::socket_ops.get_last_error_boost::system::error_code__bool___clone_.part.0_
jmp 0x140229fc1
or eax, 8
mov dword [rsp + 0x3c], 0
lea r9, [rsp + 0x3c]
mov r8d, pe_nt_image_headers64
mov byte [rdx], al
mov edx, 0xffff
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x140229f9a
lea rcx, [rsp + 0x60]
call method.boost::asio::detail::socket_ops.get_last_error_boost::system::error_code__bool___clone_.part.0_
jmp 0x140229f9a
lea rcx, [rsp + 0x40]
mov edx, 0x4d5
call sym._ZN5boost6system10error_codeC1INS_4asio5error12basic_errorsEEET_PNS0_6detail9enable_ifIXoosrNS0_18is_error_code_enumIS6_EE5val
mov rdx, rcx
mov rcx, rbx
call method.boost::system.operator_boost::system::error_code_const__boost::system::error_code_const_
test al, al
jne 0x14022a01a
jmp 0x140229fc1
call dbg.__stack_chk_fail
nop
nop
nop
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov qword [rsp + 0x80], rcx
test rcx, rcx
je 0x14022a2d8
mov rax, qword [rsp + 0x80]
mov r13, qword [rax + 0x18]
test r13, r13
je 0x14022a2e9
mov r14, qword [r13 + 0x18]
test r14, r14
je 0x14022a2ac
mov r15, qword [r14 + 0x18]
test r15, r15
je 0x14022a280
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x14022a224
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x14022a1c7
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x14022a1f8
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x14022a250
mov rbp, qword [r12 + 0x18]
test rbp, rbp
je 0x14022a198
mov rcx, qword [rbp + 0x18]
call 0x14022a0d0
mov r8, rbp
mov rbp, qword [rbp + 0x10]
mov rcx, qword [r8 + 0x30]
test rcx, rcx
je 0x14022a186
mov qword [rsp + 0x28], r8
call method.boost::detail::sp_counted_base.release__
mov r8, qword [rsp + 0x28]
mov edx, 0x38
mov rcx, r8
call sym.operator_delete_void__unsigned_long_long_
test rbp, rbp
jne 0x14022a15e
mov rcx, qword [r12 + 0x30]
mov rbp, qword [r12 + 0x10]
test rcx, rcx
je 0x14022a1ac
call method.boost::detail::sp_counted_base.release__
mov edx, 0x38
mov rcx, r12
call sym.operator_delete_void__unsigned_long_long_
test rbp, rbp
je 0x14022a250
mov r12, rbp
jmp 0x14022a154
mov rcx, qword [rbx + 0x30]
mov rsi, qword [rbx + 0x10]
test rcx, rcx
je 0x14022a1d9
call method.boost::detail::sp_counted_base.release__
mov edx, 0x38
mov rcx, rbx
call sym.operator_delete_void__unsigned_long_long_
test rsi, rsi
je 0x14022a224
mov rbx, rsi
jmp 0x14022a12d
mov rcx, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x10]
test rcx, rcx
je 0x14022a20a
call method.boost::detail::sp_counted_base.release__
mov edx, 0x38
mov rcx, rsi
call sym.operator_delete_void__unsigned_long_long_
test rdi, rdi
je 0x14022a1c7
mov rsi, rdi
jmp 0x14022a13a
mov rcx, qword [r15 + 0x30]
mov rbx, qword [r15 + 0x10]
test rcx, rcx
je 0x14022a236
call method.boost::detail::sp_counted_base.release__
mov edx, 0x38
mov rcx, r15
call sym.operator_delete_void__unsigned_long_long_
test rbx, rbx
je 0x14022a280
mov r15, rbx
jmp 0x14022a120
mov rcx, qword [rdi + 0x30]
mov rbp, qword [rdi + 0x10]
test rcx, rcx
je 0x14022a262
call method.boost::detail::sp_counted_base.release__
mov edx, 0x38
mov rcx, rdi
call sym.operator_delete_void__unsigned_long_long_
test rbp, rbp
je 0x14022a1f8
mov rdi, rbp
jmp 0x14022a147
mov rcx, qword [r14 + 0x30]
mov rbx, qword [r14 + 0x10]
test rcx, rcx
je 0x14022a292
call method.boost::detail::sp_counted_base.release__
mov edx, 0x38
mov rcx, r14
call sym.operator_delete_void__unsigned_long_long_
test rbx, rbx
je 0x14022a2ac
mov r14, rbx
jmp 0x14022a113
mov rcx, qword [r13 + 0x30]
mov rbx, qword [r13 + 0x10]
test rcx, rcx
je 0x14022a2be
call method.boost::detail::sp_counted_base.release__
mov edx, 0x38
mov rcx, r13
call sym.operator_delete_void__unsigned_long_long_
test rbx, rbx
je 0x14022a2e9
mov r13, rbx
jmp 0x14022a106
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
mov rbx, qword [rax + 0x10]
test rcx, rcx
je 0x14022a303
call method.boost::detail::sp_counted_base.release__
mov rcx, qword [rsp + 0x80]
mov edx, 0x38
call sym.operator_delete_void__unsigned_long_long_
test rbx, rbx
je 0x14022a2d8
mov qword [rsp + 0x80], rbx
jmp 0x14022a0f1