Function at 0x1400159ac
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x608]
sub rsp, 0x6c8
movaps xmmword [rax - 0x58], xmm6
mov rax, qword [0x14009d810]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
xor r11d, r11d
mov eax, 0x7fffffff
mov rbx, r9
cmp r9, rax
mov rsi, r8
mov rdi, rdx
cmovge rbx, rax
or r15, 0xffffffffffffffff
mov r14, rcx
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x38], r11d
mov r13d, r11d
cmp rcx, r15
jne 0x140015a25
cmp rdx, r15
jne 0x140015a25
cmp r8, r15
jne 0x140015a25
mov ecx, ebx
call fcn.140015d3c
jmp 0x140015d11
test rbx, rbx
jle 0x140015a3f
lea rcx, [rsp + 0x40]
mov r13d, ebx
call fcn.14000b844
xor r11d, r11d
movups xmm6, xmmword [rax]
jmp 0x140015a44
movaps xmm6, xmmword [rsp + 0x30]
mov ecx, r11d
mov rdx, r15
mov r9d, r11d
mov dword [rsp + 0x70], r11d
mov r12d, 1
mov dword [rbp + 0x390], ecx
cmp r14, r15
je 0x140015a83
mov ecx, r12d
mov qword [rsp + 0x78], r14
mov r9d, r12d
mov dword [rsp + 0x70], r12d
mov qword [rbp + 0x398], r14
mov rdx, r14
mov dword [rbp + 0x390], ecx
cmp rdi, r15
je 0x140015b0d
mov r8d, r11d
test r9d, r9d
je 0x140015aa6
mov eax, r8d
cmp qword [rsp + rax*8 + 0x78], rdi
je 0x140015aa6
add r8d, r12d
cmp r8d, r9d
jb 0x140015a94
cmp r8d, r9d
jne 0x140015ac6
cmp r9d, 0x40
jae 0x140015ac6
mov eax, r8d
mov qword [rsp + rax*8 + 0x78], rdi
mov r9d, dword [rsp + 0x70]
add r9d, r12d
mov dword [rsp + 0x70], r9d
mov r8d, r11d
test ecx, ecx
je 0x140015ae2
mov eax, r8d
cmp qword [rbp + rax*8 + 0x398], rdi
je 0x140015ae2
add r8d, r12d
cmp r8d, ecx
jb 0x140015acd
cmp r8d, ecx
jne 0x140015b06
cmp ecx, 0x40
jae 0x140015b06
mov eax, r8d
mov qword [rbp + rax*8 + 0x398], rdi
mov ecx, dword [rbp + 0x390]
add ecx, r12d
mov dword [rbp + 0x390], ecx
cmp rdi, rdx
cmova rdx, rdi
mov r10d, r11d
mov dword [rbp + 0x180], r11d
cmp rsi, r15
je 0x140015b6c
mov qword [rbp + 0x188], rsi
mov r10d, r12d
mov dword [rbp + 0x180], r12d
mov r8d, r11d
test ecx, ecx
je 0x140015b49
mov eax, r8d
cmp qword [rbp + rax*8 + 0x398], rsi
je 0x140015b49
add r8d, r12d
cmp r8d, ecx
jb 0x140015b34
cmp r8d, ecx
jne 0x140015b65
cmp ecx, 0x40
jae 0x140015b65
mov eax, r8d
mov qword [rbp + rax*8 + 0x398], rsi
add dword [rbp + 0x390], r12d
cmp rsi, rdx
cmova rdx, rsi
lea r15, [rsp + 0x30]
test rbx, rbx
lea r12d, [rdx + 1]
cmovs r15, r11
test rbx, rbx
jle 0x140015bae
mov eax, 0x10624dd3
imul r13d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
mov dword [rsp + 0x30], edx
imul edx, edx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
mov dword [rsp + 0x34], eax
jmp 0x140015bb9
jne 0x140015bb9
mov qword [rsp + 0x30], 0
neg r10d
lea rax, [rbp + 0x180]
mov ecx, r12d
sbb r8, r8
mov qword [rsp + 0x20], r15
and r8, rax
neg r9d
lea rax, [rsp + 0x70]
sbb rdx, rdx
lea r9, [rbp + 0x390]
and rdx, rax
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x140015c5f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor r11d, r11d
test eax, eax
je 0x140015c0e
cmp dword [0x14009f4a0], r11d
jne 0x140015c66
cmp eax, 0x2714
jne 0x140015c66
test rbx, rbx
jle 0x140015c49
lea rcx, [rsp + 0x60]
movdqa xmmword [rsp + 0x50], xmm6
call fcn.14000b844
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x40], xmm0
call fcn.14000b814
mov r13d, ebx
sub r13d, eax
xor r11d, r11d
test r13d, r13d
jle 0x140015c5a
mov r9d, dword [rsp + 0x70]
mov r10d, dword [rbp + 0x180]
jmp 0x140015b7c
mov eax, r11d
jmp 0x140015c62
xor r11d, r11d
test eax, eax
jns 0x140015c6e
or eax, 0xffffffff
jmp 0x140015d11
jne 0x140015c77
xor eax, eax
jmp 0x140015d11
mov ebx, r11d
cmp r14, 0xffffffffffffffff
je 0x140015cad
lea rdx, [rsp + 0x70]
mov rcx, r14
call sub.WS2_32.dll___WSAFDIsSet
lea rdx, [rbp + 0x390]
mov rcx, r14
test eax, eax
mov eax, 1
cmovne ebx, eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140015cad
or ebx, 4
cmp rdi, 0xffffffffffffffff
je 0x140015cdd
lea rdx, [rsp + 0x70]
mov rcx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140015cc7
or ebx, 8
lea rdx, [rbp + 0x390]
mov rcx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140015cdd
or ebx, 4
cmp rsi, 0xffffffffffffffff
je 0x140015d0f
lea rdx, [rbp + 0x180]
mov rcx, rsi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140015cf9
or ebx, 2
lea rdx, [rbp + 0x390]
mov rcx, rsi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140015d0f
or ebx, 4
mov eax, ebx
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.140042af0
movaps xmm6, xmmword [rsp + 0x6b0]
add rsp, 0x6c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret