Function at 0x140161cd0
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, 0x58
mov rbx, r8
mov r8, rdx
mov r12, rcx
lea rdx, [rcx + 0x18]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r8
xor r9d, r9d
call fcn.140155f90
mov rax, qword [rsp + 0x40]
cmp rax, 2
jne 0x140161d17
mov r15b, 4
jmp 0x140161fa3
mov qword [rsp + 0x28], rbx
jmp 0x140161d64
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r14
call fcn.14021dfcd
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
xor r9d, r9d
call fcn.140155f90
mov rax, qword [rsp + 0x40]
cmp rax, 2
je 0x140161d0f
mov r15, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
cmp rax, 1
je 0x140161f0d
mov rax, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
mov r8, rax
sub r8, rdx
jb 0x140161fe1
cmp dword [r12], 1
jne 0x140161fc7
add rdx, qword [rbx]
mov rcx, qword [r12 + 0x10]
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8d, eax
xor r9d, r9d
call sub.WS2_32.dll_recv
cmp eax, 0xffffffff
jne 0x140161f15
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
je 0x140161f26
call sub.WS2_32.dll_WSAGetLastError
mov ebp, eax
mov ecx, eax
call fcn.140144e80
cmp al, 0xa
jne 0x140161e20
mov rax, qword [r12 + 8]
test rax, rax
je 0x140161e20
mov rcx, qword [rax]
mov rdx, qword [rax + 0x10]
lock add qword [rdx], 1
jle 0x140161ff5
add rcx, 0x10
mov r8, qword [rax + 8]
mov r9b, byte [rax + 0x18]
call fcn.140080990
mov rsi, rax
cmp sil, 3
jne 0x140161ece
xor eax, eax
mov qword [rsp + 0x20], rax
xor esi, esi
xor r14d, r14d
xor ebx, ebx
xor r13d, r13d
mov ecx, ebp
call fcn.140144e80
cmp al, 0xa
jne 0x140161f7c
mov rcx, qword [r12 + 0x20]
and r15d, 3
mov rax, qword [rcx]
xor r15, 0xf
movzx edx, dil
shl rdx, 0x10
nop dword [rax + rax]
mov rbp, rax
shr rbp, 0x10
cmp bpl, dil
jne 0x140161e86
mov ebp, r15d
and ebp, eax
mov ebx, eax
and ebx, 0x7f000000
or rbx, rdx
or rbp, rbx
lock cmpxchg qword [rcx], rbp
jne 0x140161e60
cmp sil, 2
mov rbx, qword [rsp + 0x28]
jb 0x140161d42
mov rcx, qword [r14]
mov rax, qword [r14 + 8]
call qword [rax]
mov rax, qword [r14 + 8]
cmp qword [rax + 8], 0
je 0x140161d30
mov rsi, qword [r14]
cmp qword [rax + 0x10], 0x11
jb 0x140161d1e
call sub.KERNEL32.dll_GetProcessHeap
mov r8, qword [rsi - 8]
mov rcx, rax
xor edx, edx
jmp 0x140161d2b
mov r14, rdx
mov rbx, rsi
shr rbx, 8
mov r13, rsi
shr r13, 0x10
mov rbp, rsi
shr rbp, 0x20
movzx eax, sil
mov qword [rsp + 0x20], rax
test al, al
je 0x140161e31
cmp sil, 1
je 0x140161f06
mov al, byte [r14 + 0x10]
jmp 0x140161e38
mov eax, ebx
jmp 0x140161e38
mov r14, rdi
jmp 0x140161f97
mov edx, eax
shr edx, 8
mov ecx, eax
shr ecx, 0x10
mov ebp, eax
sar ebp, 0x1f
jmp 0x140161f2e
xor eax, eax
xor edx, edx
xor ecx, ecx
xor ebp, ebp
movzx eax, al
shl rbp, 0x20
shl rcx, 0x10
or rcx, rbp
movzx edx, dl
shl rdx, 8
or rdx, rcx
or rdx, rax
mov rax, qword [rbx + 0x10]
mov rbp, qword [rbx + 0x18]
lea rcx, [rax + rdx]
cmp rcx, rbp
jbe 0x140161f61
mov qword [rbx + 0x18], rcx
mov rbp, rcx
add rax, rdx
jb 0x140161ff9
cmp rbp, rax
jb 0x140162013
mov qword [rbx + 0x10], rax
mov r15b, 3
jmp 0x140161fa3
shl rbp, 0x20
shl r13d, 0x10
or r13, rbp
movzx r15d, bl
shl r15, 8
or r15, r13
add r15, qword [rsp + 0x20]
mov rcx, r15
shrd rcx, r14, 8
shr r14, 8
shld r14, rcx, 8
shl rcx, 8
movzx eax, r15b
or rax, rcx
mov rdx, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1402aeff1]
lea r8, str.C:Usersdarkarp.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.4.0_srciopoll_evented.rs
mov edx, 0x2b
call fcn.14001f9d0
ud2
lea r8, str.C:Usersdarkarp.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.4.0_srcio_read_buf.rsfilled_overflow
mov rcx, rdx
mov rdx, rax
call fcn.1400214d0
ud2
ud2
lea rcx, [0x140276f0f]
lea r8, str.C:Usersdarkarp.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.4.0_srcio_read_buf.rsfilled_overflow
mov edx, send
call fcn.140022520
ud2
lea rcx, str.filled_must_not_become_larger_than_initialized
lea r8, str.C:Usersdarkarp.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.4.0_srcio_read_buf.rsfilled_overflow
mov edx, 0x2e
call fcn.140154a10
ud2