Function at 0x140027b10
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, 0x28
mov rsi, rdx
mov eax, dword [0x1400c4050]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x1400c4054], 0xa
mov rdi, rcx
setl al
or al, dl
lea r15, [rcx + 0x48]
nop dword [rax + rax]
cmp r8, 0x7fffffff
mov ebx, 0x7fffffff
cmovb rbx, r8
test al, al
je 0x140027b50
mov rdx, qword [rdi + 0x48]
mov r14, qword [rdi + 0x50]
sub r14, rdx
jbe 0x140027c30
cmp rbx, r14
jbe 0x140027c70
nop
mov eax, dword [0x1400c4058]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1400c405c], 0xa
setl al
or al, cl
nop
test al, al
je 0x140027ba0
add rdx, qword [rdi + 0x30]
mov rcx, rsi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [r15]
add rdx, r14
mov qword [r15], rdx
cmp dword [0x1400c4054], 0xa
jl 0x140028048
mov eax, dword [0x1400c4050]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140028048
mov eax, dword [0x1400c4058]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1400c405c], 0xa
setl al
or al, cl
nop dword [rax]
test al, al
je 0x140027c00
add rdx, qword [rdi + 0x30]
mov rcx, rsi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [r15]
add rdx, r14
mov qword [r15], rdx
jmp 0x140027b80
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + ioctlsocket]
cmp dword [0x1400c4054], 0xa
jl 0x140027d11
mov ecx, dword [0x1400c4050]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
je 0x140027d11
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + ioctlsocket]
jmp 0x140027c30
mov eax, dword [0x1400c4058]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1400c405c], 0xa
setl al
or al, cl
nop
test al, al
je 0x140027c90
add rdx, qword [rdi + 0x30]
mov rcx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [r15]
add rdx, rbx
mov qword [r15], rdx
cmp dword [0x1400c4054], 0xa
jl 0x140028045
mov eax, dword [0x1400c4050]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140028045
mov eax, dword [0x1400c4058]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1400c405c], 0xa
setl al
or al, cl
nop dword [rax]
test al, al
je 0x140027cf0
add rdx, qword [rdi + 0x30]
mov rcx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [r15]
add rdx, rbx
mov qword [r15], rdx
jmp 0x140027c70
mov r14, 0xffffffffffffffff
test al, al
je 0x140028048
xorps xmm0, xmm0
movups xmmword [r15], xmm0
cmp rbx, 0x1000
jae 0x140027e14
mov eax, dword [0x1400c4058]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1400c405c], 0xa
setl al
or al, cl
nop word cs:[rax + rax]
test al, al
je 0x140027d60
mov r14, qword [rdi + 0x30]
mov r15, qword [rdi + 8]
mov eax, dword [0x1400c4060]
mov ecx, dword [0x1400c4064]
mov r12, qword [sym.imp.WS2_32.dll_recv]
mov r13, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
nop word cs:[rax + rax]
cmp ecx, 0xa
jl 0x140027da0
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x140027dce
mov rcx, r15
mov rdx, r14
mov r8d, 0x1000
xor r9d, r9d
call r12
mov ebp, eax
cmp dword [0x1400c4064], 0xa
jl 0x140027df0
mov eax, dword [0x1400c4060]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140027df0
mov rcx, r15
mov rdx, r14
mov r8d, 0x1000
xor r9d, r9d
call r12
jmp 0x140027da0
test ebp, ebp
jns 0x140027fe4
call r13
cmp dword [rax], 4
mov eax, dword [0x1400c4060]
mov ecx, dword [0x1400c4064]
je 0x140027d90
movsxd r14, ebp
jmp 0x140028048
mov ecx, dword [0x1400c4060]
mov edx, dword [0x1400c4064]
mov r15, qword [sym.imp.WS2_32.dll_recv]
mov r12, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
nop
mov r14, qword [rdi + 8]
nop word cs:[rax + rax]
cmp edx, 0xa
jl 0x140027e50
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
jne 0x140027e7d
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
xor r9d, r9d
call r15
mov ebp, eax
mov ecx, dword [0x1400c4060]
mov edx, dword [0x1400c4064]
cmp edx, 0xa
jl 0x140027e90
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
je 0x140027e90
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
xor r9d, r9d
call r15
jmp 0x140027e50
test ebp, ebp
jns 0x140027ea8
call r12
cmp dword [rax], 4
mov ecx, dword [0x1400c4060]
mov edx, dword [0x1400c4064]
je 0x140027e40
cmp dword [0x1400c4054], 0xa
jl 0x140027e0c
mov eax, dword [0x1400c4050]
lea r8d, [rax + 1]
imul r8d, eax
and r8d, 1
je 0x140027e0c
nop dword [rax]
mov r14, qword [rdi + 8]
nop word cs:[rax + rax]
cmp edx, 0xa
jl 0x140027ef0
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
jne 0x140027f1e
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
xor r9d, r9d
call r15
mov ecx, dword [0x1400c4060]
mov edx, dword [0x1400c4064]
cmp edx, 0xa
jl 0x140027f30
lea r8d, [rcx + 1]
imul r8d, ecx
and r8d, 1
je 0x140027f30
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
xor r9d, r9d
call r15
jmp 0x140027ef0
test eax, eax
jns 0x140027f48
call r12
cmp dword [rax], 4
mov ecx, dword [0x1400c4060]
mov edx, dword [0x1400c4064]
je 0x140027ee0
mov r14, qword [rdi + 8]
nop dword [rax]
cmp edx, 0xa
jl 0x140027f60
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
jne 0x140027f8e
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
xor r9d, r9d
call r15
mov ecx, dword [0x1400c4060]
mov edx, dword [0x1400c4064]
cmp edx, 0xa
jl 0x140027fa0
lea r8d, [rcx + 1]
imul r8d, ecx
and r8d, 1
je 0x140027fa0
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
xor r9d, r9d
call r15
jmp 0x140027f60
test eax, eax
jns 0x140027fb8
call r12
cmp dword [rax], 4
mov ecx, dword [0x1400c4060]
mov edx, dword [0x1400c4064]
je 0x140027f50
mov r8d, dword [0x1400c4050]
lea eax, [r8 + 1]
imul eax, r8d
and eax, 1
cmp dword [0x1400c4054], 0xa
jl 0x140027e30
test eax, eax
jne 0x140027ed0
jmp 0x140027e30
mov r14d, ebp
je 0x140028048
cmp rbx, r14
jae 0x14002800e
cmp dword [0x1400c4054], 0xa
jl 0x14002805c
mov eax, dword [0x1400c4050]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x1400280b5
jmp 0x14002805c
mov eax, dword [0x1400c4058]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1400c405c], 0xa
setl al
or al, cl
nop dword [rax]
test al, al
je 0x140028030
mov rdx, qword [rdi + 0x30]
mov rcx, rsi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140028048
mov r14, rbx
mov rax, r14
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1400c4058]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1400c405c], 0xa
setl al
or al, cl
nop word [rax + rax]
test al, al
je 0x140028080
mov rdx, qword [rdi + 0x30]
mov rcx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 0x48], rbx
mov qword [rdi + 0x50], r14
cmp dword [0x1400c4054], 0xa
jl 0x140028045
mov eax, dword [0x1400c4050]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x140028045
mov eax, dword [0x1400c4058]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1400c405c], 0xa
setl al
or al, cl
nop word cs:[rax + rax]
test al, al
je 0x1400280e0
mov rdx, qword [rdi + 0x30]
mov rcx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 0x48], rbx
mov qword [rdi + 0x50], r14
jmp 0x14002805c