Function at 0x140013c70
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3c0]
sub rsp, 0x4c0
mov rax, qword [0x1403c6030]
xor rax, rsp
mov qword [rbp + 0x3b0], rax
mov rbx, qword [0x1403c79b0]
xor edi, edi
mov r15d, r8d
mov rsi, rdx
lea r12d, [rdi + 1]
test rdx, rdx
je 0x140013cdc
mov rcx, rbx
mov dword [rdx], edi
mov qword [rdx + 8], rdi
mov qword [rdx + 0x18], rdi
call fcn.1400113b0
cmp eax, 0xffffffff
je 0x140013fe5
cmp eax, r12d
je 0x140013e53
call qword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [0x1403c79a0]
add r15d, edx
mov dword [rbx + 0x40], edx
mov dword [rsp + 0x50], r15d
nop word [rax + rax]
mov ecx, dword [rbx + 0x18]
mov eax, edx
sub eax, ecx
sub ecx, edx
cmp eax, 0x5265c00
cmovb ecx, eax
cmp ecx, 0x3e8
jb 0x140013d21
mov rcx, rbx
call fcn.14000fb60
mov r8d, r12d
mov rdx, rsi
mov rcx, rbx
call fcn.140013580
cmp eax, 0xffffffff
je 0x140013fe5
cmp eax, 1
je 0x140013e53
xor eax, eax
lea rdi, [rbx + 0x2ab8]
test rdi, rdi
lea r12, [rsp + 0x70]
lea r13, [rbp - 0x80]
mov r14d, eax
cmove r12, rax
lea r15, [rbx + 0xab8]
cmove r13, rax
nop dword [rax + rax]
mov rcx, qword [rbx]
lea r9, [rsp + 0x6c]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov r8d, 1
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], eax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], 0x1000
mov dword [rsp + 0x70], reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_WSARecvFrom]
cmp eax, 0xffffffff
je 0x140013e87
test dword [rsp + 0x68], 0x8000
jne 0x140013fe5
test rdi, rdi
je 0x140013df4
mov eax, dword [rbp - 0x7c]
movzx ecx, word [rbp - 0x7e]
mov dword [rdi], eax
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rdi + 4], ax
movsxd rcx, dword [rsp + 0x6c]
test ecx, ecx
js 0x140013fe5
je 0x140013e9d
add dword [rbx + 0x2ad8], ecx
inc dword [rbx + 0x2adc]
mov rax, qword [rbx + 0x2ae0]
mov qword [rbx + 0x2ac0], r15
mov qword [rbx + 0x2ac8], rcx
test rax, rax
je 0x140013e5b
mov rdx, rsi
mov rcx, rbx
call rax
cmp eax, 0xffffffff
je 0x140013fe5
cmp eax, 1
jne 0x140013e5b
test rsi, rsi
je 0x140013e74
cmp dword [rsi], 0
je 0x140013e74
mov r12d, 1
mov eax, r12d
jmp 0x140013fea
mov rdx, rsi
mov rcx, rbx
call fcn.140012590
cmp eax, 0xffffffff
je 0x140013fe5
cmp eax, 1
je 0x140013e4d
inc r14d
cmp r14d, 0x100
jge 0x140013e9d
xor eax, eax
jmp 0x140013d70
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2733
je 0x140013e9d
cmp eax, 0x13
jne 0x140013fe5
mov r12d, 1
mov rdx, rsi
mov r8d, r12d
mov rcx, rbx
call fcn.140013580
cmp eax, 0xffffffff
je 0x140013fe5
cmp eax, r12d
je 0x140013e53
test rsi, rsi
je 0x140013ee1
mov rdx, rsi
mov rcx, rbx
call fcn.1400113b0
cmp eax, 0xffffffff
je 0x140013fe5
cmp eax, r12d
je 0x140013e53
mov eax, dword [rbx + 0x40]
mov r15d, dword [rsp + 0x50]
sub eax, r15d
cmp eax, 0x5265c00
jb 0x140013fe1
call qword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [0x1403c79a0]
mov r8d, eax
mov dword [rbx + 0x40], eax
sub r8d, r15d
cmp r8d, 0x5265c00
jb 0x140013fe1
mov r14, qword [rbx]
mov ecx, r15d
sub ecx, eax
mov qword [rbp - 0x68], r14
cmp ecx, 0x5265c00
mov dword [rbp - 0x70], r12d
mov eax, 0x10624dd3
cmovb r8d, ecx
xor edi, edi
mul r8d
lea ecx, [r14 + 1]
mov dword [rbp + 0x1a0], edi
shr edx, 6
xor r9d, r9d
imul eax, edx, 0x3e8
mov dword [rsp + 0x78], edx
lea rdx, [rbp - 0x70]
sub r8d, eax
imul eax, r8d, 0x3e8
lea r8, [rbp + 0x1a0]
mov dword [rsp + 0x7c], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
js 0x140013fe5
je 0x140013fd2
lea rdx, [rbp + 0x1a0]
mov rcx, r14
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
lea rdx, [rbp - 0x70]
mov rcx, r14
test eax, eax
cmovne edi, r12d
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
mov eax, 2
cmovne edi, eax
call qword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [0x1403c79a0]
mov dword [rbx + 0x40], edx
test dil, 2
jne 0x140013d00
xor eax, eax
jmp 0x140013fea
call qword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [0x1403c79a0]
mov dword [rbx + 0x40], eax
xor eax, eax
jmp 0x140013fea
mov eax, 0xffffffff
mov rcx, qword [rbp + 0x3b0]
xor rcx, rsp
call fcn.1402d0d40
mov rbx, qword [rsp + 0x500]
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret