Function at 0x10046545
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x40
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
lea ecx, [eax - 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
call sym.mio::sys::windows::tcp::StreamImp::inner::he77c876c8b5c57fc
mov esi, eax
and dl, 1
add eax, 4
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 0x4c]
lea ecx, [esi + 0x48]
mov byte [ebp - 0xd], dl
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], ebx
and dword [esi + 0x4c], 0
cmp bl, 5
mov dword [esi + 0x48], 4
jne 0x100465d2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [ebp - 0x34], eax
jne 0x10046686
call sym.core::ptr::drop_in_place_LT_mio..sys..windows..tcp..State_LT__LP__RP__C__LP__RP__GT__GT_::he6813d835110437f
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov byte [esi + 0x48], 6
inc edx
call sym.mio::sys::windows::tcp::StreamImp::add_readiness::h106f08e3e1e079ec
lea ecx, [ebp - 0x30]
call sym.core::ptr::drop_in_place_LT_mio..sys..windows..tcp..State_LT__LP__RP__C__LP__RP__GT__GT_::he6813d835110437f
movzx edx, byte [ebp - 0xd]
mov ecx, esi
call sym.__ZN4core3ptr108drop_in_place_LT_std..sync..mutex..MutexGuard_LT_core..option..Option_LT_mio..poll..Registration_GT__GT__GT_17
mov ecx, dword [ebp - 0x18]
jmp 0x10046679
mov dword [ebp - 0x24], esi
mov esi, ecx
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
mov dword [ebp - 0x20], esi
mov dword [esi], ebx
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x4c]
mov eax, dword [esi - 4]
and dword [ecx], 0
and dword [edx], 0
push edx
push 0
push ecx
push esi
push eax
call sub.ws2_32.dll_WSAGetOverlappedResult
test eax, eax
je 0x10046621
push 0
push 0
push 0x7010
push 0xffff
mov eax, dword [ebp - 0x18]
push dword [eax]
call sub.ws2_32.dll_setsockopt
test eax, eax
je 0x10046653
call sub.kernel32.dll_GetLastError
mov ebx, eax
mov edi, eax
shr edi, 8
shl ebx, 0x18
shld edi, ebx, 8
shl ebx, 8
push 3
pop edx
mov ecx, dword [ebp - 0x14]
call sym.mio::sys::windows::tcp::StreamImp::add_readiness::h106f08e3e1e079ec
mov esi, dword [ebp - 0x20]
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
mov dword [esi], ebx
jmp 0x1004666a
push 2
pop edx
mov edi, dword [ebp - 0x14]
mov ecx, edi
call sym.mio::sys::windows::tcp::StreamImp::add_readiness::h106f08e3e1e079ec
lea ecx, [ebp - 0x1c]
mov edx, edi
call sym.mio::sys::windows::tcp::StreamImp::schedule_read::hb5382a2b2c1e3719
movzx edx, byte [ebp - 0xd]
mov ecx, dword [ebp - 0x24]
call sym.__ZN4core3ptr108drop_in_place_LT_std..sync..mutex..MutexGuard_LT_core..option..Option_LT_mio..poll..Registration_GT__GT__GT_17
mov ecx, dword [ebp - 0x1c]
call sym.__LT_mio..sys..windows..from_raw_arc..FromRawArc_LT_T_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::hc99d747b2c085b7b
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x34]
and dword [edx], 0
call sym.core::panicking::assert_failed::h76f8f534a26f5150