Function at 0x140015608
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x608]
sub rsp, 0x6d0
movaps xmmword [rax - 0x48], xmm6
mov rax, qword [0x14009d810]
xor rax, rsp
mov qword [rbp + 0x5b0], rax
xor esi, esi
mov dword [rsp + 0x30], r8d
mov ebx, edx
mov r15, rcx
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], esi
mov r12d, esi
test rcx, rcx
je 0x140015672
mov eax, esi
test edx, edx
je 0x140015672
lea edx, [rsi + 0x10]
cmp qword [rcx], 0xffffffffffffffff
jne 0x1400156a9
inc eax
add rcx, rdx
cmp eax, ebx
jb 0x140015663
mov ecx, r8d
call fcn.140015d3c
mov rcx, qword [rbp + 0x5b0]
xor rcx, rsp
call fcn.140042af0
lea r11, [rsp + 0x6d0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r8d, r8d
jle 0x1400156c0
lea rcx, [rsp + 0x50]
mov r12d, r8d
call fcn.14000b844
movups xmm6, xmmword [rax]
jmp 0x1400156c5
movaps xmm6, xmmword [rsp + 0x40]
xor edi, edi
lea r9, [r15 + 8]
mov r13, rbx
or r14, 0xffffffffffffffff
mov ecx, 0x300
lea esi, [rdi + 0x10]
mov r10d, edi
mov dword [rbp - 0x80], edi
mov r11d, edi
mov dword [rbp + 0x190], edi
mov r8d, edi
mov dword [rbp + 0x3a0], edi
mov rdx, qword [r9 - 8]
mov word [r9 + 2], di
cmp rdx, 0xffffffffffffffff
je 0x1400157ea
mov eax, 0x710
test word [r9], ax
je 0x1400157ea
cmp rdx, r14
cmova r14, rdx
test word [r9], cx
je 0x140015755
mov ecx, edi
test r10d, r10d
je 0x140015738
mov eax, ecx
cmp qword [rbp + rax*8 - 0x78], rdx
je 0x140015738
inc ecx
cmp ecx, r10d
jb 0x140015728
cmp ecx, r10d
jne 0x140015755
cmp r10d, 0x40
jae 0x140015755
mov eax, ecx
mov qword [rbp + rax*8 - 0x78], rdx
mov r10d, dword [rbp - 0x80]
inc r10d
mov dword [rbp - 0x80], r10d
test byte [r9], sil
je 0x14001579a
mov ecx, edi
test r11d, r11d
je 0x140015774
mov eax, ecx
cmp qword [rbp + rax*8 + 0x198], rdx
je 0x140015774
inc ecx
cmp ecx, r11d
jb 0x140015761
cmp ecx, r11d
jne 0x14001579a
cmp r11d, 0x40
jae 0x14001579a
mov eax, ecx
mov qword [rbp + rax*8 + 0x198], rdx
mov r11d, dword [rbp + 0x190]
inc r11d
mov dword [rbp + 0x190], r11d
mov eax, 0x600
test word [r9], ax
je 0x1400157e5
mov ecx, edi
test r8d, r8d
je 0x1400157bf
mov eax, ecx
cmp qword [rbp + rax*8 + 0x3a8], rdx
je 0x1400157bf
inc ecx
cmp ecx, r8d
jb 0x1400157ac
cmp ecx, r8d
jne 0x1400157e5
cmp r8d, 0x40
jae 0x1400157e5
mov eax, ecx
mov qword [rbp + rax*8 + 0x3a8], rdx
mov r8d, dword [rbp + 0x3a0]
inc r8d
mov dword [rbp + 0x3a0], r8d
mov ecx, 0x300
add r9, rsi
dec rbx
jne 0x1400156f2
mov edi, dword [rsp + 0x30]
test r10d, r10d
jne 0x140015812
xor ecx, ecx
test r11d, r11d
jne 0x140015814
test r8d, r8d
jne 0x140015814
mov ecx, edi
jmp 0x140015675
xor ecx, ecx
lea rsi, [rsp + 0x40]
test edi, edi
cmovs rsi, rcx
test edi, edi
jle 0x140015850
mov eax, 0x10624dd3
imul r12d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r12d
mov dword [rsp + 0x40], edx
imul edx, edx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
mov dword [rsp + 0x44], eax
jmp 0x14001585b
jne 0x14001585b
mov qword [rsp + 0x40], 0
neg r8d
lea rax, [rbp + 0x3a0]
lea ecx, [r14 + 1]
sbb r9, r9
mov qword [rsp + 0x20], rsi
and r9, rax
neg r11d
lea rax, [rbp + 0x190]
sbb r8, r8
and r8, rax
neg r10d
lea rax, [rbp - 0x80]
sbb rdx, rdx
and rdx, rax
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x14001590b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor ecx, ecx
test eax, eax
je 0x1400158b7
cmp dword [0x14009f4a0], ecx
jne 0x140015911
cmp eax, 0x2714
jne 0x140015911
test edi, edi
jle 0x1400158f0
lea rcx, [rsp + 0x70]
movdqa xmmword [rsp + 0x60], xmm6
call fcn.14000b844
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x50], xmm0
call fcn.14000b814
mov r12d, edi
sub r12d, eax
xor ecx, ecx
test r12d, r12d
jle 0x140015907
mov r10d, dword [rbp - 0x80]
mov r11d, dword [rbp + 0x190]
mov r8d, dword [rbp + 0x3a0]
jmp 0x14001581f
mov eax, ecx
jmp 0x14001590d
xor ecx, ecx
test eax, eax
jns 0x140015919
or eax, 0xffffffff
jmp 0x14001567a
jne 0x140015922
xor eax, eax
jmp 0x14001567a
mov edi, ecx
lea rbx, [r15 + 0xa]
mov eax, reloc.WS2_32.dll_recv
mov r14d, 0x300
mov word [rbx], cx
mov rcx, qword [rbx - 0xa]
cmp rcx, 0xffffffffffffffff
je 0x140015999
lea rdx, [rbp - 0x80]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140015951
or word [rbx], r14w
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x190]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14001596d
mov esi, reloc.WS2_32.dll_recv
or word [rbx], si
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x3a0]
call sub.WS2_32.dll___WSAFDIsSet
xor ecx, ecx
test eax, eax
je 0x14001598b
mov eax, 0x400
or word [rbx], ax
mov eax, reloc.WS2_32.dll_recv
cmp word [rbx], cx
je 0x14001599b
inc edi
jmp 0x14001599b
xor ecx, ecx
add rbx, rax
dec r13
jne 0x140015933
mov eax, edi
jmp 0x14001567a