Function at 0x14001ec90
Capabilities:
Set socket configuration

Disassembly:
push rbp
push r12
push r14
sub rsp, 0x50
mov r14, rcx
add rcx, 0x2c
call fcn.14006f410
mov dword [r14 + 0xac], eax
lea rax, [0x1400d7260]
cmp qword [0x1400d7260], 0
je 0x14001ecc9
nop
mov rax, qword [rax]
cmp qword [rax], 0
jne 0x14001ecc0
inc dword [0x1400d7228]
xor ebp, ebp
mov qword [r14], rbp
mov qword [rax], r14
cmp dword [r14 + 0xc8], ebp
jne 0x14001effc
mov ecx, dword [r14 + 0xa4]
mov eax, ecx
and al, 0x14
cmp al, 0x10
jne 0x14001effc
movzx eax, word [r14 + 0xa0]
lea rdx, [0x1400d7218]
mov qword [rsp + 0x80], rbx
lea rbx, [0x1400d7248]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rdi
mov edi, 2
cmp di, ax
cmove rbx, rdx
mov edx, reloc.WS2_32.dll_socket
cmp dx, ax
jne 0x14001ed7b
movzx edx, byte [r14 + 0x34]
cmp dl, 0xfe
jne 0x14001ed61
movzx eax, byte [r14 + 0x35]
and al, 0xc0
cmp al, 0x80
je 0x14001ed59
cmp dl, dl
jne 0x14001ed61
movzx eax, byte [r14 + 0x35]
and al, 0xc0
cmp al, 0xc0
jne 0x14001ed61
mov r8d, 1
jmp 0x14001ed64
mov r8d, ebp
movzx eax, byte [r14 + 0x3c]
shr eax, 1
and eax, 1
shr ecx, 9
and ecx, 1
mov dword [rsp + 0x70], r8d
jmp 0x14001ed86
mov r8d, ebp
mov dword [rsp + 0x70], ebp
mov eax, ebp
mov ecx, ebp
mov rsi, qword [rbx]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r15
test rsi, rsi
je 0x14001ef02
mov edx, ecx
mov qword [rsp + 0x78], rdx
mov r13d, eax
nop word [rax + rax]
movzx eax, word [rsi + 0xa0]
mov r15, qword [rsi + 8]
cmp word [r14 + 0xa0], ax
jne 0x14001eef1
lea r8, [rsi + 0x80]
lea rax, [r14 + 0x80]
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14001edf3
inc rax
test ecx, ecx
jne 0x14001ede0
test edx, edx
jne 0x14001eef1
lea r9, [rsi + 0x48]
lea rdx, [r14 + 0x48]
lea r8, [rsi + 0x2c]
lea rcx, [r14 + 0x2c]
call fcn.14001e990
mov r8d, eax
mov eax, reloc.WS2_32.dll_socket
cmp ax, word [r14 + 0xa0]
jne 0x14001ee65
movzx edx, byte [rsi + 0x34]
cmp dl, 0xfe
jne 0x14001ee4c
movzx ecx, byte [rsi + 0x35]
and cl, 0xc0
cmp cl, 0x80
je 0x14001ee45
cmp dl, dl
jne 0x14001ee4c
movzx eax, byte [rsi + 0x35]
and al, 0xc0
cmp al, 0xc0
jne 0x14001ee4c
mov eax, 1
jmp 0x14001ee4e
mov eax, ebp
movzx edx, byte [rsi + 0x3c]
mov ecx, dword [rsi + 0xa4]
shr edx, 1
and edx, 1
shr ecx, 9
and ecx, 1
jmp 0x14001ee6b
mov eax, ebp
mov edx, ebp
mov ecx, ebp
mov r9d, dword [rsp + 0x70]
mov r10d, r9d
test r9d, r9d
je 0x14001ee80
test eax, eax
je 0x14001efe0
mov r9, qword [rsp + 0x78]
test r8d, r8d
je 0x14001eea4
test r9, r9
je 0x14001ee97
test ecx, ecx
je 0x14001efe0
test r13, r13
jne 0x14001eea4
test edx, edx
jne 0x14001efe0
test eax, eax
je 0x14001eead
test r10, r10
je 0x14001eec4
test r8d, r8d
je 0x14001eef1
test ecx, ecx
je 0x14001eebb
test r9, r9
je 0x14001eec4
test edx, edx
jne 0x14001eef1
test r13, r13
je 0x14001eef1
mov rax, qword [rbx]
mov rdx, rbx
cmp rsi, rax
je 0x14001eee7
nop
test rax, rax
je 0x14001eef1
cmp qword [rax + 8], rbp
lea rdx, [rax + 8]
je 0x14001eef1
mov rax, qword [rdx]
cmp rsi, rax
jne 0x14001eed0
mov rax, qword [rdx]
mov rcx, qword [rax + 8]
mov qword [rdx], rcx
mov rsi, r15
test r15, r15
jne 0x14001edb0
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x14001ef22
cmp qword [rbx], rbp
je 0x14001ef1c
nop dword [rax]
mov rbx, qword [rbx]
add rbx, 8
cmp qword [rbx], rbp
jne 0x14001ef10
mov qword [r14 + 8], rbp
jmp 0x14001ef29
mov rax, qword [rbx]
mov qword [r14 + 8], rax
mov qword [rbx], r14
mov rcx, qword [r14 + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x14001efe0
movzx eax, word [r14 + 0x2c]
cmp eax, 2
je 0x14001efa7
cmp eax, 0x17
jne 0x14001efe0
lea r9, [r14 + 0xc4]
mov dword [rsp + 0x20], 4
lea edx, [rax + 0x12]
lea r8d, [rax - 0xe]
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x14001efe0
cmp di, word [r14 + 0x2c]
je 0x14001ef78
mov ebp, dword [r14 + 0x44]
cmp dword [r14 + 0xc4], ebp
je 0x14001efe0
lea rcx, [r14 + 0x2c]
call fcn.14006b9c0
mov r8d, dword [r14 + 0xc4]
lea rdx, str.setsockopt_IPV6_MULTICAST_IF__u_for__s_fails:__m
mov r9, rax
mov ecx, 3
call fcn.14005c0d0
jmp 0x14001efe0
xor edx, edx
mov dword [rsp + 0x20], 4
lea r9, [r14 + 0x30]
lea r8d, [rdx + 9]
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x14001efe0
lea rcx, [r14 + 0x2c]
call fcn.14006b9c0
mov r8, rax
lea rdx, str.setsockopt_IP_MULTICAST_IF__s_fails:__m
mov ecx, 3
call fcn.14005c0d0
mov r13, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x40]
add rsp, 0x50
pop r14
pop r12
pop rbp
ret