Function at 0x1400e26e0
Capabilities:
Get socket status

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5a0]
sub rsp, 0x6a0
mov rax, qword [0x14021d798]
xor rax, rsp
mov qword [rbp + 0x580], rax
mov qword [rsp + 0x48], r9
mov r15d, r8d
mov r13d, edx
mov r14, rcx
mov qword [rsp + 0x40], rcx
mov r12d, 0x7d0
mov dword [rsp + 0x30], 0
cmp edx, 1
jne 0x1400e2744
movzx eax, word [rcx + 8]
test al, 8
jne 0x1400e2744
or ax, 8
mov dword [rsp + 0x30], edx
mov word [rcx + 8], ax
mov eax, dword [r9]
mov qword [rsp + 0x6d8], rbx
mov qword [rsp + 0x698], rsi
mov qword [rsp + 0x690], rdi
test eax, eax
jne 0x1400e299c
test r15d, r15d
js 0x1400e2773
cmp r15d, r12d
cmovl r12d, r15d
mov eax, 0x10624dd3
mov ecx, r12d
imul r12d
xor edi, edi
mov rsi, r13
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x38], edx
xor edx, edx
mov r11d, edx
mov dword [rsp + 0x50], edx
mov r9d, edx
mov dword [rbp + 0x160], edx
mov r10d, edx
mov dword [rbp + 0x370], edx
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rsp + 0x3c], eax
test r13d, r13d
je 0x1400e28d2
mov rbx, r14
mov r14, r13
nop dword [rax]
movzx r8d, word [rbx + 8]
test r8b, 0xd
je 0x1400e28ae
test r8b, 1
je 0x1400e2820
mov ecx, edx
test r11d, r11d
je 0x1400e2800
mov rdx, qword [rbx]
nop
cmp qword [rsp + rcx*8 + 0x58], rdx
je 0x1400e27fe
inc ecx
cmp ecx, r11d
jb 0x1400e27f0
xor edx, edx
cmp ecx, r11d
jne 0x1400e2820
cmp r11d, 0x40
jae 0x1400e2820
mov rax, qword [rbx]
mov qword [rsp + rcx*8 + 0x58], rax
mov r11d, dword [rsp + 0x50]
inc r11d
mov dword [rsp + 0x50], r11d
test r8b, 4
je 0x1400e286a
mov ecx, edx
test r9d, r9d
je 0x1400e2843
mov rdx, qword [rbx]
cmp qword [rbp + rcx*8 + 0x168], rdx
je 0x1400e2841
inc ecx
cmp ecx, r9d
jb 0x1400e2830
xor edx, edx
cmp ecx, r9d
jne 0x1400e286a
cmp r9d, 0x40
jae 0x1400e286a
mov rax, qword [rbx]
mov qword [rbp + rcx*8 + 0x168], rax
mov r9d, dword [rbp + 0x160]
inc r9d
mov dword [rbp + 0x160], r9d
mov ecx, edx
test r10d, r10d
je 0x1400e2887
mov rdx, qword [rbx]
cmp qword [rbp + rcx*8 + 0x378], rdx
je 0x1400e2885
inc ecx
cmp ecx, r10d
jb 0x1400e2874
xor edx, edx
cmp ecx, r10d
jne 0x1400e28ae
cmp r10d, 0x40
jae 0x1400e28ae
mov rax, qword [rbx]
mov qword [rbp + rcx*8 + 0x378], rax
mov r10d, dword [rbp + 0x370]
inc r10d
mov dword [rbp + 0x370], r10d
mov rax, qword [rbx]
cmp rax, rdi
mov word [rbx + 0xa], dx
cmovbe rax, rdi
add rbx, 0x10
mov rdi, rax
sub r14, 1
jne 0x1400e27d0
mov r14, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
lea ecx, [rdi + 1]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x370]
lea r8, [rbp + 0x160]
lea rdx, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_select]
mov edi, eax
test eax, eax
jle 0x1400e2962
test r13d, r13d
je 0x1400e2966
lea rbx, [r14 + 0xa]
nop word [rax + rax]
mov rcx, qword [rbx - 0xa]
lea rdx, [rsp + 0x50]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400e2926
or word [rbx], 1
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x160]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400e293e
or word [rbx], 4
mov rcx, qword [rbx - 0xa]
lea rdx, [rbp + 0x370]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1400e2956
or word [rbx], 8
add rbx, 0x10
sub rsi, 1
jne 0x1400e2910
jmp 0x1400e2966
test edi, edi
je 0x1400e2978
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, 1
je 0x1400e29d9
cmp eax, 0x2733
jne 0x1400e29d9
mov eax, r15d
sub eax, r12d
test r15d, r15d
cmovle eax, r15d
mov r15d, eax
test eax, eax
jle 0x1400e29f5
mov r9, qword [rsp + 0x48]
mov eax, dword [r9]
test eax, eax
je 0x1400e2767
mov eax, 0xfffffffe
mov rdi, qword [rsp + 0x690]
mov rsi, qword [rsp + 0x698]
mov rbx, qword [rsp + 0x6d8]
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.1401702b0
add rsp, 0x6a0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp dword [rsp + 0x30], 0
je 0x1400e29f1
movzx eax, byte [r14 + 0xa]
mov ecx, 0xffffffff
and al, 0xd
cmp al, 8
cmove edi, ecx
mov eax, edi
jmp 0x1400e29a1
xor eax, eax
jmp 0x1400e29a1