Function at 0x14002bae0
Capabilities:
Receive data
Receive data on socket
Set socket configuration

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x140396c80]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rsi, rcx
mov byte [rcx + 0x38], 0
xor r13d, r13d
mov rdi, qword [rcx + 0x10]
sub rdi, qword [rcx + 8]
sar rdi, 4
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], r13
add rdi, 1
je 0x14002b662
movabs rax, 0x1fffffffffffffff
cmp rdi, rax
ja 0x14002bad3
lea rbx, [rdi*8]
cmp rbx, 0x1000
jb 0x14002b62e
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x14002bacd
call fcn.1400be430
test rax, rax
je 0x14002ba8c
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14002b643
test rbx, rbx
je 0x14002b640
mov rcx, rbx
call fcn.1400be430
mov r14, rax
jmp 0x14002b643
mov r14, r13
mov qword [rbp - 0x21], r14
lea r15, [r14 + rbx]
mov qword [rbp - 0x11], r15
mov r8, rbx
xor edx, edx
mov rcx, r14
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x19], r15
jmp 0x14002b666
mov r14, qword [rbp - 0x21]
mov rbx, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
cmp rbx, rcx
je 0x14002b6c2
mov r15, r14
nop word [rax + rax]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov rdi, rax
mov rcx, qword [rbx + 8]
mov rcx, qword [rcx + 8]
mov r8d, 1
mov rdx, rax
mov rcx, qword [rcx + 8]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
mov qword [r15], rdi
add rbx, 0x10
lea r15, [r15 + 8]
mov rcx, qword [rsi + 0x10]
cmp rbx, rcx
jne 0x14002b680
mov rax, qword [rsi + 0x40]
sub rcx, qword [rsi + 8]
sar rcx, 4
mov qword [r14 + rcx*8], rax
call qword [sym.imp.WINMM.dll_timeGetTime]
mov eax, eax
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
mov rax, r13
mov qword [rbp - 0x39], rax
mov rbx, qword [rsi + 0x20]
mov r10, qword [rbp - 0x41]
cmp rbx, qword [rsi + 0x28]
je 0x14002b75b
nop
movd xmm0, dword [rbx]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm6
movsd qword [rbp - 9], xmm0
movups xmm1, xmmword [rbx]
movups xmmword [rbp - 1], xmm1
cmp r10, rax
je 0x14002b739
movups xmm0, xmmword [rbp - 9]
movups xmmword [r10], xmm0
unpckhpd xmm1, xmm1
movsd qword [r10 + 0x10], xmm1
add r10, 0x18
mov qword [rbp - 0x41], r10
jmp 0x14002b751
lea r8, [rbp - 9]
mov rdx, r10
lea rcx, [rbp - 0x49]
call fcn.14002a190
mov rax, qword [rbp - 0x39]
mov r10, qword [rbp - 0x41]
add rbx, 0x10
cmp rbx, qword [rsi + 0x28]
jne 0x14002b700
mov rdx, r10
mov rcx, qword [rbp - 0x49]
sub rdx, rcx
movabs r12, 0x2aaaaaaaaaaaaaab
mov rax, r12
imul rdx
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea r9, [0x14002b470]
mov rdx, r10
call fcn.14002ac70
mov ecx, 0x1002
call fcn.1400be9a0
mov r15, rax
mov qword [rbp - 0x31], 0xffffffffffffffff
movzx ecx, byte [rsi + 0x38]
test cl, cl
jne 0x14002b992
mov rdi, qword [rbp - 0x41]
mov rcx, rdi
mov rbx, qword [rbp - 0x49]
sub rcx, rbx
mov rax, r12
imul rcx
mov r12, rdx
sar r12, 2
mov rax, r12
shr rax, 0x3f
add r12, rax
call qword [sym.imp.WINMM.dll_timeGetTime]
mov eax, eax
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov r9d, 0xffffffff
cmp rbx, rdi
je 0x14002b80b
movsd xmm0, qword [rbx]
comisd xmm0, xmm1
jb 0x14002b803
subsd xmm0, xmm1
jmp 0x14002b806
xorps xmm0, xmm0
cvttsd2si r9, xmm0
mov rcx, qword [rsi + 0x10]
sub rcx, qword [rsi + 8]
sar rcx, 4
inc ecx
xor r8d, r8d
mov rdx, qword [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
movsxd rdi, eax
movzx ecx, byte [rsi + 0x38]
test cl, cl
jne 0x14002b988
cmp edi, 0x102
je 0x14002b8fd
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
sub rcx, rdx
sar rcx, 4
cmp edi, ecx
jge 0x14002b8fd
mov rbx, rdi
shl rbx, 4
nop
mov rax, qword [rdx + rbx + 8]
mov rcx, qword [rax + 8]
mov dword [rbp - 0x29], reloc.WS2_32.dll_recv
lea rax, [rbp - 0x29]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x1002
mov rdx, r15
mov rcx, qword [rcx + 8]
call qword [sym.imp.WS2_32.dll_recvfrom]
mov r14d, eax
test eax, eax
js 0x14002b8e0
mov ecx, dword [rbp + 0x13]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbp - 0x31], eax
movzx ecx, word [rbp + 0x11]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
mov dword [rbp - 0x2d], eax
test r14d, r14d
je 0x14002b8e0
mov rax, qword [rsi + 8]
mov rcx, qword [rbx + rax]
mov rax, qword [rcx]
lea r9, [rbp - 0x31]
mov r8d, r14d
mov rdx, r15
call qword [rax + reloc.WS2_32.dll_htonl]
movzx eax, byte [rsi + 0x38]
test al, al
jne 0x14002b8fd
inc edi
add rbx, 0x10
mov rdx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
sub rax, rdx
sar rax, 4
cmp edi, eax
jl 0x14002b860
call qword [sym.imp.WINMM.dll_timeGetTime]
mov eax, eax
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
xor dil, dil
mov rbx, qword [rbp - 0x49]
mov rdx, qword [rbp - 0x41]
cmp rbx, rdx
je 0x14002b973
nop dword [rax]
comisd xmm6, xmmword [rbx]
jb 0x14002b95b
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
movzx eax, byte [rsi + 0x38]
mov rdx, qword [rbp - 0x41]
test al, al
jne 0x14002b95b
movd xmm0, dword [rbx + 0xc]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [rbx]
movsd qword [rbx], xmm0
mov dil, 1
add rbx, 0x18
cmp rbx, rdx
jne 0x14002b920
jmp 0x14002b960
test dil, dil
je 0x14002b973
lea r9, [0x14002b470]
mov r8, r12
mov rcx, qword [rbp - 0x49]
call fcn.14002ac70
movzx eax, byte [rsi + 0x38]
test al, al
jne 0x14002b988
mov rdi, qword [rbp - 0x41]
mov rbx, qword [rbp - 0x49]
jmp 0x14002b7d8
movabs r12, 0x2aaaaaaaaaaaaaab
mov rcx, r15
call fcn.1400be46c
mov rbx, qword [rsi + 8]
mov r14, qword [rbp - 0x21]
cmp rbx, qword [rsi + 0x10]
je 0x14002b9fe
mov rdi, r14
nop dword [rax + rax]
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 8]
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, qword [rcx + 8]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rbp - 0x25], r13d
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 8]
lea r8, [rbp - 0x25]
mov edx, 0x8004667e
mov rcx, qword [rcx + 8]
call qword [sym.imp.WS2_32.dll_ioctlsocket]
add rbx, 0x10
lea rdi, [rdi + 8]
cmp rbx, qword [rsi + 0x10]
jne 0x14002b9b0
mov r8, qword [rbp - 0x49]
test r8, r8
je 0x14002ba5b
mov rcx, qword [rbp - 0x39]
sub rcx, r8
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x14002ba52
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002ba52
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1400be46c
nop
test r14, r14
je 0x14002ba9b
mov rdx, qword [rbp - 0x11]
sub rdx, r14
and rdx, 0xfffffffffffffff8
mov rax, r14
cmp rdx, 0x1000
jb 0x14002ba93
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002ba93
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1400be46c
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1400be7c0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140004c10
int3
call fcn.140008ad0
int3
mov rcx, qword [rcx]
jmp 0x14002b580