Function at 0x1400e2ce0
Capabilities:
Get socket status

Disassembly:
xor eax, eax
test rcx, rcx
je 0x1400e2cd2
cmp eax, edx
jae 0x1400e2cd2
inc rax
mov r9, rax
shl r9, 4
cmp qword [rcx + r9 - 0x10], 0xffffffffffffffff
je 0x1400e2cb7
jmp 0x1400e2ce0
mov rcx, r8
jmp fcn.1400eaf80
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x658
xor eax, eax
xor r14d, r14d
xor r9d, r9d
xor r13d, r13d
xor r12d, r12d
xor ebp, ebp
mov dword [rsp + 0x38], eax
mov rbx, rcx
mov r11, rcx
mov dword [rsp + 0x240], eax
mov dword [rsp + 0x448], eax
mov qword [rsp + 0x6a0], rcx
xor ecx, ecx
mov dword [rsp + 0x6a8], edx
xor edx, edx
cmp ebp, dword [rsp + 0x6a8]
je 0x1400e2e33
mov rax, qword [r11]
mov word [r11 + 0xa], 0
cmp rax, 0xffffffffffffffff
je 0x1400e2e28
mov esi, dword [r11 + 8]
test si, 0x710
je 0x1400e2e28
test si, 0x300
je 0x1400e2d9f
xor r10d, r10d
lea rdi, [rsp + 0x38]
mov r15d, r10d
cmp r10d, r9d
jae 0x1400e2d80
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1400e2d6d
jmp 0x1400e2d9f
cmp r9d, 0x40
setne dil
cmp r9d, r10d
sete r10b
and dil, r10b
je 0x1400e2d9f
mov qword [rsp + r15*8 + 0x40], rax
inc r9d
mov r14d, edi
test sil, 0x10
je 0x1400e2de3
xor r10d, r10d
lea rdi, [rsp + 0x240]
mov r15d, r10d
cmp r10d, ecx
jae 0x1400e2dc3
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1400e2db0
jmp 0x1400e2de3
cmp ecx, 0x40
setne dil
cmp ecx, r10d
sete r10b
and dil, r10b
je 0x1400e2de3
mov qword [rsp + r15*8 + 0x248], rax
inc ecx
mov r13d, edi
test si, 0x600
je 0x1400e2e28
xor r10d, r10d
lea rdi, [rsp + 0x448]
mov esi, r10d
cmp r10d, edx
jae 0x1400e2e08
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1400e2df5
jmp 0x1400e2e28
cmp edx, 0x40
setne dil
cmp edx, r10d
sete r10b
and r10b, dil
je 0x1400e2e28
mov qword [rsp + rsi*8 + 0x450], rax
inc edx
mov r12d, r10d
inc ebp
add r11, 0x10
jmp 0x1400e2d2e
test r14b, r14b
je 0x1400e2e3d
mov dword [rsp + 0x38], r9d
test r13b, r13b
je 0x1400e2e49
mov dword [rsp + 0x240], ecx
test r12b, r12b
je 0x1400e2e55
mov dword [rsp + 0x448], edx
mov eax, dword [rsp + 0x38]
or eax, dword [rsp + 0x240]
or eax, dword [rsp + 0x448]
jne 0x1400e2e73
mov rcx, r8
call fcn.1400eaf80
jmp 0x1400e2ec5
lea rcx, [rsp + 0x30]
mov rdx, r8
call fcn.1400f6100
xor r9d, r9d
cmp dword [rsp + 0x448], 0
je 0x1400e2e95
lea r9, [rsp + 0x448]
xor r8d, r8d
cmp dword [rsp + 0x240], 0
je 0x1400e2eaa
lea r8, [rsp + 0x240]
xor edx, edx
cmp dword [rsp + 0x38], 0
je 0x1400e2eb8
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
mov esi, eax
test eax, eax
jle 0x1400e2ef7
mov edi, dword [rsp + 0x6a8]
xor esi, esi
lea rbp, [rsp + 0x38]
lea r12, [rsp + 0x240]
lea r13, [rsp + 0x448]
shl rdi, 4
add rdi, qword [rsp + 0x6a0]
jmp 0x1400e2f2b
cmp eax, 0xffffffff
jne 0x1400e2fae
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor esi, esi
cmp eax, 0x2714
setne sil
neg esi
jmp 0x1400e2fae
mov rcx, qword [rbx]
mov word [rbx + 0xa], 0
cmp rcx, 0xffffffffffffffff
jne 0x1400e2f32
add rbx, 0x10
cmp rdi, rbx
jne 0x1400e2f18
jmp 0x1400e2fae
mov rdx, rbp
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400e2f57
mov eax, dword [rbx + 8]
test ah, 1
je 0x1400e2f4c
or word [rbx + 0xa], 0x100
test ah, 3
je 0x1400e2f57
or word [rbx + 0xa], 0x300
mov rcx, qword [rbx]
mov rdx, r12
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400e2f71
test byte [rbx + 8], 0x10
je 0x1400e2f71
or word [rbx + 0xa], 0x10
mov rcx, qword [rbx]
mov rdx, r13
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400e2fa0
mov edx, dword [rbx + 8]
test dh, 2
je 0x1400e2f8e
or word [rbx + 0xa], 0x200
mov ax, word [rbx + 0xa]
and dh, 4
je 0x1400e2fa0
or ah, 4
mov word [rbx + 0xa], ax
jmp 0x1400e2fa7
cmp word [rbx + 0xa], 0
je 0x1400e2f27
inc esi
jmp 0x1400e2f27
mov eax, esi
add rsp, 0x658
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret