Function at 0x140099cb0
Capabilities:
Set socket configuration

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rbx, qword [rcx + 0x10]
lea r12, [rsp + 0x50]
mov rbp, rcx
mov rdi, rdx
mov rcx, r12
call sym.Curl_now
movdqu xmm0, xmmword [rsp + 0x50]
lea rdx, [rbx + 8]
mov rcx, rdi
lea r8, [rbx + 0x98]
movups xmmword [rbx + 0x148], xmm0
call sym.socket_open
mov esi, eax
test eax, eax
je 0x140099d40
mov r9, qword [rbx + 0x98]
cmp r9, 0xffffffffffffffff
jne 0x140099d20
mov eax, esi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rdx, qword [rbp + 0x18]
mov r8d, 1
mov rcx, rdi
call sym.socket_close
mov qword [rbx + 0x98], 0xffffffffffffffff
jmp 0x140099d09
mov rcx, qword [rbp + 0x10]
mov rdx, rdi
call sym.set_remote_ip.isra.0
mov esi, eax
test eax, eax
jne 0x140099cfc
mov eax, dword [rbx + 8]
cmp eax, 0x17
je 0x140099f78
mov rcx, qword [rbx + 0x98]
cmp eax, 2
je 0x140099e48
cmp eax, 0x17
je 0x140099e48
call sym.Curl_sndbufset
cmp qword [rdi + 0x278], 0
je 0x140099dca
mov edx, 1
mov rcx, rdi
call sym.Curl_set_in_callback
mov rdx, qword [rbx + 0x98]
mov rcx, qword [rdi + 0x280]
xor r8d, r8d
call qword [rdi + 0x278]
xor edx, edx
mov rcx, rdi
mov r13d, eax
call sym.Curl_set_in_callback
cmp r13d, 2
je 0x140099fb0
test r13d, r13d
jne 0x140099fc0
xor r13d, r13d
mov eax, dword [rbx + 8]
cmp eax, 2
je 0x140099f38
cmp eax, 0x17
je 0x140099f38
mov rcx, qword [rbx + 0x98]
mov edx, 1
call sym.curlx_nonblock
cmp dword [rbx + 0xc], 2
movzx eax, byte [rbx + 0x17c]
setne dl
shl edx, 2
and eax, 0xfffffffb
or eax, edx
mov byte [rbx + 0x17c], al
test r13b, r13b
je 0x140099d09
mov rcx, qword [rbp + 0x10]
mov rdx, rdi
call sym.set_local_ip.isra.0
mov rcx, r12
call sym.Curl_now
movdqu xmm1, xmmword [rsp + 0x50]
movups xmmword [rbx + 0x158], xmm1
or byte [rbp + 0x24], 1
jmp 0x140099d09
cmp dword [rbx + 0xc], 1
jne 0x140099d77
test byte [rdi + 0xa0f], 4
jne 0x140099fd0
call sym.Curl_sndbufset
movzx eax, byte [rdi + 0xa10]
test al, 2
je 0x140099d7c
mov r13, qword [rbx + 0x98]
shr al, 1
lea r9, [rsp + 0x6c]
mov dword [rsp + 0x20], 4
and eax, 1
mov r8d, 8
mov edx, 0xffff
mov dword [rsp + 0x6c], eax
mov rcx, r13
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
js 0x140099d7c
mov ecx, dword [rdi + 0x9b0]
mov dword [rsp + 0x74], 1
call sym.curlx_sltosi
mov ecx, dword [rdi + 0x9b4]
imul eax, eax, 0x3e8
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x78], eax
call sym.curlx_sltosi
mov dword [rsp + 0x28], 0
mov r9d, 0xc
mov rcx, r13
imul eax, eax, 0x3e8
lea r8, [rsp + 0x74]
mov qword [rsp + 0x40], 0
mov edx, 0x98000004
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x7c], eax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
call qword [sym.imp.WS2_32.dll_WSAIoctl]
jmp 0x140099d7c
lea rcx, [rbx + 0x18]
call sym.Curl_ipv6_scope
mov r9d, dword [rbx + 8]
mov rdx, qword [rbp + 0x18]
mov rcx, rdi
mov r8, qword [rbx + 0x98]
mov dword [rsp + 0x20], eax
call sym.bindlocal
test eax, eax
je 0x140099de2
cmp eax, 1
mov esi, 7
cmovne esi, eax
jmp 0x140099cfc
lea r9, [rsp + 0x74]
mov r8d, 0x1b
mov edx, 0x29
mov rcx, qword [rbx + 0x98]
mov dword [rsp + 0x74], 0
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov eax, dword [rbx + 8]
jmp 0x140099d5e
mov r13d, 1
jmp 0x140099dcd
mov esi, 0x2a
jmp 0x140099cfc
lea r9, [rsp + 0x74]
mov dword [rsp + 0x74], 1
mov edx, 6
mov r8d, 1
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rbx + 0x98]
jmp 0x140099e5f