Function at 0x140199a94
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x580]
sub rsp, 0x680
mov rax, qword [0x14041f880]
xor rax, rsp
mov qword [rbp + 0x570], rax
xor r12d, r12d
mov esi, edx
mov r15, r8
mov rbx, rcx
test rcx, rcx
je 0x140199af1
mov eax, r12d
test edx, edx
je 0x140199af1
lea edx, [r12 + 0x10]
cmp qword [rcx], 0xffffffffffffffff
jne 0x140199b24
inc eax
add rcx, rdx
cmp eax, esi
jb 0x140199ae2
mov rcx, r15
call fcn.140199f18
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.1402dd7d0
lea r11, [rsp + 0x680]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov edx, r12d
mov dword [rbp + 0x150], r12d
mov ecx, r12d
mov dword [rsp + 0x40], edx
mov dword [rbp + 0x360], ecx
mov r8d, r12d
or r14, 0xffffffffffffffff
mov edi, r12d
mov r9d, 0x300
mov eax, edi
add rax, rax
mov r10, qword [rbx + rax*8]
mov word [rbx + rax*8 + 0xa], r12w
cmp r10, 0xffffffffffffffff
je 0x140199c5b
jae 0x140199c7c
movzx r11d, word [rbx + rax*8 + 8]
mov eax, 0x710
test ax, r11w
je 0x140199c5b
cmp r10, r14
cmova r14, r10
test r9w, r11w
je 0x140199bc1
mov r9d, r12d
test edx, edx
je 0x140199ba5
mov eax, r9d
cmp qword [rsp + rax*8 + 0x48], r10
je 0x140199ba5
inc r9d
cmp r9d, edx
jb 0x140199b93
cmp r9d, edx
jne 0x140199bc1
cmp edx, 0x40
jae 0x140199bc1
mov eax, r9d
mov qword [rsp + rax*8 + 0x48], r10
mov edx, dword [rsp + 0x40]
inc edx
mov dword [rsp + 0x40], edx
test r11b, 0x10
je 0x140199c0b
mov r9d, r12d
test r8d, r8d
je 0x140199be4
mov eax, r9d
cmp qword [rbp + rax*8 + 0x158], r10
je 0x140199be4
inc r9d
cmp r9d, r8d
jb 0x140199bcf
cmp r9d, r8d
jne 0x140199c0b
cmp r8d, 0x40
jae 0x140199c0b
mov eax, r9d
mov qword [rbp + rax*8 + 0x158], r10
mov r8d, dword [rbp + 0x150]
inc r8d
mov dword [rbp + 0x150], r8d
mov eax, 0x600
test ax, r11w
je 0x140199c55
mov r9d, r12d
test ecx, ecx
je 0x140199c32
mov eax, r9d
cmp qword [rbp + rax*8 + 0x368], r10
je 0x140199c32
inc r9d
cmp r9d, ecx
jb 0x140199c1d
cmp r9d, ecx
jne 0x140199c55
cmp ecx, 0x40
jae 0x140199c55
mov eax, r9d
mov qword [rbp + rax*8 + 0x368], r10
mov ecx, dword [rbp + 0x360]
inc ecx
mov dword [rbp + 0x360], ecx
mov r9d, 0x300
inc edi
cmp edi, esi
jb 0x140199b4b
test edx, edx
jne 0x140199c8f
test r8d, r8d
jne 0x140199c8f
test ecx, ecx
jne 0x140199c8f
mov rcx, r15
call fcn.140199f18
jmp 0x140199ce6
mov ecx, 0x2726
call qword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
jmp 0x140199af9
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.1401af148
mov ecx, dword [rbp + 0x360]
neg ecx
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x360]
sbb r9, r9
and r9, rcx
mov ecx, dword [rbp + 0x150]
neg ecx
lea rcx, [rbp + 0x150]
sbb r8, r8
and r8, rcx
mov ecx, dword [rsp + 0x40]
neg ecx
lea rcx, [rsp + 0x40]
sbb rdx, rdx
and rdx, rcx
lea ecx, [r14 + 1]
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x140199af9
mov edi, r12d
add rbx, 0xa
mov eax, reloc.WS2_32.dll_recv
mov r15d, 0x200
mov r14d, 0x400
mov rcx, qword [rbx - 0xa]
mov word [rbx], r12w
cmp rcx, 0xffffffffffffffff
je 0x140199d9a
lea rdx, [rsp + 0x40]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140199d42
mov eax, 0x100
test word [rbx - 2], ax
je 0x140199d34
or word [rbx], ax
mov eax, 0x300
test word [rbx - 2], ax
je 0x140199d42
or word [rbx], ax
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x150]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140199d63
mov eax, reloc.WS2_32.dll_recv
test byte [rbx - 2], al
je 0x140199d63
or word [rbx], ax
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x360]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140199d8d
test word [rbx - 2], r15w
je 0x140199d82
or word [rbx], r15w
test word [rbx - 2], r14w
je 0x140199d8d
or word [rbx], r14w
mov eax, reloc.WS2_32.dll_recv
cmp word [rbx], r12w
je 0x140199d9a
inc edi
add rbx, rax
sub rsi, 1
jne 0x140199d06
mov eax, edi
jmp 0x140199af9