Function at 0x140019520
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
xor edi, edi
cmp rcx, 0xffffffffffffffff
je 0x140019902
mov rsi, r9
mov r14, rdx
mov rbx, rcx
test r8b, r8b
je 0x1400195c3
movzx eax, byte [r14]
test al, 8
je 0x1400195c3
mov dword [rsp + 0x28], 0
or al, 8
mov byte [r14], al
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x28]
mov rcx, rbx
mov edx, 0xffff
mov r8d, 0x80
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x140019594
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, qword [0x1400325d0]
shr rcx, 1
jmp 0x1400195a0
mov rcx, qword [0x1400325d0]
shr rcx, 1
xor eax, eax
movabs rdx, 0x595588bd12bf6fe8
cmp rcx, rdx
je 0x1400195c3
mov r8, qword [0x1400325c8]
lea rcx, [0x1400325c8]
mov edx, eax
call qword [r8 + 0x30]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x1400195fa
mov edi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebp, eax
mov rax, qword [0x1400325d0]
shr rax, 1
movabs r15, 0x595588bd12bf6fe8
cmp rax, r15
jne 0x14001961d
test ebp, ebp
setne al
jmp 0x140019630
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400196f4
cmp rax, 1
jne 0x1400196fd
lea rdi, [0x1400326e0]
jmp 0x140019701
mov rax, qword [0x1400325c8]
lea rcx, [0x1400325c8]
mov edx, ebp
call qword [rax + 0x30]
movzx r8d, al
or r8, 2
mov dword [rsi], ebp
mov dword [rsi + 4], 0
lea r12, [0x1400325c8]
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], r8
mov rcx, qword [0x1400325d0]
shr rcx, 1
mov eax, ebp
cmp rcx, r15
je 0x1400196bd
mov rax, qword [0x1400325c8]
lea rcx, [0x1400325c8]
mov edx, 0x2733
call qword [rax + 0x30]
mov r8, qword [rsi + 0x10]
mov ebp, dword [rsi]
cmp r8, 1
jne 0x1400196e2
mov rcx, qword [rsi + 8]
movabs rdx, 0x4800144005b3
mov rax, rcx
mul rdx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul eax, eax, 0x1ffff7
sub ecx, eax
imul eax, ecx, 0x3e8
add eax, ebp
mov r8d, 1
cmp eax, 0x2733
jne 0x1400196eb
lea rcx, [0x1400325c8]
mov rdx, rcx
test r8, r8
je 0x140019748
cmp r8, 1
jne 0x140019744
lea rdx, [0x1400326e0]
jmp 0x140019748
mov eax, ebp
cmp eax, 0x2733
je 0x1400196c4
mov rax, qword [0x1400325d0]
jmp 0x140019771
lea rdi, [0x1400325c8]
jmp 0x140019701
mov rdi, qword [rsi + 8]
mov rcx, qword [rdi + 8]
shr rcx, 1
mov eax, 2
movabs rdx, 0x595588bd12bf6fe8
cmp rcx, rdx
je 0x14001972e
mov rax, qword [rdi]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x30]
movzx eax, al
or rax, 2
mov qword [rsi], 0
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rax
xor edi, edi
jmp 0x140019902
mov rdx, qword [rsi + 8]
mov rax, qword [0x1400325d0]
xor r9d, r9d
cmp rdx, rcx
sete r9b
xor ecx, ecx
cmp qword [rdx + 8], rax
sete cl
test rax, rax
cmove ecx, r9d
test cl, cl
jne 0x140019834
shr rax, 1
cmp rax, r15
jne 0x14001978c
cmp r8, 1
je 0x1400197ae
cmp ebp, 0x4d5
je 0x1400197ee
jmp 0x140019902
mov rax, qword [0x1400325c8]
lea rcx, [0x1400325c8]
mov edx, 0x4d5
call qword [rax + 0x30]
mov r8, qword [rsi + 0x10]
mov ebp, dword [rsi]
cmp r8, 1
jne 0x14001977f
mov rcx, qword [rsi + 8]
movabs rdx, 0x4800144005b3
mov rax, rcx
mul rdx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul eax, eax, 0x1ffff7
sub ecx, eax
imul eax, ecx, 0x3e8
add ebp, eax
cmp ebp, 0x4d5
jne 0x140019902
mov rax, r12
test r8, r8
je 0x140019809
cmp r8, 1
jne 0x140019805
lea rax, [0x1400326e0]
jmp 0x140019809
mov rax, qword [rsi + 8]
mov rcx, qword [0x1400325d0]
xor edx, edx
cmp rax, r12
sete dl
xor r8d, r8d
cmp qword [rax + 8], rcx
sete r8b
test rcx, rcx
cmove r8d, edx
cmp r8b, 1
jne 0x140019902
mov dword [rsp + 0x2c], 0
lea r8, [rsp + 0x2c]
mov rcx, rbx
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
and byte [r14], 0xfc
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
mov edi, eax
test eax, eax
je 0x140019880
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov rax, qword [0x1400325d0]
shr rax, 1
cmp rax, r15
jne 0x140019898
test ebx, ebx
setne al
jmp 0x1400198ab
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400198bb
cmp rax, 1
jne 0x1400198c4
lea r14, [0x1400326e0]
jmp 0x1400198c8
mov rax, qword [0x1400325c8]
lea rcx, [0x1400325c8]
mov edx, ebx
call qword [rax + 0x30]
movzx eax, al
or rax, 2
lea r14, [0x1400325c8]
jmp 0x1400198f1
lea r14, [0x1400325c8]
jmp 0x1400198c8
mov r14, qword [rsi + 8]
mov rax, qword [r14 + 8]
shr rax, 1
cmp rax, r15
jne 0x1400198dd
mov eax, 2
xor ebx, ebx
jmp 0x1400198f1
mov rax, qword [r14]
xor ebx, ebx
mov rcx, r14
xor edx, edx
call qword [rax + 0x30]
movzx eax, al
or rax, 2
mov dword [rsi], ebx
mov dword [rsi + 4], 0
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rax
mov eax, edi
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret