Function at 0x140183760
Capabilities:
Get socket status

Disassembly:
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 0x1401838d1
mov rax, qword [r10]
mov word [r10 + 0xa], 0
cmp rax, 0xffffffffffffffff
je 0x1401838c6
mov r11d, dword [r10 + 8]
test r11b, 7
je 0x1401838c6
test r11b, 1
je 0x140183843
xor esi, esi
mov edi, esi
cmp edx, esi
jbe 0x140183824
mov rdi, qword [rsp + 0x48]
inc rsi
cmp rax, qword [rdi + rsi*8]
jne 0x14018380e
jmp 0x140183843
cmp edx, edi
sete sil
cmp edx, 0x40
setne byte [rsp + 0x37]
and sil, byte [rsp + 0x37]
je 0x140183843
mov qword [rsp + rdi*8 + 0x60], rax
inc edx
mov r12d, esi
test r11b, 4
je 0x140183883
xor esi, esi
mov edi, esi
cmp esi, ecx
jae 0x140183861
mov rdi, qword [rsp + 0x40]
inc rsi
cmp rax, qword [rdi + rsi*8]
jne 0x14018384b
jmp 0x140183883
cmp ecx, 0x3f
setbe sil
cmp edi, ecx
sete byte [rsp + 0x37]
and sil, byte [rsp + 0x37]
je 0x140183883
mov qword [rsp + rdi*8 + 0x268], rax
inc ecx
mov r13d, esi
and r11b, 2
je 0x1401838c6
xor r11d, r11d
mov esi, r11d
cmp r9d, r11d
jbe 0x1401838a4
mov rdi, qword [rsp + 0x38]
inc r11
cmp rax, qword [rdi + r11*8]
jne 0x14018388c
jmp 0x1401838c6
cmp r9d, esi
sete r11b
cmp r9d, 0x3f
setbe dil
and r11b, dil
je 0x1401838c6
mov qword [rsp + rsi*8 + 0x470], rax
inc r9d
mov r14d, r11d
inc ebp
add r10, 0x10
jmp 0x1401837d7
test r14b, r14b
je 0x1401838de
mov dword [rsp + 0x468], r9d
test r13b, r13b
je 0x1401838ea
mov dword [rsp + 0x260], ecx
test r12b, r12b
je 0x1401838f3
mov dword [rsp + 0x58], edx
mov eax, dword [rsp + 0x58]
or eax, dword [rsp + 0x260]
or eax, dword [rsp + 0x468]
jne 0x140183911
mov rcx, r8
call sym.Curl_wait_ms
jmp 0x140183966
mov rdx, r8
lea rcx, [rsp + 0x50]
call sym.curlx_mstotv
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 0x140183995
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 0x1401839c8
cmp eax, 0xffffffff
jne 0x140183a28
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
xor r12d, r12d
cmp eax, 0x2714
setne r12b
neg r12d
jmp 0x140183a28
mov rcx, qword [rbx]
mov word [rbx + 0xa], 0
cmp rcx, 0xffffffffffffffff
jne 0x1401839cf
add rbx, 0x10
cmp rsi, rbx
jne 0x1401839b5
jmp 0x140183a28
mov rdx, rdi
call sym.__WSAFDIsSet
test eax, eax
je 0x1401839e6
test byte [rbx + 8], 1
je 0x1401839e6
or word [rbx + 0xa], 1
mov rcx, qword [rbx]
mov rdx, rbp
call sym.__WSAFDIsSet
test eax, eax
je 0x140183a00
test byte [rbx + 8], 4
je 0x140183a00
or word [rbx + 0xa], 4
mov rcx, qword [rbx]
mov rdx, r13
call sym.__WSAFDIsSet
test eax, eax
je 0x140183a1c
test byte [rbx + 8], 2
je 0x140183a1c
or word [rbx + 0xa], 2
jmp 0x140183a23
cmp word [rbx + 0xa], 0
je 0x1401839c4
inc r12d
jmp 0x1401839c4
mov eax, r12d
add rsp, 0x678
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret