Function at 0x1400137ac
Capabilities:
Get socket status
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, 0x298
movaps xmmword [rsp + 0x280], xmm6
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r8
mov r13, qword [rsp + 0x310]
cmp rcx, 0xffffffffffffffff
je 0x14001380b
mov rsi, rcx
test dl, 0x10
je 0x140013887
cmp byte [rsp + 0x308], 0
je 0x140013887
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
jmp 0x14001385f
mov rax, qword [0x140098750]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x140013843
mov rax, qword [0x140098748]
lea rcx, [0x140098748]
mov edx, 0x2719
call qword [rax + 0x30]
mov ecx, 2
test al, al
je 0x140013848
mov ecx, 3
mov qword [r13], 0x2719
lea rax, [0x140098748]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], rcx
xor eax, eax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0x3f], dl
lea eax, [rsi + 1]
mov dword [rsp + 0x48], eax
xorps xmm6, xmm6
lea rbp, [0x140098748]
lea rdi, [rsp + 0x78]
xor eax, eax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x60], 0
mov eax, dword [rsp + 0x300]
mov dword [rsp + 0x4c], eax
movups xmmword [rsp + 0x28], xmm6
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
lea r9, [rsp + 0x60]
call qword [sym.imp.WS2_32.dll_WSARecv]
mov r14d, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r15, rdi
mov rcx, rdi
mov edx, eax
mov r8, rbp
call fcn.14000689a
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [r13], xmm0
mov rax, qword [rsp + 0x88]
mov qword [r13 + 0x10], rax
mov rdi, qword [r13 + 0x10]
mov r12d, dword [r13]
cmp rdi, 1
jne 0x140013970
mov rcx, qword [r13 + 8]
mov rax, rcx
movabs rdx, 0x4800144005b3
mul rdx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul eax, eax, 0x1ffff7
sub ecx, eax
imul eax, ecx, 0x3e8
add eax, r12d
cmp eax, 0x40
je 0x140013993
cmp eax, 0x4d2
je 0x1400139da
cmp eax, 0x2738
jne 0x140013a35
jmp 0x140013a47
cmp r12d, 0x2738
je 0x140013a47
cmp r12d, 0x4d2
je 0x1400139da
mov eax, r12d
cmp r12d, 0x40
jne 0x140013a35
mov rax, qword [0x140098750]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x1400139cd
mov rax, qword [0x140098748]
mov r12d, 0x2746
mov rcx, rbp
mov edx, 0x2746
call qword [rax + 0x30]
mov edi, 2
test al, al
je 0x140013a1f
mov edi, 3
mov r12d, 0x2746
jmp 0x140013a1f
mov rax, qword [0x140098750]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x140013a14
mov rax, qword [0x140098748]
mov r12d, 0x274d
mov rcx, rbp
mov edx, 0x274d
call qword [rax + 0x30]
mov edi, 2
test al, al
je 0x140013a1f
mov edi, 3
mov r12d, 0x274d
mov dword [r13], r12d
mov dword [r13 + 4], 0
mov qword [r13 + 8], rbp
mov qword [r13 + 0x10], rdi
jmp 0x140013a3c
cmp eax, 0xea
je 0x140013a47
test r14d, r14d
je 0x140013a47
mov cl, byte [rsp + 0x3f]
jmp 0x140013a76
movups xmmword [r13], xmm6
mov qword [r13 + 0x10], 0
mov eax, dword [rsp + 0x60]
mov cl, byte [rsp + 0x3f]
test cl, 0x10
je 0x140013a69
test eax, eax
je 0x140013be4
test eax, eax
jns 0x140013861
xor r12d, r12d
xor edi, edi
test cl, 1
jne 0x140013866
mov rax, qword [0x140098750]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x140013ab2
mov rax, qword [0x140098748]
mov rcx, rbp
mov edx, 0x2733
call qword [rax + 0x30]
mov rdi, qword [r13 + 0x10]
mov r12d, dword [r13]
cmp rdi, 1
je 0x140013af2
cmp r12d, 0x2733
jne 0x140013af2
mov rcx, rbp
test rdi, rdi
je 0x140013acd
mov rcx, qword [r13 + 8]
mov rax, qword [0x140098750]
xor edx, edx
cmp rcx, rbp
setne dl
xor ebx, ebx
cmp qword [rcx + 8], rax
setne bl
test rax, rax
cmove ebx, edx
cmp bl, 1
je 0x140013af9
jmp 0x140013b6e
mov rax, qword [0x140098750]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x140013b25
mov rax, qword [0x140098748]
mov rcx, rbp
mov edx, 0x4d5
call qword [rax + 0x30]
mov rdi, qword [r13 + 0x10]
mov r12d, dword [r13]
cmp rdi, 1
je 0x140013866
cmp r12d, 0x4d5
jne 0x140013866
mov rax, rbp
test rdi, rdi
je 0x140013b48
mov rax, qword [r13 + 8]
mov rcx, qword [0x140098750]
xor edx, edx
cmp rax, rbp
setne dl
xor ebx, ebx
cmp qword [rax + 8], rcx
setne bl
test rcx, rcx
cmove ebx, edx
test bl, bl
jne 0x140013866
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x78], 1
mov qword [rsp + 0x20], 0
mov ecx, dword [rsp + 0x48]
mov rdi, r15
mov rdx, r15
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
js 0x140013bb3
movups xmmword [r13], xmm6
mov qword [r13 + 0x10], 0
jmp 0x1400138a8
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea r8, [0x140098748]
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov edx, eax
call fcn.14000689a
movups xmm0, xmmword [rsi]
movups xmmword [r13], xmm0
mov rax, qword [rsi + 0x10]
mov qword [r13 + 0x10], rax
jmp 0x14001385f
mov rax, qword [0x140098640]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x140013c1c
mov rax, qword [0x140098638]
lea rcx, [0x140098638]
mov edx, 2
call qword [rax + 0x30]
mov ecx, 2
test al, al
je 0x140013c21
mov ecx, 3
mov qword [r13], 2
lea rax, [0x140098638]
jmp 0x140013857