Function at 0x140195880
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov eax, dword [rdx + 0xf0]
cmp eax, 0x3b9aca00
jne 0x14019590d
mov r14, qword [rdi + 0xb0]
mov rax, qword [rdi + 0xc0]
mov rbx, qword [rdi + 0xc8]
cmp rax, rbx
jb 0x140195ae4
mov rax, qword [rdi + 0xb8]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov rax, qword [rdi + 0xd0]
mov qword [rsp + 0x40], rax
mov rcx, qword [rdi + 0xd8]
mov rax, qword [rdi + 0xe0]
lea rdx, [rsp + 0x28]
xor r8d, r8d
call qword [rax + 0x48]
test rax, rax
je 0x140195ac6
mov rbx, rax
jmp 0x140195afb
mov rcx, qword [rdi + 0xe8]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], eax
call fcn.140151190
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], edx
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x28]
call fcn.140151270
cmp edx, 0x3b9aca00
jne 0x14019599b
movzx eax, byte [0x141ada129]
mov edx, 0x1a
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140195be5
movups xmm0, xmmword [0x141a81801]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x141a817f7]
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], 0x1a
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x1a
lea rdx, [rsp + 0x28]
mov cl, 0x16
call fcn.1401abd20
jmp 0x140195bcd
mov ebp, edx
mov r14, rax
mov rcx, qword [rdi + 0xd8]
mov rax, qword [rdi + 0xe0]
call qword [rax + 0xb8]
test rax, rax
je 0x14019589f
mov rbx, rax
mov ecx, 0x3e8
mov rax, r14
mul rcx
mov r14, rax
seto r15b
mov eax, 0xffffffff
jo 0x140195a1b
mov ecx, ebp
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
add rcx, r14
jb 0x140195a1b
imul edx, ebp, 0x68c26139
ror edx, 6
xor r8d, r8d
cmp edx, 0x10c7
setae r8b
add rcx, r8
jb 0x140195a1b
mov eax, 0xffffffff
cmp rcx, rax
cmovb rax, rcx
test rax, rax
je 0x140195bc6
mov dword [rsp + 0x28], eax
mov rcx, qword [rbx]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x28]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140195ab4
mov eax, 0xffffffff
test r15b, r15b
jne 0x140195a87
mov ecx, ebp
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
add r14, rcx
jb 0x140195a87
imul ecx, ecx, 0xf4240
xor edx, edx
sub ebp, ecx
setne dl
add r14, rdx
jb 0x140195a87
mov eax, 0xffffffff
cmp r14, rax
cmovb rax, r14
test rax, rax
je 0x140195bc6
mov dword [rsp + 0x28], eax
mov rcx, qword [rbx]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x28]
mov edx, 0xffff
mov r8d, 0x1005
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x14019589f
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x140195bcd
mov qword [rdi + 0xc0], 0
mov rbx, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi + 0xc8], xmm0
xor eax, eax
sub rbx, rax
test r14, r14
je 0x140195afb
add r14, rax
mov qword [rsi], r14
mov qword [rsi + 8], rbx
jmp 0x140195bd8
mov rcx, rbx
call fcn.14015a510
mov ecx, eax
mov rax, rbx
cmp cl, 0xd
jne 0x140195bcd
movzx eax, byte [0x141ada129]
mov edx, 0x1a
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x140195be5
movups xmm0, xmmword [0x141a81801]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x141a817f7]
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], 0x1a
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x1a
lea rdx, [rsp + 0x28]
mov cl, 0x16
call fcn.1401abd20
mov ecx, ebx
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x140195bcd
test rcx, rcx
je 0x140195bcd
mov r15, rax
lea rdi, [rbx - 1]
mov r14, qword [rbx - 1]
mov rbx, qword [rbx + 7]
mov rcx, r14
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x140195bb0
cmp qword [rbx + 0x10], 0x11
jb 0x140195b9f
mov r14, qword [r14 - 8]
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, r14
call fcn.1401cdfe4
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rdi
call fcn.1401cdfe4
mov rax, r15
jmp 0x140195bcd
lea rax, [0x141a5d250]
mov qword [rsi + 8], rax
mov qword [rsi], 0
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
ud2