Function at 0x1400f8e50
Capabilities:
Get socket status

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1030]
mov eax, 0x1130
call fcn.140169bf0
sub rsp, rax
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x1170], rbx
mov rax, qword [0x14026be10]
xor rax, rsp
mov qword [rbp + 0x1020], rax
mov r12, r9
mov r13, r8
mov dword [rsp + 0x30], edx
mov rbx, rcx
mov qword [rsp + 0x38], rcx
mov edi, edx
mov ecx, 1
cmp edx, 0xabcd0123
cmove edi, ecx
mov rcx, r8
call fcn.1400aeb50
cmp qword [rbx + 0xb0], 0xffffffffffffffff
jne 0x1400f8ee4
mov rax, qword [r12]
lea rdx, str.Invalid_socket.
mov rcx, r12
call qword [rax + 0x28]
mov byte [r13 + 0x1a], 1
xor al, al
jmp 0x1400f9124
xor ebx, ebx
mov r14d, ebx
mov rax, qword [r13 + 8]
test rax, rax
je 0x1400f8f09
mov r14d, dword [rax + 0xd0]
lea eax, [r14 - 1]
mov ecx, gethostbyname
cmp eax, 0x30
cmovbe r14d, ecx
mov eax, 0x1499700
test edi, edi
cmove edi, eax
mov r15d, ebx
mov sil, 1
test r14d, r14d
jne 0x1400f8f31
mov rcx, r13
call fcn.1400aebf0
mov ecx, 0x42
test al, al
cmovne r14d, ecx
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x70]
call fcn.14006f550
lea rax, vtable.ckFdSet.0
mov qword [rsp + 0x70], rax
mov dword [rbp - 0x80], 0x3004bc8d
mov dword [rbp + 0x1010], 0x3004bc8d
test edi, edi
je 0x1400f90f3
mov ecx, 0x14d
mov eax, r14d
test r14d, r14d
cmove eax, ecx
mov ebx, edi
sub ebx, r15d
cmp eax, ebx
cmovbe ebx, eax
test r14d, r14d
je 0x1400f8f89
cmp ebx, r14d
cmova ebx, r14d
test sil, sil
je 0x1400f8f9b
shr ebx, 1
cmp ebx, 1
mov eax, 1
cmovb ebx, eax
test edi, edi
je 0x1400f8fa4
cmp ebx, edi
cmova ebx, edi
mov eax, 0x10624dd3
mul ebx
shr edx, 6
imul eax, edx, 0x3e8
mov ecx, ebx
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x4c], eax
mov dword [rbp - 0x78], 0
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp + 0xf90]
call fcn.14016c710
cmp dword [rbp - 0x80], 0x3004bc8d
je 0x1400f8ff1
xor ecx, ecx
call fcn.140002260
cmp dword [rbp + 0x1010], 0x3004bc8d
je 0x1400f9004
xor ecx, ecx
call fcn.140002260
mov rax, qword [rsp + 0x38]
movsxd r9, dword [rax + 0xb0]
test r9d, r9d
js 0x1400f90ec
xor eax, eax
mov edx, dword [rbp - 0x78]
test edx, edx
je 0x1400f902f
cmp qword [rbp + rax*8 - 0x70], r9
je 0x1400f902f
inc eax
cmp eax, edx
jb 0x1400f9022
cmp eax, edx
jne 0x1400f9043
cmp edx, 0x200
jae 0x1400f9043
mov qword [rbp + rax*8 - 0x70], r9
inc dword [rbp - 0x78]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x78]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x1400f90bb
test eax, eax
js 0x1400f90bb
jne 0x1400f90b7
cmp dword [rsp + 0x30], 0xabcd0123
je 0x1400f90f3
add r15d, ebx
test edi, edi
je 0x1400f9083
lea eax, [r15 + 1]
cmp eax, edi
jae 0x1400f90f3
mov rdx, r12
mov rcx, r13
call fcn.1400aece0
test al, al
jne 0x1400f909f
xor sil, sil
cmp r15d, edi
jae 0x1400f90f3
jmp 0x1400f8f65
mov byte [r13 + 0x19], 1
mov rax, qword [r12]
lea rdx, str.socket_operation_aborted_by_application
mov rcx, r12
call qword [rax + 0x28]
jmp 0x1400f90f8
mov bl, 1
jmp 0x1400f90fa
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
lea r8, str.waitReadableSocket
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.140071270
lea rcx, [rsp + 0x50]
call fcn.140071380
jmp 0x1400f90f8
mov byte [r13 + 0x1a], 1
jmp 0x1400f90f8
mov byte [r13 + 0x18], 1
xor bl, bl
lea rax, vtable.ckFdSet.0
mov qword [rsp + 0x70], rax
mov dword [rbp - 0x80], 0
mov dword [rbp + 0x1010], 0
lea rcx, [rsp + 0x70]
call fcn.14006f630
movzx eax, bl
mov rcx, qword [rbp + 0x1020]
xor rcx, rsp
call fcn.140168e10
mov rbx, qword [rsp + 0x1170]
add rsp, 0x1130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret