Function at 0x1007bb89
Capabilities:
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x90
movzx eax, byte [edx + 0x38]
mov edi, edx
mov ebx, ecx
test eax, eax
je 0x1007bbd1
cmp eax, 3
jne 0x1007c228
mov edx, dword [edi + 0x34]
lea esi, [ebp - 0x20]
mov ecx, esi
push dword [ebp + 8]
call sym.tokio::io::poll_evented::PollEvented_LT_E_GT_::poll_write_ready::h4ec818d1962947f0
pop eax
cmp byte [esi], 5
jne 0x1007bd71
mov al, 3
mov dword [ebx], 3
jmp 0x1007c20c
mov dword [ebp - 0x34], ebx
mov ebx, dword [edi]
mov dword [ebp - 0x2c], 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 0x1007be19
mov ecx, 0x90
call sym.__ZN5alloc5alloc15exchange_malloc17hb61fce2610a36b72E.498
mov dword [eax], ebx
xor ebx, ebx
and dword [eax + 8], 0
and dword [eax + 4], 0
and dword [eax + 0x10], 0
and dword [eax + 0xc], 0
and dword [eax + 0x14], 0
mov dword [eax + 0x18], sym.mio::sys::windows::tcp::read_done::h540a41d62bb1241d
and dword [eax + 0x20], 0
and dword [eax + 0x1c], 0
and dword [eax + 0x28], 0
and dword [eax + 0x24], 0
and dword [eax + 0x2c], 0
mov dword [eax + 0x30], sym.mio::sys::windows::tcp::write_done::h500d29956410bede
and dword [eax + 0x34], 0
xor ecx, ecx
mov byte [eax + 0x38], bl
and dword [eax + 0x3c], 0
and dword [eax + 0x48], 0
and dword [eax + 0x44], 0
and dword [eax + 0x4c], 0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [eax + 0x60], xmm0
movsd qword [eax + 0x68], xmm1
movsd xmm0, qword [edi + 0x10]
movsd qword [eax + 0x70], xmm0
movsd xmm0, qword [edi + 0x18]
movsd qword [eax + 0x78], xmm0
mov byte [eax + 0x80], 4
mov byte [eax + 0x88], bl
mov dword [eax + 0x8c], 1
and dword [ebp - 0x68], 0
mov dword [ebp - 0x60], eax
and dword [ebp - 0x5c], 0
and dword [ebp - 0x6c], 0
and dword [ebp - 0x70], 0
call sym.tokio::runtime::context::CONTEXT::__getit::h9cad67dbddb0a206
test eax, eax
je 0x1007c23a
mov ecx, eax
mov edx, 0x101c4d34
call sym.core::cell::RefCell_LT_T_GT_::borrow::h896cc7bc86e901ff
cmp dword [eax], 3
mov esi, edx
je 0x1007bcd2
mov ecx, dword [eax + 0xc]
call sym.__LT_core..option..Option_LT_T_GT__u20_as_u20_core..clone..Clone_GT_::clone::h5746f5fd0a03fa13
mov ebx, eax
dec dword [esi]
test ebx, ebx
je 0x1007c252
mov ecx, ebx
mov dword [ebp - 0x58], ebx
call sym.alloc::sync::Weak_LT_T_C_A_GT_::upgrade::h56ceac188a3ba325
test eax, eax
je 0x1007be35
mov edi, eax
lea esi, [ebp - 0x20]
mov dword [ebp - 0x3c], eax
add eax, 8
mov dword [ebp - 0x4c], ebx
mov edx, edi
mov ecx, esi
mov dword [ebp - 0x50], eax
add edx, 0x30
call sym.std::sync::mutex::Mutex_LT_T_GT_::lock::ha6bcabe2687d98a0
mov ecx, esi
mov edx, 0x101c64d4
call sym.core::result::Result_LT_T_C_E_GT_::unwrap::h5f3d990ae2d7a1e8
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x21], dl
mov edx, dword [edi + 0x28]
imul eax, dword [edi + 0x2c], 0x14
xor ebx, ebx
mov dword [ebp - 0x30], edi
mov esi, eax
test eax, eax
je 0x1007c0bd
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 0x24]
mov ecx, dword [eax + 0x20]
push ebx
call sym.tokio::util::slab::shard::Shard_LT_T_GT_::local::h27d0a01dba6cf2ce
mov edx, dword [ebp - 0x14]
add esp, 4
mov edi, dword [eax]
cmp edi, dword [edx + 0xc]
jb 0x1007bd5a
mov edi, 0x7fffffff
xchg dword [edx + 8], edi
cmp edi, 0x7fffffff
jne 0x1007be58
mov eax, esi
add edx, 0x14
inc ebx
add eax, 0xffffffec
jmp 0x1007bd29
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edi
cmp bl, 4
jne 0x1007be2d
lea ecx, [edi + 8]
call sym.tokio::io::poll_evented::PollEvented_LT_E_GT_::get_ref::h09bac0eb7a30bd90
mov esi, eax
mov eax, dword [eax + 0x10]
lea ecx, [ebp - 0x44]
lea edx, [ebp - 0x9c]
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 0x1007be69
mov edi, dword [ebp - 0x44]
xor ebx, ebx
test edi, edi
sete bl
shl ebx, 2
test ebx, ebx
je 0x1007bed1
add esi, 0x10
mov ecx, dword [esi]
call sym.mio::sys::windows::tcp::TcpStream::inner::hbcb4e7625d26b36a
mov ebx, dword [eax + 0x4c]
mov edi, dword [eax + 0x50]
and dword [eax + 0x50], 0
mov byte [ebp - 0x30], dl
mov dword [eax + 0x4c], 4
mov dword [ebp - 0x14], eax
test bl, 0xfc
je 0x1007beb9
mov esi, eax
add esi, 0x4c
mov ecx, esi
call sym.core::ptr::drop_in_place_LT_mio..sys..windows..tcp..State_LT__LP__RP__C__LP__RP__GT__GT_::h4549fabdd0ace8b4
mov dword [esi + 4], edi
xor edi, edi
mov dword [esi], ebx
push 4
pop ebx
jmp 0x1007bec5
call sub.ws2_32.dll_WSAGetLastError
mov edi, eax
push ebx
call sub.ws2_32.dll_closesocket
xor ebx, ebx
jmp 0x1007c1cb
mov edi, dword [ebp - 0x1c]
jmp 0x1007bf23
lea esi, [ebp - 0x98]
push 0x27
pop edx
mov ecx, esi
push 0x19
push 0x101c4ca1
call sym.std::io::error::Error::new::h80a89290a89d9707
pop eax
pop ecx
mov ebx, dword [esi]
mov edi, dword [esi + 4]
jmp 0x1007c1bb
mov ecx, dword [edx]
mov dword [ebp - 0x48], eax
test ecx, ecx
je 0x1007be77
mov ebx, dword [edx + 4]
jmp 0x1007c06c
call sub.ws2_32.dll_WSAGetLastError
mov edi, eax
xor ebx, ebx
jmp 0x1007bf23
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x1007bf33
cmp ecx, 0x3ffffff
ja 0x1007c264
mov ebx, ecx
mov dword [ebp - 0x10], ecx
shl ebx, 5
js 0x1007c264
push 4
pop ecx
mov edx, ebx
call sym.__ZN5alloc5alloc6Global10alloc_impl17he81387725bbd852eE.1064
test eax, eax
je 0x1007c269
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [edx + 0xc]
jmp 0x1007bf38
mov edx, eax
mov ecx, esi
add edx, 8
call sym.mio::sys::windows::tcp::StreamImp::schedule_read::h0ea98380b02639f3
movzx edx, byte [ebp - 0x30]
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 0x1007bf23
lea ecx, [ebp - 0x20]
call sym.core::ptr::drop_in_place_LT_h2..proto..error..Error_GT_::h28a7d1c3249e649d
mov ecx, dword [ebp - 0x2c]
movsd xmm0, qword [ecx + 0x1c]
mov eax, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
movsd qword [ebp - 0x88], xmm0
movsd xmm0, qword [ecx + 0x24]
movsd qword [ebp - 0x80], xmm0
movsd xmm0, qword [ecx + 0x2c]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ecx + 0x14]
movsd qword [ebp - 0x90], xmm0
jmp 0x1007c1ce
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + 8]
call sym.core::ptr::drop_in_place_LT_tokio..net..tcp..stream..TcpStream_GT_::he7fbdd658d585a90
jmp 0x1007c1cb
push 4
pop eax
xor ebx, ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], ebx
sub ebx, 1
mov eax, 0
mov dword [ebp - 0x38], 0
cmovb ebx, eax
cmp ecx, ebx
jae 0x1007bf83
xor edx, edx
lea ecx, [ebp - 0x20]
push ebx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_amortized::hf4bcd2ecd3c78d69
pop ecx
mov ecx, eax
call sym.alloc::raw_vec::handle_reserve::h0a52a8bb6caf4108
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], ecx
mov ebx, dword [ebp - 0x38]
mov ecx, ebx
shl ecx, 5
add ecx, dword [ebp - 0x28]
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
jae 0x1007bfb3
mov dword [ecx], eax
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 eax
inc ebx
add ecx, 0x20
jmp 0x1007bf91
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x20]
cmp ebx, eax
jne 0x1007bfd2
lea ecx, [ebp - 0x20]
mov edx, ebx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::hb2acbbe2684ab1e1
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ebx, dword [ecx + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
inc ebx
shl ecx, 5
mov dword [eax + ecx], 0x7fffffff
and dword [eax + ecx + 4], 0
and dword [eax + ecx + 8], 0
and dword [eax + ecx + 0x10], 0
and dword [eax + ecx + 0x14], 0
and dword [eax + ecx + 0x1c], 0
mov ecx, eax
mov eax, dword [ebp - 0x10]
cmp eax, ebx
jbe 0x1007c030
shl eax, 5
test ebx, ebx
je 0x1007c035
mov edx, ebx
mov dword [ebp - 0x10], ecx
shl edx, 5
mov dword [ebp - 0x28], edx
mov edx, eax
push dword [ebp - 0x28]
call sym.__LT_alloc..alloc..Global_u20_as_u20_core..alloc..Allocator_GT_::shrink::h2ecb19bca1acb6ee
pop ecx
test eax, eax
jne 0x1007c044
push 4
pop ecx
mov edx, dword [ebp - 0x28]
jmp 0x1007c04c
mov dword [ebp - 0x10], ecx
jmp 0x1007c054
push 4
pop edx
push eax
call sym.__LT_alloc..alloc..Global_u20_as_u20_core..alloc..Allocator_GT_::deallocate::hfbcbcf7f85fde04c
push 4
pop eax
add esp, 4
mov ecx, 0x80000001
mov dword [ebp - 0x10], eax
call sym.alloc::raw_vec::handle_reserve::h0a52a8bb6caf4108
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
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 0x1007c21a
mov eax, edi
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp - 0x48]
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::hd8f0534a43406988
pop ecx
pop edx
push 0x1a
pop edx
mov ecx, 0x4000000
push eax
push ebx
call sym.tokio::util::bit::Pack::pack::hd8f0534a43406988
pop ecx
pop edx
mov edi, eax
movzx edx, byte [ebp - 0x21]
mov ecx, dword [ebp - 0x54]
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 0x1007c0fe
lea esi, [ebp - 0x44]
push 0x27
pop edx
mov ecx, esi
push 0x27
push 0x101c4b4c
call sym.std::io::error::Error::new::h80a89290a89d9707
pop eax
pop ecx
cmp byte [esi], 4
jne 0x1007c0f0
mov edi, dword [ebp - 0x40]
jmp 0x1007c0fe
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x40]
cmp al, 4
jne 0x1007c1a5
mov eax, dword [ebp - 0x30]
lock inc dword [eax + 0x38]
cmp edi, 0xffffffff
jne 0x1007c12c
lea esi, [ebp - 0x20]
push 0x27
pop edx
mov ecx, esi
push 0xd
push str.invalid_tokenregistration_handle_associated_with_another__Poll__instance__
call sym.std::io::error::Error::new::h80a89290a89d9707
pop eax
pop ecx
cmp byte [esi], 4
je 0x1007c12c
mov eax, dword [ebp - 0x20]
cmp al, 4
jne 0x1007c1a2
lea esi, [ebp - 0x20]
lea edx, [ebp - 0x70]
mov ecx, esi
push 1
push 3
push edi
push dword [ebp - 0x50]
call sym.__LT_mio..net..tcp..TcpStream_u20_as_u20_mio..event_imp..Evented_GT_::register::h5b14edca368d3ae1
add esp, 0x10
cmp byte [esi], 4
je 0x1007c150
mov eax, dword [ebp - 0x20]
cmp al, 4
jne 0x1007c1a2
lea ecx, [ebp - 0x3c]
call sym.core::ptr::drop_in_place_LT_alloc..sync..Arc_LT_tokio..io..driver..Inner_GT__GT_::h5426c3e6317d464d
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x2c]
lea esi, [ebp - 0x68]
mov dword [edx + 8], 1
mov dword [edx + 0x10], ecx
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x4c]
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [edx + 0x14], xmm0
movsd qword [edx + 0x1c], xmm1
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], edi
mov edi, edx
add edx, 8
and dword [edi + 0x2c], 0
and dword [edi + 0x30], 0
mov dword [edi + 0x34], edx
jmp 0x1007bbad
mov edi, dword [ebp - 0x1c]
mov ecx, eax
movzx ebx, al
shrd ecx, edi, 8
shl ecx, 8
or ebx, ecx
lea ecx, [ebp - 0x3c]
call sym.core::ptr::drop_in_place_LT_alloc..sync..Arc_LT_tokio..io..driver..Inner_GT__GT_::h5426c3e6317d464d
lea ecx, [ebp - 0x58]
call sym.__LT_alloc..sync..Weak_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::hfc8a69a0a22da307
lea ecx, [ebp - 0x70]
call sym.core::ptr::drop_in_place_LT_mio..net..tcp..TcpStream_GT_::h09aca57e28e14631
push 2
pop eax
mov ecx, dword [ebp - 0x34]
movsd xmm1, qword [ebp - 0x88]
movsd xmm0, qword [ebp - 0x90]
movsd xmm2, qword [ebp - 0x80]
mov dword [ecx], eax
mov dword [ecx + 8], edi
mov dword [ecx + 4], ebx
movsd qword [ecx + 0x14], xmm1
movsd xmm1, qword [ebp - 0x78]
mov edi, dword [ebp - 0x2c]
movsd qword [ecx + 0xc], xmm0
movsd qword [ecx + 0x1c], xmm2
mov al, 1
movsd qword [ecx + 0x24], xmm1
mov byte [edi + 0x38], al
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edi
mov edx, ebx
push 0x101c63d0
call dbg.panic_bounds_check
push 0x23
pop edx
mov ecx, str._async_fn__resumed_after_completionunable_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 0x101bb85c
call dbg.panic
push 0x46
pop edx
mov ecx, 0x101c40bc
push 0x101c4154
push 0x101c428c
push esi
call dbg.unwrap_failed
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 0x101c4b2c
call dbg.expect_failed
call sym.alloc::raw_vec::capacity_overflow::h7b8b81325d19d337
push 4
pop ecx
mov edx, ebx
call dbg.handle_alloc_error