Function at 0x7ff71efe1900
Capabilities:
Set socket configuration

Disassembly:
mov r11, rsp
push rdi
push r13
push r14
push r15
sub rsp, 0x58
xor r13d, r13d
mov rdi, r9
mov r15, rdx
mov r14, rcx
cmp rcx, 0xffffffffffffffff
je 0x7ff71efe1ca2
mov qword [r11 + 0x20], rsi
test r8b, r8b
je 0x7ff71efe1968
movzx eax, byte [rdx]
test al, 8
je 0x7ff71efe1968
or al, 8
mov dword [r11 + 8], r13d
mov byte [rdx], al
lea r9, [r11 + 8]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 0x80
call qword [sym.imp.ws2_32.dll_setsockopt]
test eax, eax
lea rcx, [rsp + 0x30]
setne dl
call fcn.7ff71efe1840
mov rcx, r14
call qword [sym.imp.ws2_32.dll_closesocket]
test eax, eax
mov rcx, rdi
mov esi, eax
setne dl
call fcn.7ff71efe1840
test esi, esi
je 0x7ff71efe1c9b
mov r9, qword [0x7ff71f159418]
movabs rcx, 0x4d54ee85da812030
mov qword [rsp + 0x88], rbx
add rcx, r9
mov qword [rsp + 0x90], rbp
mov ebp, 0x2733
mov qword [rsp + 0x50], r12
lea rbx, [0x7ff71f159410]
cmp rcx, 1
jbe 0x7ff71efe19db
mov rax, qword [0x7ff71f159410]
mov edx, ebp
mov rcx, rbx
call qword [rax + 0x30]
mov r9, qword [0x7ff71f159418]
jmp 0x7ff71efe19dd
mov al, 1
mov r10, qword [rdi + 0x10]
lea r12, [0x7ff71f1593d8]
movzx r8d, al
movabs rdx, 0x4800144005b3
add r8, 2
cmp r10, 1
sete cl
cmp r8, 1
sete al
cmp cl, al
jne 0x7ff71efe1aef
cmp r10, 1
jne 0x7ff71efe1a69
cmp r8, r10
jne 0x7ff71efe1a39
mov rax, qword [rdi + 8]
cmp qword [rax + 8], r9
jne 0x7ff71efe1a32
cmp dword [rdi], ebp
jne 0x7ff71efe1a32
movzx eax, r10b
jmp 0x7ff71efe1ae7
xor al, al
jmp 0x7ff71efe1ae7
mov rcx, qword [rdi + 8]
mov rax, rdx
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul rax, rax, 0x1ffff7
sub rcx, rax
imul r11d, ecx, 0x3e8
add r11d, dword [rdi]
jmp 0x7ff71efe1aa1
mov r11d, dword [rdi]
cmp r8, 1
jne 0x7ff71efe1aa1
mov rax, rdx
mov rcx, rbx
mul rbx
mov rax, rbx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul rax, rax, 0x1ffff7
sub rcx, rax
imul ebp, ecx, 0x3e8
add ebp, 0x2733
cmp r11d, ebp
jne 0x7ff71efe1aef
test r8, r8
jne 0x7ff71efe1ab0
mov rax, rbx
jmp 0x7ff71efe1abb
cmp r8, 1
mov rax, r12
cmovne rax, rbx
test r10, r10
jne 0x7ff71efe1ac5
mov rcx, rbx
jmp 0x7ff71efe1ad2
mov rcx, r12
cmp r10, 1
je 0x7ff71efe1ad2
mov rcx, qword [rdi + 8]
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x7ff71efe1ae0
cmp rcx, rax
jmp 0x7ff71efe1ae4
cmp qword [rcx + 8], rdx
sete al
test al, al
jne 0x7ff71efe1c5a
movabs rax, 0x4d54ee85da812030
mov ebp, 0x4d5
add rax, r9
cmp rax, 1
jbe 0x7ff71efe1b1f
mov rax, qword [0x7ff71f159410]
mov edx, ebp
mov rcx, rbx
call qword [rax + 0x30]
mov r9, qword [0x7ff71f159418]
jmp 0x7ff71efe1b21
mov al, 1
mov r10, qword [rdi + 0x10]
movzx r8d, al
add r8, 2
cmp r10, 1
sete cl
cmp r8, 1
sete al
cmp cl, al
jne 0x7ff71efe1b6c
cmp r10, 1
jne 0x7ff71efe1bce
cmp r8, r10
jne 0x7ff71efe1b97
mov rax, qword [rdi + 8]
cmp qword [rax + 8], r9
jne 0x7ff71efe1b62
cmp dword [rdi], ebp
jne 0x7ff71efe1b62
movzx eax, r10b
jmp 0x7ff71efe1b64
xor al, al
test al, al
jne 0x7ff71efe1c5a
mov eax, esi
mov rbx, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x98]
add rsp, 0x58
pop r15
pop r14
pop r13
pop rdi
ret
mov rcx, qword [rdi + 8]
movabs rax, 0x4800144005b3
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul rax, rax, 0x1ffff7
sub rcx, rax
imul r9d, ecx, 0x3e8
add r9d, dword [rdi]
jmp 0x7ff71efe1c0d
mov r9d, dword [rdi]
cmp r8, 1
jne 0x7ff71efe1c0d
movabs rax, 0x4800144005b3
mov rcx, rbx
mul rbx
mov rax, rbx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul rax, rax, 0x1ffff7
sub rcx, rax
imul ebp, ecx, 0x3e8
add ebp, 0x4d5
cmp r9d, ebp
jne 0x7ff71efe1b6c
test r8, r8
jne 0x7ff71efe1c20
mov rax, rbx
jmp 0x7ff71efe1c2b
cmp r8, 1
mov rax, r12
cmovne rax, rbx
test r10, r10
je 0x7ff71efe1c3d
mov rbx, r12
cmp r10, 1
je 0x7ff71efe1c3d
mov rbx, qword [rdi + 8]
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x7ff71efe1c4b
cmp rbx, rax
jmp 0x7ff71efe1c4f
cmp qword [rbx + 8], rcx
sete al
test al, al
je 0x7ff71efe1b6c
lea r8, [rsp + 0x80]
mov dword [rsp + 0x80], r13d
mov edx, 0x8004667e
mov rcx, r14
call qword [sym.imp.ws2_32.dll_ioctlsocket]
and byte [r15], 0xfc
mov rcx, r14
call qword [sym.imp.ws2_32.dll_closesocket]
test eax, eax
mov rcx, rdi
mov ebx, eax
setne dl
call fcn.7ff71efe1840
mov eax, ebx
jmp 0x7ff71efe1b6e
mov eax, esi
jmp 0x7ff71efe1b83
mov eax, r13d
add rsp, 0x58
pop r15
pop r14
pop r13
pop rdi
ret