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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov ebx, r8d
mov rsi, rdx
mov rdi, rcx
mov r15, qword [rcx + 0xa8]
test r15, r15
je 0x180050ce9
lea r14, [rdi + 0x98]
movsxd rbx, ebx
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
cmp r15, rbx
cmovae r15, rbx
movups xmmword [rsi], xmm0
cmp qword [rdi + 0xb0], 0x10
mov r12, r14
jb 0x180050cb1
mov r12, qword [rdi + 0x98]
test r15, r15
js 0x180050f79
cmp r15, 0xf
mov qword [rbp - 0x28], rsi
ja 0x180050d41
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], recvfrom
mov rcx, rsi
mov rdx, r12
mov r8, r15
call fcn.1800d7e70
add r15, rsi
mov r13, r15
jmp 0x180050de2
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
test ebx, ebx
js 0x180050f7e
movsxd r14, ebx
mov r12, rsi
cmp ebx, 0xf
ja 0x180050d78
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], recvfrom
lea rcx, [rbp - 0x20]
xor edx, edx
mov r8, r14
call fcn.1800d85b0
lea r15, [r14 + rbp]
add r15, 0xffffffffffffffe0
mov byte [r15], 0
cmp qword [rbp - 8], 0x10
jb 0x180050e62
mov rdx, qword [rbp - 0x20]
jmp 0x180050e66
mov rax, r15
or rax, 0xf
cmp rax, 0x17
mov esi, socket
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180050db6
lea rcx, [rsi + 0x28]
call fcn.1800aa410
mov r13, rax
add r13, 0x27
and r13, 0xffffffffffffffe0
mov qword [r13 - 8], rax
jmp 0x180050dc2
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov esi, socket
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x180050e2b
lea rcx, [rsi + 0x28]
call fcn.1800aa410
mov r15, rax
add r15, 0x27
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x180050e37
lea rcx, [rsi + 1]
call fcn.1800aa410
mov r13, rax
mov rax, qword [rbp - 0x28]
mov qword [rax], r13
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], rsi
mov rcx, r13
mov rdx, r12
mov r8, r15
call fcn.1800d7e70
add r13, r15
mov byte [r13], 0
mov rsi, qword [rdi + 0xa8]
cmp rsi, rbx
cmovb rbx, rsi
cmp qword [rdi + 0xb0], 0x10
jb 0x180050e06
mov r14, qword [rdi + 0x98]
sub rsi, rbx
lea r8, [rsi + 1]
add rbx, r14
mov rcx, r14
mov rdx, rbx
call fcn.1800d7e70
mov qword [rdi + 0xa8], rsi
mov rsi, qword [rbp - 0x28]
jmp 0x180050f65
lea rcx, [rsi + 1]
call fcn.1800aa410
mov r15, rax
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], rsi
mov rcx, r15
xor edx, edx
mov r8, r14
call fcn.1800d85b0
add r15, r14
mov byte [r15], 0
cmp qword [rbp - 8], 0x10
jae 0x180050d38
lea rdx, [rbp - 0x20]
mov rcx, qword [rdi + 0x30]
mov r8d, ebx
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x180050eb8
mov edi, eax
mov rcx, qword [rbp - 0x10]
mov r8, rdi
sub r8, rcx
jbe 0x180050f16
mov rax, qword [rbp - 8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x180050f27
mov byte [rsp + 0x20], 0
lea rcx, [rbp - 0x20]
mov rdx, r8
mov r9, r8
call fcn.180019910
jmp 0x180050f4f
xorps xmm0, xmm0
mov rsi, r12
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], recvfrom
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x180050f65
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180050f0f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180050f83
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800aa400
jmp 0x180050f65
mov qword [rbp - 0x10], rdi
cmp qword [rbp - 8], 0x10
jb 0x180050f37
mov rsi, qword [rbp - 0x20]
jmp 0x180050f4b
mov qword [rbp - 0x10], rdi
cmp rax, 0x10
jb 0x180050f3d
mov rsi, qword [rbp - 0x20]
jmp 0x180050f41
lea rsi, [rbp - 0x20]
jmp 0x180050f4b
lea rsi, [rbp - 0x20]
add rcx, rsi
xor edx, edx
call fcn.1800d85b0
mov byte [rsi + rdi], 0
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
mov rsi, r12
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov rax, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.180008c70
call fcn.180008c70
call fcn.1800b3cac
int3