Function at 0x10079559
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x74
movzx eax, byte [edx + 0x34]
mov edi, edx
mov ebx, ecx
test eax, eax
je 0x1007959e
cmp eax, 3
jne 0x10079bb2
mov edx, dword [edi + 0x30]
lea esi, [ebp - 0x20]
mov ecx, esi
push dword [ebp + 8]
call sym.tokio::io::poll_evented::PollEvented_LT_E_GT_::poll_write_ready::h4e8fbf1d0d08295a
pop eax
cmp byte [esi], 5
jne 0x10079731
mov al, 3
mov dword [ebx], 3
jmp 0x10079b99
mov dword [ebp - 0x34], ebx
mov ebx, dword [edi]
mov dword [ebp - 0x28], edi
mov edi, dword [edi + 4]
lea esi, [ebp - 0x20]
mov dword [esi], 1
push esi
push 0x8004667e
push ebx
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x100797d5
mov ecx, 0x8c
call sym.__ZN5alloc5alloc15exchange_malloc17h142decb00e75c662E.465
xorps xmm0, xmm0
mov dword [eax], ebx
and dword [eax + 0x14], 0
xor ecx, ecx
movsd qword [eax + 4], xmm0
movsd qword [eax + 0xc], xmm0
mov dword [eax + 0x18], sym.mio::sys::windows::tcp::read_done::h5b92257158579c93
movsd qword [eax + 0x1c], xmm0
movsd qword [eax + 0x24], xmm0
and dword [eax + 0x2c], 0
mov dword [eax + 0x30], sym.mio::sys::windows::tcp::write_done::h29cc83860334c564
and word [eax + 0x34], 0
and dword [eax + 0x38], 0
and dword [eax + 0x44], 0
and dword [eax + 0x40], 0
and dword [eax + 0x48], 0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [eax + 0x5c], xmm0
movsd qword [eax + 0x64], xmm1
movsd xmm0, qword [edi + 0x10]
movsd qword [eax + 0x6c], xmm0
movsd xmm0, qword [edi + 0x18]
xor edi, edi
movsd qword [eax + 0x74], xmm0
mov byte [eax + 0x7c], 4
mov byte [eax + 0x84], 0
mov dword [eax + 0x88], 1
and dword [ebp - 0x50], 0
and dword [ebp - 0x54], 0
and dword [ebp - 0x4c], 0
and dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], eax
call sym.tokio::runtime::context::CONTEXT::__getit::ha788793ddf63613b
test eax, eax
je 0x10079bc4
mov ecx, eax
mov edx, 0x101d0a24
call sym.core::cell::RefCell_LT_T_GT_::borrow::h88171a4d4adc59bf
cmp dword [eax], 3
mov esi, edx
je 0x10079692
mov ecx, dword [eax + 0xc]
call sym.__LT_core..option..Option_LT_T_GT__u20_as_u20_core..clone..Clone_GT_::clone::h593098a48eb7e82e
mov edi, eax
dec dword [esi]
test edi, edi
je 0x10079bd8
mov ecx, edi
call sym.alloc::sync::Weak_LT_T_C_A_GT_::upgrade::h07062b4d03028a71
test eax, eax
mov dword [ebp - 0x3c], edi
je 0x100797f1
lea esi, [ebp - 0x20]
lea edx, [eax + 0x2c]
mov ebx, eax
mov dword [ebp - 0x30], eax
mov ecx, esi
call sym.std::sync::mutex::Mutex_LT_T_GT_::lock::hfbe608b6fd14a9ee
cmp dword [esi], 0
jne 0x10079bea
mov eax, ebx
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x2c], ebx
add eax, 8
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x18]
mov byte [ebp - 0x21], al
imul eax, dword [ebx + 0x28], 0x14
xor ebx, ebx
mov esi, eax
test eax, eax
je 0x10079a4d
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 0x20]
mov ecx, dword [eax + 0x1c]
push ebx
call sym.tokio::util::slab::shard::Shard_LT_T_GT_::local::h6b45333366dbc5bc
mov edx, dword [ebp - 0x14]
add esp, 4
mov edi, dword [eax]
cmp edi, dword [edx + 0xc]
jb 0x1007971a
mov edi, 0x7fffffff
xchg dword [edx + 8], edi
cmp edi, 0x7fffffff
jne 0x10079811
mov eax, esi
add edx, 0x14
inc ebx
add eax, 0xffffffec
jmp 0x100796e9
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x28], edi
cmp bl, 4
jne 0x100797e9
lea ecx, [edi + 8]
call sym.tokio::io::poll_evented::PollEvented_LT_E_GT_::get_ref::hfbd8cff887936d43
mov esi, eax
mov eax, dword [eax]
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x80]
mov eax, dword [eax]
and dword [ecx], 0
mov dword [edx], 4
push edx
push ecx
push 0x1007
push 0xffff
push eax
call sub.ws2_32.dll_getsockopt
cmp eax, 0xffffffff
je 0x10079822
mov edi, dword [ebp - 0x30]
xor ebx, ebx
test edi, edi
sete bl
shl ebx, 2
test ebx, ebx
je 0x10079882
mov ecx, dword [esi]
call sym.mio::sys::windows::tcp::StreamImp::inner::he77c876c8b5c57fc
mov ebx, dword [eax + 0x48]
mov edi, dword [eax + 0x4c]
and dword [eax + 0x4c], 0
and dl, 1
mov dword [eax + 0x48], 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x2c], dl
test bl, 0xfc
je 0x1007986a
mov esi, eax
add esi, 0x48
mov ecx, esi
call sym.core::ptr::drop_in_place_LT_mio..sys..windows..tcp..State_LT__LP__RP__C__LP__RP__GT__GT_::he6813d835110437f
mov dword [esi + 4], edi
xor edi, edi
mov dword [esi], ebx
push 4
pop ebx
jmp 0x10079876
call sub.ws2_32.dll_WSAGetLastError
mov edi, eax
push ebx
call sub.ws2_32.dll_closesocket
xor ebx, ebx
jmp 0x10079b62
mov edi, dword [ebp - 0x1c]
jmp 0x100798ca
lea esi, [ebp - 0x20]
push 0x27
pop edx
mov ecx, esi
push 0x19
push 0x101d0991
call sym.std::io::error::Error::new::hab5ab89b2f8afd37
pop eax
pop ecx
mov ebx, dword [esi]
mov edi, dword [esi + 4]
jmp 0x10079b52
mov ecx, dword [edx]
mov dword [ebp - 0x40], eax
test ecx, ecx
je 0x10079830
mov ebx, dword [edx + 4]
jmp 0x100799fc
call sub.ws2_32.dll_WSAGetLastError
mov edi, eax
xor ebx, ebx
jmp 0x100798ca
mov ebx, dword [edx + 0xc]
test ebx, ebx
je 0x100798da
cmp ebx, 0x3ffffff
ja 0x10079c10
mov dword [ebp - 0x10], ebx
shl ebx, 5
push 4
pop ecx
mov edx, ebx
call sym.__ZN5alloc5alloc6Global10alloc_impl17h85ddb242f3d613d2E.1058
test eax, eax
je 0x10079c15
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x10]
jmp 0x100798e1
mov edx, eax
mov ecx, esi
add edx, 4
call sym.mio::sys::windows::tcp::StreamImp::schedule_read::hb5382a2b2c1e3719
movzx edx, byte [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
call sym.__ZN4core3ptr108drop_in_place_LT_std..sync..mutex..MutexGuard_LT_core..option..Option_LT_mio..poll..Registration_GT__GT__GT_17
cmp bl, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], edi
jne 0x100798ca
lea ecx, [ebp - 0x20]
call sym.core::ptr::drop_in_place_LT_h2..proto..error..Error_GT_::hcce3e8dac9469f4b
mov edx, dword [ebp - 0x28]
movsd xmm0, qword [edx + 0x1c]
mov eax, dword [edx + 8]
mov ebx, dword [edx + 0xc]
mov edi, dword [edx + 0x10]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [edx + 0x24]
movsd qword [ebp - 0x68], xmm0
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x60], ecx
movsd xmm0, qword [edx + 0x14]
movsd qword [ebp - 0x78], xmm0
jmp 0x10079b65
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 8]
call sym.core::ptr::drop_in_place_LT_tokio..net..tcp..stream..TcpStream_GT_::he9c631278a2e1c79
jmp 0x10079b62
push 4
pop eax
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], ebx
sub ebx, 1
mov edx, 0
cmovb ebx, edx
cmp ecx, ebx
jae 0x10079919
xor edx, edx
lea ecx, [ebp - 0x20]
push ebx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_amortized::h9e7de96bdf8b45f4
pop ecx
mov ecx, eax
call sym.alloc::raw_vec::handle_reserve::h0553a0ea6bd2fd41
lea ecx, [ebp - 0x20]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, edx
shl ecx, 5
add ecx, eax
xor ebx, ebx
inc ebx
cmp ebx, dword [ebp - 0x10]
jae 0x10079945
mov dword [ecx], ebx
and dword [ecx + 4], 0
and dword [ecx + 8], 0
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
and dword [ecx + 0x1c], 0
inc ebx
inc edx
add ecx, 0x20
jmp 0x10079923
mov dword [ebp - 0x18], edx
cmp edx, dword [ebp - 0x20]
jne 0x1007995d
lea ebx, [ebp - 0x20]
mov ecx, ebx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h770e70e030411b11
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
shl edx, 5
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx], 0x7fffffff
and dword [eax + edx + 4], 0
and dword [eax + edx + 8], 0
and dword [eax + edx + 0x10], 0
and dword [eax + edx + 0x14], 0
and dword [eax + edx + 0x1c], 0
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
inc ebx
mov dword [ebp - 0x10], edx
cmp eax, ebx
jbe 0x100799e4
shl eax, 5
test ebx, ebx
je 0x100799bc
mov ecx, ebx
mov edx, eax
shl ecx, 5
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x10]
push dword [ebp - 0x38]
call sym.__LT_alloc..alloc..Global_u20_as_u20_core..alloc..Allocator_GT_::shrink::h476389293526b136
pop ecx
test eax, eax
je 0x100799d6
mov ecx, 0x80000001
jmp 0x100799d1
mov ecx, dword [ebp - 0x10]
push 4
pop edx
push eax
call sym.__ZN63__LT_alloc..alloc..Global_u20_as_u20_core..alloc..Allocator_GT_10deallocate17hcacc92fefce56ab3E.1572
pop eax
mov ecx, 0x80000001
push 4
pop eax
mov dword [ebp - 0x10], eax
jmp 0x100799dc
push 4
pop ecx
mov edx, dword [ebp - 0x38]
call sym.alloc::raw_vec::handle_reserve::h0553a0ea6bd2fd41
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov edx, dword [eax + 4]
call sym.__ZN4core3ptr165drop_in_place_LT_core..option..Option_LT_alloc..boxed..Box_LT__u5b_tokio..util..slab..slot..Slot_LT_tokio..io.
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [edx], ecx
mov dword [edx + 4], ebx
cmp edi, ebx
jae 0x10079ba4
mov eax, edi
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp - 0x40]
shl eax, 5
mov ecx, dword [ecx + eax]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ecx + eax + 4]
add edi, dword [edx + 0x10]
shr ebx, 0x1f
sub esp, 8
and dword [esp + 4], 0
mov ecx, 0x3fff
xor edx, edx
mov dword [esp], edi
call sym.tokio::util::bit::Pack::pack::hb49e1e4b254a21e9
pop ecx
pop edx
push 0x1a
pop edx
mov ecx, 0x4000000
push eax
push ebx
call sym.tokio::util::bit::Pack::pack::hb49e1e4b254a21e9
pop ecx
pop edx
mov edi, eax
movzx edx, byte [ebp - 0x21]
mov ecx, dword [ebp - 0x48]
call sym.__ZN4core3ptr108drop_in_place_LT_std..sync..mutex..MutexGuard_LT_core..option..Option_LT_mio..poll..Registration_GT__GT__GT_17
mov ebx, dword [ebp - 0x34]
test esi, esi
jne 0x10079a7f
lea esi, [ebp - 0x20]
push 0x27
pop edx
mov ecx, esi
push 0x27
push 0x101d083c
call sym.std::io::error::Error::new::hab5ab89b2f8afd37
pop eax
pop ecx
mov eax, dword [esi]
mov edi, dword [esi + 4]
cmp al, 4
jne 0x10079aeb
mov eax, dword [ebp - 0x2c]
lock inc dword [eax + 0x30]
cmp edi, 0xffffffff
je 0x10079aba
lea esi, [ebp - 0x20]
lea edx, [ebp - 0x5c]
mov ecx, esi
push 1
push 3
push edi
push dword [ebp - 0x44]
call sym.__LT_mio..net..tcp..TcpStream_u20_as_u20_mio..event_imp..Evented_GT_::register::h10715e26e9b33187
add esp, 0x10
cmp byte [esi], 4
je 0x10079aef
mov eax, dword [ebp - 0x20]
cmp al, 4
je 0x10079aef
mov edx, dword [ebp - 0x1c]
mov ecx, eax
shrd ecx, edx, 8
jmp 0x10079ae1
lea esi, [ebp - 0x20]
push 0x27
pop edx
mov ecx, esi
push 0xd
push str.invalid_tokenregistration_handle_associated_with_another__Poll__instanceL
call sym.std::io::error::Error::new::hab5ab89b2f8afd37
pop eax
pop ecx
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, eax
shrd ecx, edx, 8
cmp al, 4
je 0x10079a8b
je 0x10079a8b
and ecx, 0xffffff
mov edi, edx
jmp 0x10079b42
cmp al, 4
jne 0x10079b3d
lea ecx, [ebp - 0x30]
call sym.core::ptr::drop_in_place_LT_alloc..sync..Arc_LT_tokio..io..driver..Inner_GT__GT_::hc567f7b0e99cfdd9
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], 1
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ecx
lea eax, [ebp - 0x54]
mov ecx, dword [ebp - 0x3c]
movsd xmm0, qword [eax]
movsd qword [edx + 0x14], xmm0
mov eax, dword [eax + 8]
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], edi
mov edi, edx
add edx, 8
and dword [edi + 0x28], 0
and dword [edi + 0x2c], 0
mov dword [edi + 0x30], edx
jmp 0x1007957a
mov ecx, eax
shr ecx, 8
shl ecx, 8
movzx ebx, al
or ebx, ecx
lea ecx, [ebp - 0x30]
call sym.core::ptr::drop_in_place_LT_alloc..sync..Arc_LT_tokio..io..driver..Inner_GT__GT_::hc567f7b0e99cfdd9
mov ecx, dword [ebp - 0x3c]
call sym.__LT_alloc..sync..Weak_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1d12ef150048fe85
lea ecx, [ebp - 0x5c]
call sym.core::ptr::drop_in_place_LT_mio..net..tcp..TcpStream_GT_::h4f9143071188e692
push 2
pop eax
mov ecx, dword [ebp - 0x34]
movsd xmm1, qword [ebp - 0x70]
movsd xmm0, qword [ebp - 0x78]
mov dword [ecx], eax
mov dword [ecx + 8], edi
mov dword [ecx + 4], ebx
movsd qword [ecx + 0x14], xmm1
movsd xmm1, qword [ebp - 0x68]
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x28]
movsd qword [ecx + 0xc], xmm0
mov dword [ecx + 0x24], eax
movsd qword [ecx + 0x1c], xmm1
mov al, 1
mov byte [edi + 0x34], al
add esp, 0x74
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edi
mov edx, ebx
push 0x101d20c0
call dbg.panic_bounds_check
push 0x23
pop edx
mov ecx, str._async_fn__resumed_after_completion_home_lanbyshell_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.12_src_header_value.rsunable_to_find_any_user_specified_roots_in_the_final_cert_chainbytes_remaining_on_streamOut_of_bounds_accesspolling_StreamFuture_twice_home_lanbyshell_.cargo_registry_src_index.crates.io_6f17d22bba15001f_futures_util_0.3.30_src_stream_stream_into_future.rs
push 0x101c6f94
call dbg.panic
push 0x46
pop edx
mov ecx, 0x101cfda8
push 0x101cfe40
push 0x101cff7c
jmp 0x10079c0a
push 0x55
pop edx
mov ecx, str.there_is_no_reactor_running__must_be_called_from_the_context_of_a_Tokio_0.2.x_runtime
push 0x101d081c
call dbg.expect_failed
mov eax, dword [ebp - 0x1c]
mov cl, byte [ebp - 0x18]
lea esi, [ebp - 0x80]
mov dword [esi], eax
mov byte [esi + 4], cl
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x101d21c4
push 0x101cfffc
push esi
call sym.core::result::unwrap_failed::hb9c5ac622931d85d
call sym.alloc::raw_vec::capacity_overflow::h5648a8ceafa88914
push 4
pop ecx
mov edx, ebx
call dbg.handle_alloc_error