Function at 0x14023ebd0
Capabilities:
Get socket status

Disassembly:
xor eax, eax
test rcx, rcx
je 0x14023ebf2
cmp edx, eax
jbe 0x14023ebf2
inc rax
mov r9, rax
shl r9, 4
cmp qword [rcx + r9 - 0x10], 0xffffffffffffffff
je 0x14023ebd7
jmp 0x14023ec00
mov rcx, r8
jmp fcn.1402479b0
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x678
xor r12d, r12d
xor r13d, r13d
xor r14d, r14d
xor r9d, r9d
xor ebp, ebp
lea rax, [rsp + 0x468]
mov r15, rcx
mov dword [rsp + 0x58], 0
mov rbx, rcx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x260]
mov r10, rcx
xor ecx, ecx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
mov dword [rsp + 0x260], 0
mov dword [rsp + 0x468], 0
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x6c8], edx
xor edx, edx
cmp ebp, dword [rsp + 0x6c8]
je 0x14023ed71
mov rax, qword [r10]
mov word [r10 + 0xa], 0
cmp rax, 0xffffffffffffffff
je 0x14023ed66
mov r11d, dword [r10 + 8]
test r11b, 7
je 0x14023ed66
test r11b, 1
je 0x14023ece3
xor esi, esi
mov edi, esi
cmp edx, esi
jbe 0x14023ecc4
mov rdi, qword [rsp + 0x48]
inc rsi
cmp rax, qword [rdi + rsi*8]
jne 0x14023ecae
jmp 0x14023ece3
cmp edx, edi
sete sil
cmp edx, 0x40
setne byte [rsp + 0x37]
and sil, byte [rsp + 0x37]
je 0x14023ece3
mov qword [rsp + rdi*8 + 0x60], rax
inc edx
mov r12d, esi
test r11b, 4
je 0x14023ed23
xor esi, esi
mov edi, esi
cmp esi, ecx
jae 0x14023ed01
mov rdi, qword [rsp + 0x40]
inc rsi
cmp rax, qword [rdi + rsi*8]
jne 0x14023eceb
jmp 0x14023ed23
cmp ecx, 0x3f
setbe sil
cmp edi, ecx
sete byte [rsp + 0x37]
and sil, byte [rsp + 0x37]
je 0x14023ed23
mov qword [rsp + rdi*8 + 0x268], rax
inc ecx
mov r13d, esi
and r11b, 2
je 0x14023ed66
xor r11d, r11d
mov esi, r11d
cmp r9d, r11d
jbe 0x14023ed44
mov rdi, qword [rsp + 0x38]
inc r11
cmp rax, qword [rdi + r11*8]
jne 0x14023ed2c
jmp 0x14023ed66
cmp r9d, esi
sete r11b
cmp r9d, 0x3f
setbe dil
and r11b, dil
je 0x14023ed66
mov qword [rsp + rsi*8 + 0x470], rax
inc r9d
mov r14d, r11d
inc ebp
add r10, 0x10
jmp 0x14023ec77
test r14b, r14b
je 0x14023ed7e
mov dword [rsp + 0x468], r9d
test r13b, r13b
je 0x14023ed8a
mov dword [rsp + 0x260], ecx
test r12b, r12b
je 0x14023ed93
mov dword [rsp + 0x58], edx
mov eax, dword [rsp + 0x58]
or eax, dword [rsp + 0x260]
or eax, dword [rsp + 0x468]
jne 0x14023edb1
mov rcx, r8
call fcn.1402479b0
jmp 0x14023ee06
mov rdx, r8
lea rcx, [rsp + 0x50]
call fcn.140258da0
lea r9, [rsp + 0x468]
lea rdx, [rsp + 0x58]
mov r10, rax
xor eax, eax
cmp dword [rsp + 0x468], 0
cmove r9, rax
lea r8, [rsp + 0x260]
mov qword [rsp + 0x20], r10
cmp dword [rsp + 0x260], 0
cmove r8, rax
cmp dword [rsp + 0x58], 0
cmove rdx, rax
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
mov r12d, eax
test eax, eax
jle 0x14023ee35
mov esi, dword [rsp + 0x6c8]
xor r12d, r12d
lea rdi, [rsp + 0x58]
lea rbp, [rsp + 0x260]
lea r13, [rsp + 0x468]
shl rsi, 4
add rsi, r15
jmp 0x14023ee68
cmp eax, 0xffffffff
jne 0x14023eec8
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor r12d, r12d
cmp eax, 0x2714
setne r12b
neg r12d
jmp 0x14023eec8
mov rcx, qword [rbx]
mov word [rbx + 0xa], 0
cmp rcx, 0xffffffffffffffff
jne 0x14023ee6f
add rbx, 0x10
cmp rsi, rbx
jne 0x14023ee55
jmp 0x14023eec8
mov rdx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14023ee86
test byte [rbx + 8], 1
je 0x14023ee86
or word [rbx + 0xa], 1
mov rcx, qword [rbx]
mov rdx, rbp
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14023eea0
test byte [rbx + 8], 4
je 0x14023eea0
or word [rbx + 0xa], 4
mov rcx, qword [rbx]
mov rdx, r13
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14023eebc
test byte [rbx + 8], 2
je 0x14023eebc
or word [rbx + 0xa], 2
jmp 0x14023eec3
cmp word [rbx + 0xa], 0
je 0x14023ee64
inc r12d
jmp 0x14023ee64
mov eax, r12d
add rsp, 0x678
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret