Function at 0x1401bb460
Capabilities:
Set socket configuration

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x188
mov rsi, qword [rcx + 0x10]
lea r12, [rsp + 0x60]
mov rbp, rcx
mov rbx, rdx
mov rcx, r12
call sym.Curl_now
movups xmm0, xmmword [rsp + 0x60]
lea rdx, [rsi + 8]
mov rcx, rbx
lea r8, [rsi + 0x98]
movups xmmword [rsi + 0x148], xmm0
call sym.socket_open
mov edi, eax
test eax, eax
jne 0x1401bb7d5
mov rdi, qword [rbp + 0x10]
mov edx, dword [rdi + 0x14]
lea rcx, [rdi + 0x18]
lea r9, [rdi + 0x110]
lea r8, [rdi + 0xe0]
call sym.Curl_addr2string
mov r13d, eax
test al, al
je 0x1401bb4e0
cmp dword [rsi + 8], 0x17
jne 0x1401bb585
jmp 0x1401bb533
mov r12, qword [sym.imp.msvcrt.dll__errno]
call r12
mov eax, dword [rax]
mov dword [rdi + 0x178], eax
mov edi, 2
call r12
lea rdx, [rsp + 0x80]
mov r8d, 0x100
mov ecx, dword [rax]
call sym.Curl_strerror
mov qword [rsp + 0x58], rax
call r12
mov r9, qword [rsp + 0x58]
lea rdx, str.sa_addr_inet_ntop___failed_with_errno__d:__s
mov rcx, rbx
mov r8d, dword [rax]
call sym.Curl_failf
jmp 0x1401bb7d5
xor r8d, r8d
lea r9, [rsp + 0x74]
mov edx, 0x29
mov rcx, qword [rsi + 0x98]
mov dword [rsp + 0x74], r8d
mov r8d, 0x1b
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
test rbx, rbx
je 0x1401bb5b0
test byte [rbx + 0xa0e], 0x20
je 0x1401bb5b0
mov r9d, dword [rsi + 0x110]
lea r8, [rsi + 0xe0]
lea rdx, str.__Trying___s_:_d...
jmp 0x1401bb5a8
test rbx, rbx
je 0x1401bb5b0
test byte [rbx + 0xa0e], 0x20
je 0x1401bb5b0
mov r9d, dword [rsi + 0x110]
lea r8, [rsi + 0xe0]
lea rdx, str.__Trying__s:_d...
mov rcx, rbx
call sym.Curl_infof
mov eax, dword [rsi + 8]
cmp eax, 2
sete dil
cmp eax, 0x17
sete al
or dil, al
je 0x1401bb5e7
cmp dword [rsi + 0xc], 1
jne 0x1401bb5e5
test byte [rbx + 0xa0f], 4
je 0x1401bb5e7
mov rdx, qword [rsi + 0x98]
mov rcx, rbx
call sym.tcpnodelay
jmp 0x1401bb5e7
xor edi, edi
mov rcx, qword [rsi + 0x98]
call sym.Curl_sndbufset
test dil, dil
je 0x1401bb70e
mov al, byte [rbx + 0xa10]
test al, 2
je 0x1401bb70e
mov rdi, qword [rsi + 0x98]
shr al, 1
lea r9, [rsp + 0x78]
mov dword [rsp + 0x20], 4
and eax, 1
mov r8d, 8
mov edx, 0xffff
mov dword [rsp + 0x78], eax
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x1401bb664
test byte [rbx + 0xa0e], 0x20
je 0x1401bb70e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, rdi
lea rdx, str.Failed_to_set_SO_KEEPALIVE_on_fd__zd:_errno__d
mov r9d, eax
jmp 0x1401bb706
mov ecx, dword [rbx + 0x998]
mov dword [rsp + 0x80], 1
call sym.curlx_sltosi
mov ecx, dword [rbx + 0x99c]
imul eax, eax, 0x3e8
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x84], eax
call sym.curlx_sltosi
xor edx, edx
xor ecx, ecx
mov r9d, 0xc
imul eax, eax, 0x3e8
mov dword [rsp + 0x28], edx
lea r8, [rsp + 0x80]
mov edx, 0x98000004
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x88], eax
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x30], rax
call qword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
je 0x1401bb70e
test byte [rbx + 0xa0e], 0x20
je 0x1401bb70e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, rdi
lea rdx, str.Failed_to_set_SIO_KEEPALIVE_VALS_on_fd__zd:_errno__d
mov r9d, eax
mov rcx, rbx
call sym.Curl_infof
cmp qword [rbx + 0x260], 0
jne 0x1401bb71d
xor r13d, r13d
jmp 0x1401bb75d
mov edx, 1
mov rcx, rbx
call sym.Curl_set_in_callback
mov rdx, qword [rsi + 0x98]
mov rcx, qword [rbx + 0x268]
xor r8d, r8d
call qword [rbx + 0x260]
xor edx, edx
mov rcx, rbx
mov edi, eax
call sym.Curl_set_in_callback
cmp edi, 2
je 0x1401bb75d
test edi, edi
je 0x1401bb718
mov edi, 0x2a
jmp 0x1401bb7d5
mov eax, dword [rsi + 8]
cmp eax, 2
je 0x1401bb76a
cmp eax, 0x17
jne 0x1401bb7a0
lea rcx, [rsi + 0x18]
call sym.Curl_ipv6_scope
mov r9d, dword [rsi + 8]
mov rdx, qword [rbp + 0x18]
mov rcx, rbx
mov r8, qword [rsi + 0x98]
mov dword [rsp + 0x20], eax
call sym.bindlocal
mov edi, eax
test eax, eax
je 0x1401bb7a0
cmp eax, 1
jne 0x1401bb7d5
mov edi, 7
jmp 0x1401bb7d5
mov rcx, qword [rsi + 0x98]
mov edx, 1
call sym.curlx_nonblock
cmp dword [rsi + 0xc], 2
mov al, byte [rsi + 0x17c]
setne dl
shl edx, 2
and eax, 0xfffffffb
or eax, edx
mov byte [rsi + 0x17c], al
test r13b, r13b
jne 0x1401bb801
xor edi, edi
jmp 0x1401bb82c
mov r9, qword [rsi + 0x98]
cmp r9, 0xffffffffffffffff
je 0x1401bb827
mov rdx, qword [rbp + 0x18]
mov r8d, 1
mov rcx, rbx
call sym.socket_close
mov qword [rsi + 0x98], 0xffffffffffffffff
jmp 0x1401bb827
mov rcx, qword [rbp + 0x10]
mov rdx, rbx
call sym.set_local_ip.isra.0
mov rcx, r12
call sym.Curl_now
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x158], xmm1
or byte [rbp + 0x24], 1
jmp 0x1401bb7d1
test rbx, rbx
je 0x1401bb860
test byte [rbx + 0xa0e], 0x20
je 0x1401bb860
mov rax, qword [rbp]
cmp dword [rax + 0xc], 0
jle 0x1401bb860
mov rax, qword [rsi + 0x98]
mov r9d, edi
mov rdx, rbp
mov rcx, rbx
lea r8, str.cf_socket_open_______d__fd_zd
mov qword [rsp + 0x20], rax
call sym.Curl_trc_cf_infof
mov eax, edi
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret