Function at 0x1400212f0
Capabilities:
Set socket configuration

Disassembly:
mov dword [rsp + 0x18], r8d
push rbp
push r12
push r14
push r15
sub rsp, 0xc8
xor r12d, r12d
mov r14, r9
mov r15, rcx
mov qword [rsp + 0x90], r12
movzx ecx, word [rcx]
mov r9d, 2
mov rbp, rdx
mov edx, r12d
cmp r9w, cx
jne 0x140021336
mov eax, dword [r15 + 4]
and eax, 0xf0
cmp al, 0xe0
jmp 0x14002133b
cmp byte [r15 + 8], 0xff
sete dl
test edx, edx
je 0x140021355
mov rbp, qword [0x1400d7248]
cmp r9w, cx
cmove rbp, qword [0x1400d7218]
test rbp, rbp
je 0x1400216d5
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xb0], r13
movsxd r13, dword [rsp + 0x110]
mov qword [rsp + 0xb8], rdi
mov ebx, edx
nop dword [rax + rax]
test rbx, rbx
je 0x14002142a
test r8d, r8d
jle 0x14002142a
cmp r8d, dword [rbp + 0xa8]
je 0x14002142a
movzx eax, word [rbp + 0x2c]
cmp eax, 2
je 0x1400213ce
cmp eax, 0x17
jne 0x140021404
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x100]
lea edx, [rax + 0x12]
jmp 0x1400213e8
mov byte [rsp + 0xf0], r8b
lea r9, [rsp + 0xf0]
mov dword [rsp + 0x20], 1
xor edx, edx
mov rcx, qword [rbp + 0x18]
mov r8d, 0xa
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x14002140d
mov r8d, dword [rsp + 0x100]
mov dword [rbp + 0xa8], r8d
jmp 0x14002142a
lea rcx, [rbp + 0x2c]
call fcn.14006b9c0
mov r8, rax
lea rdx, str.setsockopt_IP_MULTICAST_TTL_IPV6_MULTICAST_HOPS_fails_on_address__s:__m
mov ecx, 3
call fcn.14005c0d0
mov rdx, qword [rbp + 0x18]
mov r9, r13
mov r8, r14
mov qword [rsp + 0x20], r15
mov rcx, rbp
call fcn.140058060
cmp eax, 0xffffffff
jne 0x140021454
inc dword [rbp + 0xc0]
inc dword [0x1400d7258]
jmp 0x140021460
inc dword [rbp + 0xbc]
inc dword [0x1400d725c]
test rbx, rbx
je 0x14002147b
mov rbp, qword [rbp + 8]
test rbp, rbp
je 0x14002147b
mov r8d, dword [rsp + 0x100]
jmp 0x140021390
mov ecx, dword [r14 + 0x18]
mov edx, ecx
shl edx, 0x10
mov eax, ecx
and eax, 0xff00
shr ecx, 8
or edx, eax
and ecx, 0xff00
movzx eax, byte [r14 + 0x1b]
shl edx, 8
or edx, ecx
mov ecx, dword [r14 + 0x1c]
or edx, eax
mov eax, ecx
mov dword [rsp + 0xa8], edx
and eax, 0xff00
mov edx, ecx
shr ecx, 8
shl edx, 0x10
and ecx, 0xff00
or edx, eax
movzx eax, byte [r14 + 0x1f]
shl edx, 8
or edx, ecx
mov ecx, dword [r14 + 0x20]
or edx, eax
mov eax, ecx
mov dword [rsp + 0xac], edx
and eax, 0xff00
mov edx, ecx
shr ecx, 8
shl edx, 0x10
and ecx, 0xff00
or edx, eax
movzx eax, byte [r14 + 0x23]
shl edx, 8
or edx, ecx
mov ecx, dword [r14 + 0x24]
or edx, eax
mov eax, ecx
mov dword [rsp + 0xa0], edx
and eax, 0xff00
mov edx, ecx
shr ecx, 8
shl edx, 0x10
and ecx, 0xff00
or edx, eax
movzx eax, byte [r14 + 0x27]
shl edx, 8
or edx, ecx
mov ecx, dword [r14 + 0x28]
or edx, eax
mov eax, ecx
mov dword [rsp + 0xa4], edx
and eax, 0xff00
mov edx, ecx
shr ecx, 8
shl edx, 0x10
and ecx, 0xff00
or edx, eax
movzx eax, byte [r14 + 0x2b]
shl edx, 8
or edx, ecx
mov ecx, dword [r14 + 0x2c]
or edx, eax
mov eax, ecx
mov dword [rsp + 0x98], edx
and eax, 0xff00
mov edx, ecx
shr ecx, 8
shl edx, 0x10
and ecx, 0xff00
or edx, eax
movzx eax, byte [r14 + 0x2f]
shl edx, 8
or edx, ecx
or edx, eax
cmp dword [0x1400d5ef8], r12d
mov dword [rsp + 0x9c], edx
je 0x1400216b5
mov edx, dword [r14 + 8]
lea rbx, [r14 + 0x30]
mov r8d, dword [r14 + 4]
lea edi, [r13 - 0x30]
movzx esi, byte [r14]
mov eax, edx
movzx r9d, byte [r14 + 2]
and eax, 0xff00
movzx r10d, byte [r14 + 1]
mov ecx, edx
shl ecx, 0x10
xorps xmm2, xmm2
or ecx, eax
mov qword [rsp + 0x80], rbx
movzx eax, byte [r14 + 0xb]
xorps xmm1, xmm1
shl ecx, 8
mov r11d, esi
mov dword [rsp + 0x78], edi
and r11d, 7
shr edx, 8
and edx, 0xff00
or ecx, edx
mov edx, esi
or eax, ecx
shr edx, 3
mov ecx, r8d
shr esi, 6
shl ecx, 0x10
and edx, 7
cvtsi2sd xmm2, rax
mov eax, r8d
shr r8d, 8
and eax, 0xff00
and r8d, 0xff00
or ecx, eax
movzx eax, byte [r14 + 7]
shl ecx, 8
or ecx, r8d
movsx r8d, byte [r14 + 3]
mulsd xmm2, qword [0x1400bdc08]
or eax, ecx
test rbp, rbp
lea rcx, [rbp + 0x2c]
cmove rcx, r12
cvtsi2sd xmm1, rax
mov eax, dword [r14 + 0xc]
mov dword [rsp + 0x70], eax
lea rax, [rsp + 0x90]
movsd qword [rsp + 0x68], xmm2
mulsd xmm1, qword [0x1400bdc08]
movsd qword [rsp + 0x60], xmm1
mov dword [rsp + 0x58], r8d
lea r8, [rsp + 0xa8]
mov dword [rsp + 0x50], r9d
lea r9, [rsp + 0xa0]
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], edx
mov rdx, r15
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.14003d4a0
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xb0]
add rsp, 0xc8
pop r15
pop r14
pop r12
pop rbp
ret