Function at 0x1401ab310
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 0x1401ab465
mov rax, qword [r11]
mov word [r11 + 0xa], 0
cmp rax, 0xffffffffffffffff
je 0x1401ab45a
mov esi, dword [r11 + 8]
test si, 0x710
je 0x1401ab45a
test si, 0x300
je 0x1401ab3cf
xor r10d, r10d
lea rdi, [rsp + 0x38]
mov r15d, r10d
cmp r10d, r9d
jae 0x1401ab3b0
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1401ab39d
jmp 0x1401ab3cf
cmp r9d, 0x40
setne dil
cmp r9d, r10d
sete r10b
and dil, r10b
je 0x1401ab3cf
mov qword [rsp + r15*8 + 0x40], rax
inc r9d
mov r14d, edi
test esi, 0x10
je 0x1401ab415
xor r10d, r10d
lea rdi, [rsp + 0x240]
mov r15d, r10d
cmp r10d, ecx
jae 0x1401ab3f5
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1401ab3e2
jmp 0x1401ab415
cmp ecx, 0x40
setne dil
cmp ecx, r10d
sete r10b
and dil, r10b
je 0x1401ab415
mov qword [rsp + r15*8 + 0x248], rax
inc ecx
mov r13d, edi
test si, 0x600
je 0x1401ab45a
xor r10d, r10d
lea rdi, [rsp + 0x448]
mov esi, r10d
cmp r10d, edx
jae 0x1401ab43a
inc r10
cmp rax, qword [rdi + r10*8]
jne 0x1401ab427
jmp 0x1401ab45a
cmp edx, 0x40
setne dil
cmp edx, r10d
sete r10b
and r10b, dil
je 0x1401ab45a
mov qword [rsp + rsi*8 + 0x450], rax
inc edx
mov r12d, r10d
inc ebp
add r11, 0x10
jmp 0x1401ab35e
test r14b, r14b
je 0x1401ab46f
mov dword [rsp + 0x38], r9d
test r13b, r13b
je 0x1401ab47b
mov dword [rsp + 0x240], ecx
test r12b, r12b
je 0x1401ab487
mov dword [rsp + 0x448], edx
mov eax, dword [rsp + 0x38]
or eax, dword [rsp + 0x240]
or eax, dword [rsp + 0x448]
jne 0x1401ab4a5
mov rcx, r8
call sym.Curl_wait_ms
jmp 0x1401ab4f7
lea rcx, [rsp + 0x30]
mov rdx, r8
call sym.curlx_mstotv
xor r9d, r9d
cmp dword [rsp + 0x448], 0
je 0x1401ab4c7
lea r9, [rsp + 0x448]
xor r8d, r8d
cmp dword [rsp + 0x240], 0
je 0x1401ab4dc
lea r8, [rsp + 0x240]
xor edx, edx
cmp dword [rsp + 0x38], 0
je 0x1401ab4ea
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 0x1401ab529
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 0x1401ab55d
cmp eax, 0xffffffff
jne 0x1401ab5e0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor esi, esi
cmp eax, 0x2714
setne sil
neg esi
jmp 0x1401ab5e0
mov rcx, qword [rbx]
mov word [rbx + 0xa], 0
cmp rcx, 0xffffffffffffffff
jne 0x1401ab564
add rbx, 0x10
cmp rbx, rdi
jne 0x1401ab54a
jmp 0x1401ab5e0
mov rdx, rbp
call sym.__WSAFDIsSet
test eax, eax
je 0x1401ab589
mov eax, dword [rbx + 8]
test ah, 1
je 0x1401ab57e
or word [rbx + 0xa], 0x100
test ah, 3
je 0x1401ab589
or word [rbx + 0xa], 0x300
mov rcx, qword [rbx]
mov rdx, r12
call sym.__WSAFDIsSet
test eax, eax
je 0x1401ab5a3
test byte [rbx + 8], 0x10
je 0x1401ab5a3
or word [rbx + 0xa], 0x10
mov rcx, qword [rbx]
mov rdx, r13
call sym.__WSAFDIsSet
test eax, eax
je 0x1401ab5d2
mov edx, dword [rbx + 8]
test dh, 2
je 0x1401ab5c0
or word [rbx + 0xa], 0x200
mov ax, word [rbx + 0xa]
and dh, 4
je 0x1401ab5d2
or ah, 4
mov word [rbx + 0xa], ax
jmp 0x1401ab5d9
cmp word [rbx + 0xa], 0
je 0x1401ab559
inc esi
jmp 0x1401ab559
mov eax, esi
add rsp, 0x658
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret