Function at 0x1402b1160
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov rsi, rdx
mov rbp, rcx
mov rdx, r9
mov ecx, 0xc8
mov rdi, r9
mov r12, r8
mov qword [rsp + 0x70], r9
call fcn.14027f3d0
mov r13, qword [rsi]
mov rbx, rax
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rbx + 0x20], rax
lea rax, [0x1402b6990]
mov rcx, rbx
mov qword [rbx + 0x28], rax
call fcn.1402a05e0
xor eax, eax
mov qword [rbx + 0x68], r13
mov rdx, qword [rsp + 0x130]
mov dword [rbx + 0x38], eax
xor eax, eax
lea rcx, [rbx + 0x90]
mov r13d, 0x1c
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x58], rax
lea rax, [0x1402bb450]
mov qword [rbx + 0x60], rax
mov byte [rbx + 0x70], 0
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x78], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x88], rax
call fcn.14029b2a0
mov r14d, dword [rsi + 0x38]
cmp word [r12], 2
mov eax, 0x10
cmove r13, rax
lea rax, [rbx + 0x38]
mov qword [rsp + 0x80], rbx
cmp r14d, 2
mov qword [rsp + 0x58], rax
je 0x1402b123f
cmp r14d, 0x17
jne 0x1402b13e9
lea rdi, [rbp + 0x28]
lea r15, [rbp + 0x40]
xor eax, eax
lock cmpxchg qword [r15], rax
mov qword [rsp + 0x88], rax
test rax, rax
jne 0x1402b12e7
movabs rax, 0x4660ddf325a207b9
mov dword [rsp + 0x28], 8
mov r9d, 0x10
lea r8, [rsp + 0xa0]
mov qword [rsp + 0xa0], rax
mov edx, 0xc8000006
movabs rax, 0x3e06748ce576e98e
mov qword [rsp + 0xa8], rax
xor eax, eax
mov dword [rsp + 0x60], eax
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
je 0x1402b12dc
mov qword [rsp + 0x88], rdi
mov rax, qword [rsp + 0x88]
xchg qword [r15], rax
mov r15, qword [rsp + 0x88]
cmp rdi, r15
je 0x1402b13e9
test r15, r15
je 0x1402b13e9
lea rdx, [rsp + 0xa2]
xor eax, eax
mov ecx, 0x1a
cmp r14d, 2
mov rdi, rdx
mov r8d, 0x1c
lea r9, [rbx + 0x38]
rep stosb byte [rdi], al
mov eax, 0x10
mov rcx, qword [rsi]
lea rdx, [rsp + 0xa0]
mov word [rsp + 0xa0], r14w
cmove r8, rax
call fcn.140286240
mov rcx, qword [rsp + 0x58]
call fcn.1402ee430
test al, al
je 0x1402b1382
lea rdi, [rsp + 0x88]
mov edx, 0x2726
mov rcx, rdi
call fcn.1402c5a30
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
call fcn.1402c7400
test al, al
jne 0x1402b1382
mov rcx, qword [rbp + 0x30]
jmp 0x1402b16f1
mov byte [rbx + 0x70], 1
mov rcx, qword [rbp + 0x30]
xor edi, edi
xor r14d, r14d
call fcn.1402a0ca0
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov r8d, r13d
mov qword [rsp + 0x28], rdi
mov rdx, r12
mov dword [rsp + 0x20], r14d
mov rcx, qword [rsi]
call r15
mov esi, eax
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov rcx, qword [rbp + 0x30]
mov r8d, eax
test esi, esi
jne 0x1402b13dc
cmp eax, 0x3e5
je 0x1402b13dc
xor r9d, r9d
mov rdx, rbx
call fcn.1402a0d20
jmp 0x1402b16f9
mov rdx, rbx
call fcn.1402a0a10
jmp 0x1402b16f9
lea r14, [rbp + 0x38]
xor eax, eax
lock cmpxchg qword [r14], rax
mov rdi, rax
jne 0x1402b1438
mov rax, qword [rbp + 0x28]
xor r11d, r11d
lea rdx, [rsp + 0xa0]
lea r8, [0x1402905f0]
mov rcx, qword [rax]
lea rax, [0x1404ea940]
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0xa0], rax
mov r9, qword [rcx + 0x30]
call fcn.1402904f0
mov rdi, rax
xchg qword [r14], rax
mov rcx, qword [rsi]
test byte [rsi + 8], 3
jne 0x1402b1496
cmp rcx, 0xffffffffffffffff
jne 0x1402b145b
mov rcx, qword [rsp + 0x58]
mov edx, 0x2719
call fcn.1402c6260
jmp 0x1402b16ed
mov dword [rsp + 0xa0], 1
lea r8, [rsp + 0xa0]
mov edx, 0x8004667e
call qword [sym.imp.WSOCK32.dll_ioctlsocket]
mov edx, eax
mov rcx, qword [rsp + 0x58]
mov ebp, eax
shr edx, 0x1f
call fcn.140285ad0
test ebp, ebp
js 0x1402b16ed
or byte [rsi + 8], 2
mov rcx, qword [rsi]
lea r9, [rbx + 0x38]
mov r8, r13
mov rdx, r12
call fcn.140287590
test eax, eax
je 0x1402b16ed
lea rbp, [rsp + 0x88]
mov edx, 0x2734
mov rcx, rbp
call fcn.1402c5a30
mov rcx, qword [rsp + 0x58]
mov rdx, rbp
call fcn.1402c7400
test al, al
jne 0x1402b1500
lea r12, [rsp + 0xa0]
mov edx, 0x2733
mov rcx, r12
call fcn.1402c5a30
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1402c7400
test al, al
je 0x1402b16ed
xor r10d, r10d
xor r9d, r9d
lea rcx, [rdi + 0x30]
mov dword [rbx + 0x38], r9d
mov qword [rbx + 0x40], r10
mov qword [rbx + 0x48], r10
mov r13, qword [rsi]
mov qword [rsp + 0x60], rcx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [rdi + 0x248], 0
mov byte [rsp + 0x68], 1
je 0x1402b154d
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call fcn.1402a1d90
lea rcx, [rsp + 0x60]
call fcn.140287ca0
jmp 0x1402b16f9
mov rax, qword [rdi + 0x160]
xor ecx, ecx
xor r8d, r8d
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x88], rcx
lea r14, [rdi + 0x160]
mov qword [rsp + 0x90], rcx
lea rdx, [rax + 1]
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], r8
cmp rdx, qword [rdi + 0x1a0]
jae 0x1402b15c3
mov rax, r13
xor edx, edx
mov r15, qword [rdi + 0x198]
div qword [rdi + 0x1a0]
lea rax, [rdi + 0x168]
shl rdx, 4
add r15, rdx
mov r12, rdx
mov rsi, qword [r15]
cmp rsi, rax
jne 0x1402b1627
jmp 0x1402b15f2
xor eax, eax
lea r8, [0x140429d00]
mov rcx, qword [r8 + rax*8]
cmp rdx, rcx
jb 0x1402b15e5
inc rax
cmp rax, 0x16
jne 0x1402b15cc
mov rcx, qword [0x140429db0]
mov rdx, rcx
mov rcx, r14
call fcn.1402bdfa0
jmp 0x1402b1595
lea r8, [rsp + 0xa0]
mov rdx, rsi
mov rcx, r14
call fcn.1402bde00
add r12, qword [rdi + 0x198]
mov qword [r15 + 8], rax
mov rax, qword [r12 + 8]
mov rsi, qword [r12 + 8]
mov qword [r12], rax
inc qword [rdi + 0x160]
jmp 0x1402b166a
mov rax, qword [r15 + 8]
mov rdx, qword [rax]
cmp rdx, rsi
je 0x1402b1643
cmp r13, qword [rsi + 0x10]
jne 0x1402b163e
xor r12d, r12d
jmp 0x1402b166d
mov rsi, qword [rsi]
jmp 0x1402b162e
lea r8, [rsp + 0xa0]
mov rcx, r14
call fcn.1402bde00
mov qword [r15 + 8], rax
mov rax, qword [rdi + 0x198]
inc qword [rdi + 0x160]
mov rsi, qword [rax + r12 + 8]
mov r12b, 1
lea rcx, [rsp + 0xa8]
call fcn.1402be0f0
mov rcx, rbp
call fcn.1402be0f0
mov rax, qword [rsi + 0x20]
xor edx, edx
mov qword [rbx + 0x20], rdx
test rax, rax
je 0x1402b169b
mov qword [rax + 0x20], rbx
mov qword [rsi + 0x20], rbx
jmp 0x1402b16a3
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x18], rbx
mov rcx, qword [rdi + 0x28]
call fcn.1402a0ca0
test r12b, r12b
jne 0x1402b16d0
jmp 0x1402b153e
mov rcx, qword [rdi + 0x60]
call fcn.1402b3b10
jmp 0x1402b153e
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call fcn.1402a1d90
xor eax, eax
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rax
call fcn.1402b6ad0
nop
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret