Function at 0x140028db0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov qword [rsp + 0x98], r8
mov rsi, rdx
movzx eax, byte [rdx + 0xe0]
test eax, eax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x90], rdx
je 0x140028e10
cmp eax, 3
jne 0x140028e72
lea rax, [rsi + 0xd8]
mov qword [rsp + 0x38], rax
movzx eax, byte [rsi + 0xd8]
test eax, eax
je 0x140028e45
cmp eax, 3
jne 0x140028e82
jmp 0x140028e9c
mov rax, qword [rsi]
movups xmm0, xmmword [rsi + 8]
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rax
movups xmmword [rsi + 0x28], xmm0
mov qword [rsi + 0x38], 1
lea rcx, [rsi + 0xd8]
mov qword [rsp + 0x38], rcx
mov byte [rsi + 0xd8], 0
mov ecx, 1
jmp 0x140028e4d
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x38]
mov qword [rsi + 0x40], rax
mov qword [rsi + 0x48], rcx
mov rdx, qword [rsi + 0x20]
mov qword [rsi + 0x50], rdx
mov rdx, qword [rsi + 0x28]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsi + 0x30]
mov qword [rsi + 0x60], rdx
jmp 0x1400293ec
lea rcx, str._async_fn__resumed_after_completionC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_src_fsmod.rs
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_src_netudp.rs
jmp 0x140028e90
lea rcx, str._async_fn__resumed_after_completionC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_src_fsmod.rs
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_src_runtimeio_registration.rs
mov edx, 0x23
call fcn.1402ea480
ud2
lea rdx, [rsi + 0x68]
lea r12, [rsp + 0xa0]
mov rcx, r12
mov r8, qword [rsp + 0x98]
call fcn.14002ec40
movzx ebp, byte [rsp + 0xa9]
cmp bpl, 3
je 0x140028f3d
mov r14, qword [rsp + 0xa0]
movzx edi, byte [rsp + 0xa8]
movzx ebx, dil
cmp byte [rsi + 0xd0], 3
jne 0x140028fbb
cmp byte [rsi + 0xc8], 3
jne 0x140028fbb
mov r15, qword [rsi + 0x88]
mov cl, 1
xor eax, eax
lock cmpxchg byte [r15 + 0x18], cl
jne 0x140028f57
lea rax, [rsi + 0x90]
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x140028f73
mov rdx, qword [rsi + 0x98]
mov qword [rcx + 8], rdx
mov rcx, qword [rsi + 0x98]
test rcx, rcx
jne 0x140028f89
lea rcx, [r15 + 0x28]
cmp qword [r15 + 0x28], rax
jne 0x140028f95
jmp 0x140028f89
mov rax, qword [rsp + 0x38]
mov byte [rax], 3
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 3
mov al, 3
jmp 0x1400294be
lea rcx, [r15 + 0x18]
call fcn.1402ec700
lea rax, [rsi + 0x90]
mov rcx, qword [rsi + 0x90]
test rcx, rcx
jne 0x140028f1a
cmp qword [r15 + 0x20], rax
jne 0x140028f95
mov rcx, qword [rsi + 0x98]
mov qword [r15 + 0x20], rcx
test rcx, rcx
je 0x140028f31
mov rdx, qword [rax]
mov qword [rcx], rdx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov al, 1
lock cmpxchg byte [r15 + 0x18], cl
jne 0x1400294d8
mov rax, qword [rsi + 0xa0]
test rax, rax
je 0x140028fbb
mov rcx, qword [rsi + 0xa8]
call qword [rax + 0x18]
mov dx, 2
cmp bpl, 2
je 0x140029420
mov r13, qword [rsi + 0x50]
mov rcx, qword [r13 + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x140029574
mov rdx, qword [rsi + 0x58]
mov rax, qword [rsi + 0x60]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov dword [rsp + 0x64], 0x80
cmp rax, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_recvfrom]
cmp eax, 0xffffffff
je 0x1400290a5
cdqe
mov ecx, dword [rsp + 0x64]
movzx edx, word [rsp + 0xa0]
cmp edx, 0x17
je 0x14002943e
cmp edx, 2
jne 0x1400290d0
cmp ecx, 0x10
jb 0x1400295ac
mov ecx, dword [rsp + 0xa4]
movzx edx, word [rsp + 0xa2]
rol dx, 8
movzx r9d, dx
shl r9, 0x20
or r9, rcx
xor edx, edx
jmp 0x140029484
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x274a
jne 0x1400290f5
mov eax, dword [rsp + 0x64]
movzx ecx, word [rsp + 0xa0]
cmp ecx, 0x17
je 0x1400294f9
cmp ecx, 2
je case.default.0x1400290ec
lea r15, str.invalid_argument_b_9_
mov r12d, r15d
and r12d, 3
lea rax, [0x1400295c8]
movsxd rcx, dword [rax + r12*4]
add rcx, rax
jmp rcx
movzx eax, byte [r15 + 0x10]
jmp 0x14002912a
mov r15d, eax
shl r15, 0x20
or r15, 2
mov r12d, r15d
and r12d, 3
lea rax, [0x1400295c8]
movsxd rcx, dword [rax + r12*4]
add rcx, rax
jmp rcx
movzx eax, byte [r15 + 0xf]
jmp 0x14002912a
mov rcx, r15
shr rcx, 0x20
call fcn.14028f0e0
movzx r8d, word [rsp + 0x32]
mov r10d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rdx
mov r9, qword [rsp + 0x70]
mov rbp, r15
cmp al, 0xd
je 0x14002918f
jmp 0x14002926a
mov rax, r15
shr rax, 0x20
movzx r8d, word [rsp + 0x32]
mov r10d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rdx
mov r9, qword [rsp + 0x70]
mov rbp, r15
cmp eax, 0xd
jne 0x14002926a
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x140029244
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lock inc qword [rdx]
jle 0x14002958e
add rcx, 0x10
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
movzx r9d, byte [rax + 0x18]
call fcn.1401670c0
test rax, rax
je 0x140029244
mov rbp, rax
cmp r12d, 1
jne 0x140029219
lea r12, [r15 - 1]
mov r13, qword [r15 - 1]
mov r15, qword [r15 + 7]
mov rcx, r13
call qword [r15]
cmp qword [r15 + 8], 0
je 0x140029207
cmp qword [r15 + 0x10], 0x11
jb 0x1400291f5
mov r13, qword [r13 - 8]
mov rcx, qword [0x1403cdf08]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1403cdf08]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
movzx r8d, word [rsp + 0x34]
mov r10d, dword [rsp + 0x6c]
mov r11d, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x44]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x50], rax
mov r9, qword [rsp + 0x80]
jmp 0x14002926a
movzx r8d, word [rsp + 0x32]
mov r10d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x58]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov r9, qword [rsp + 0x70]
mov rbp, r15
mov dword [rsp + 0x44], ecx
mov r15d, ebp
and r15d, 3
lea rax, [0x1400295d8]
movsxd rcx, dword [rax + r15*4]
add rcx, rax
sar edi, 0xe1
sar edi, 0xe1
movzx eax, byte [rbp + 0x10]
cmp al, 0xd
je 0x1400292d7
jmp 0x140029422
add dword [rax], eax
add byte [rdi], cl
movzx eax, byte [rbp + 0xf]
movzx eax, byte [rbp + 0xf]
cmp al, 0xd
je 0x1400292d7
jmp 0x140029422
mov rcx, rbp
shr rcx, 0x20
mov r12d, r8d
mov r13, r9
mov dword [rsp + 0x34], r10d
mov esi, r11d
call fcn.14028f0e0
mov r11d, esi
mov r10d, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x90]
mov r9, r13
mov r8d, r12d
cmp al, 0xd
jne 0x140029422
mov rax, qword [rsi + 0x40]
mov rcx, qword [rax + 0x10]
and r14d, 0x23
mov rax, qword [rcx + 0x90]
shl rbx, 0x10
xor r14, 0x2f
nop word cs:[rax + rax]
mov rdx, rax
shr rdx, 0x10
cmp dil, dl
jne 0x14002931f
mov edx, eax
and edx, r14d
or rdx, rbx
lock cmpxchg qword [rcx + 0x90], rdx
jne 0x140029300
cmp r15d, 1
jne 0x1400293df
mov dword [rsp + 0x34], r11d
mov r13d, r10d
mov r14, r9
mov ebx, r8d
lea r15, [rbp - 1]
mov r12, qword [rbp - 1]
mov rdi, qword [rbp + 7]
mov rcx, r12
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14002936d
cmp qword [rdi + 0x10], 0x11
jb 0x14002935b
mov r12, qword [r12 - 8]
mov rcx, qword [0x1403cdf08]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1403cdf08]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov r8d, ebx
mov r9, r14
mov r10d, r13d
mov r11d, dword [rsp + 0x34]
jmp 0x1400293df
mov rax, rbp
shr rax, 0x20
cmp eax, 0xd
jne 0x140029422
mov rax, qword [rsi + 0x40]
mov rcx, qword [rax + 0x10]
and r14d, 0x23
mov rax, qword [rcx + 0x90]
shl rbx, 0x10
xor r14, 0x2f
nop word [rax + rax]
mov rdx, rax
shr rdx, 0x10
cmp dil, dl
jne 0x1400293df
mov edx, eax
and edx, r14d
or rdx, rbx
lock cmpxchg qword [rcx + 0x90], rdx
jne 0x1400293c0
mov rax, qword [rsi + 0x40]
mov rcx, qword [rsi + 0x48]
mov rdi, qword [rsp + 0x50]
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x70], rcx
mov byte [rsi + 0xd0], 0
mov word [rsp + 0x34], r8w
mov dword [rsp + 0x6c], r10d
mov dword [rsp + 0x68], r11d
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x80], r9
jmp 0x140028e9c
jmp 0x140029487
mov r14, rbp
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov dx, 2
mov edi, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x50]
jmp 0x140029491
cmp ecx, 0x1c
jb 0x140029592
movzx r8d, word [rsp + 0xa2]
rol r8w, 8
mov r11d, dword [rsp + 0xa4]
mov r10d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xa8]
shl r9, 0x10
mov rbx, qword [rsp + 0xac]
mov dx, 1
mov edi, dword [rsp + 0xb4]
mov r14, rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov byte [rcx], 1
mov dword [rax + 0xa], r9d
shr r9, 0x20
mov word [rax + 0xe], r9w
mov qword [rax + 0x10], rbx
mov dword [rax + 0x18], edi
mov dword [rax + 0x1c], r11d
mov dword [rax + 0x20], r10d
mov word [rax + 0x24], r8w
mov qword [rax], r14
mov word [rax + 8], dx
mov al, 1
mov byte [rsi + 0xe0], al
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add r15, 0x18
mov rcx, r15
call fcn.1402ec320
mov rax, qword [rsi + 0xa0]
test rax, rax
jne 0x140028fb1
jmp 0x140028fbb
cmp eax, 0x1c
jb 0x140029592
movzx r8d, word [rsp + 0xa2]
rol r8w, 8
mov r11d, dword [rsp + 0xa4]
mov r10d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xa8]
shl r9, 0x10
mov rbx, qword [rsp + 0xac]
mov dx, 1
mov edi, dword [rsp + 0xb4]
xor r14d, r14d
jmp 0x140029487
cmp eax, 0x10
jb 0x1400295ac
mov eax, dword [rsp + 0xa4]
movzx ecx, word [rsp + 0xa2]
rol cx, 8
movzx r9d, cx
shl r9, 0x20
or r9, rax
xor r14d, r14d
xor edx, edx
jmp 0x140029487
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.32.0_srciopoll_evented.rs
mov edx, 0x2b
call fcn.1402ea480
ud2
ud2
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___library_std_src_sys_common_net.rs
lea r8, [0x140392898]
mov edx, 0x43
call fcn.1402ea480
ud2
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
lea r8, str.s_9_
mov edx, 0x42
call fcn.1402ea480
ud2