Function at 0x1401d4580
Capabilities:
Get socket status

Disassembly:
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 0x1401d46d5
mov rax, qword [r11]
mov word [r11 + 0xa], 0
cmp rax, 0xffffffffffffffff
je 0x1401d46ca
mov esi, dword [r11 + 8]
test si, 0x710
je 0x1401d46ca
test si, 0x300
je 0x1401d463f
xor r10d, r10d
lea rdi, [rsp + 0x38]
mov r15d, r10d
cmp r10d, r9d
jae 0x1401d4620
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1401d460d
jmp 0x1401d463f
cmp r9d, 0x40
setne dil
cmp r9d, r10d
sete r10b
and dil, r10b
je 0x1401d463f
mov qword [rsp + r15*8 + 0x40], rax
inc r9d
mov r14d, edi
test esi, 0x10
je 0x1401d4685
xor r10d, r10d
lea rdi, [rsp + 0x240]
mov r15d, r10d
cmp r10d, ecx
jae 0x1401d4665
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1401d4652
jmp 0x1401d4685
cmp ecx, 0x40
setne dil
cmp ecx, r10d
sete r10b
and dil, r10b
je 0x1401d4685
mov qword [rsp + r15*8 + 0x248], rax
inc ecx
mov r13d, edi
test si, 0x600
je 0x1401d46ca
xor r10d, r10d
lea rdi, [rsp + 0x448]
mov esi, r10d
cmp r10d, edx
jae 0x1401d46aa
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1401d4697
jmp 0x1401d46ca
cmp edx, 0x40
setne dil
cmp edx, r10d
sete r10b
and r10b, dil
je 0x1401d46ca
mov qword [rsp + rsi*8 + 0x450], rax
inc edx
mov r12d, r10d
inc ebp
add r11, 0x10
jmp 0x1401d45ce
test r14b, r14b
je 0x1401d46df
mov dword [rsp + 0x38], r9d
test r13b, r13b
je 0x1401d46eb
mov dword [rsp + 0x240], ecx
test r12b, r12b
je 0x1401d46f7
mov dword [rsp + 0x448], edx
mov eax, dword [rsp + 0x38]
or eax, dword [rsp + 0x240]
or eax, dword [rsp + 0x448]
jne 0x1401d4715
mov rcx, r8
call sym.Curl_wait_ms
jmp 0x1401d4767
lea rcx, [rsp + 0x30]
mov rdx, r8
call sym.curlx_mstotv
xor r9d, r9d
cmp dword [rsp + 0x448], 0
je 0x1401d4737
lea r9, [rsp + 0x448]
xor r8d, r8d
cmp dword [rsp + 0x240], 0
je 0x1401d474c
lea r8, [rsp + 0x240]
xor edx, edx
cmp dword [rsp + 0x38], 0
je 0x1401d475a
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 0x1401d4799
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 0x1401d47cd
cmp eax, 0xffffffff
jne 0x1401d4850
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor esi, esi
cmp eax, 0x2714
setne sil
neg esi
jmp 0x1401d4850
mov rcx, qword [rbx]
mov word [rbx + 0xa], 0
cmp rcx, 0xffffffffffffffff
jne 0x1401d47d4
add rbx, 0x10
cmp rbx, rdi
jne 0x1401d47ba
jmp 0x1401d4850
mov rdx, rbp
call sym.__WSAFDIsSet
test eax, eax
je 0x1401d47f9
mov eax, dword [rbx + 8]
test ah, 1
je 0x1401d47ee
or word [rbx + 0xa], 0x100
test ah, 3
je 0x1401d47f9
or word [rbx + 0xa], 0x300
mov rcx, qword [rbx]
mov rdx, r12
call sym.__WSAFDIsSet
test eax, eax
je 0x1401d4813
test byte [rbx + 8], 0x10
je 0x1401d4813
or word [rbx + 0xa], 0x10
mov rcx, qword [rbx]
mov rdx, r13
call sym.__WSAFDIsSet
test eax, eax
je 0x1401d4842
mov edx, dword [rbx + 8]
test dh, 2
je 0x1401d4830
or word [rbx + 0xa], 0x200
mov ax, word [rbx + 0xa]
and dh, 4
je 0x1401d4842
or ah, 4
mov word [rbx + 0xa], ax
jmp 0x1401d4849
cmp word [rbx + 0xa], 0
je 0x1401d47c9
inc esi
jmp 0x1401d47c9
mov eax, esi
add rsp, 0x658
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret