Function at 0x1402b1740
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, 0xd0
mov r12, r8
mov rdi, r9
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, [0x1402b6b20]
mov rcx, rbx
mov qword [rbx + 0x28], rax
call fcn.1402a05e0
xor eax, eax
mov qword [rbx + 0x68], r13
lea rcx, [rbx + 0x78]
mov dword [rbx + 0x38], eax
xor eax, eax
mov rdx, rdi
mov r13d, 0x1c
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x58], rax
lea rax, [0x1402bb450]
mov qword [rbx + 0x60], rax
mov byte [rbx + 0x70], 0
call fcn.140382420
mov rdx, qword [rsp + 0x130]
lea rcx, [rbx + 0x98]
call fcn.14029b450
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 0x1402b1819
cmp r14d, 0x17
jne 0x1402b19c3
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 0x1402b18c1
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 0x1402b18b6
mov qword [rsp + 0x88], rdi
mov rax, qword [rsp + 0x88]
xchg qword [r15], rax
mov r15, qword [rsp + 0x88]
cmp rdi, r15
je 0x1402b19c3
test r15, r15
je 0x1402b19c3
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 0x1402b195c
lea rdi, [rsp + 0x88]
mov edx, 0x2726
mov rcx, rdi
call fcn.1402c5af0
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
call fcn.1402c7400
test al, al
jne 0x1402b195c
mov rcx, qword [rbp + 0x30]
jmp 0x1402b1ccb
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 0x1402b19b6
cmp eax, 0x3e5
je 0x1402b19b6
xor r9d, r9d
mov rdx, rbx
call fcn.1402a0d20
jmp 0x1402b1cd3
mov rdx, rbx
call fcn.1402a0a10
jmp 0x1402b1cd3
lea r14, [rbp + 0x38]
xor eax, eax
lock cmpxchg qword [r14], rax
mov rdi, rax
jne 0x1402b1a12
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 0x1402b1a70
cmp rcx, 0xffffffffffffffff
jne 0x1402b1a35
mov rcx, qword [rsp + 0x58]
mov edx, 0x2719
call fcn.1402c62f0
jmp 0x1402b1cc7
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 0x1402b1cc7
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 0x1402b1cc7
lea rbp, [rsp + 0x88]
mov edx, 0x2734
mov rcx, rbp
call fcn.1402c5af0
mov rcx, qword [rsp + 0x58]
mov rdx, rbp
call fcn.1402c7400
test al, al
jne 0x1402b1ada
lea r12, [rsp + 0xa0]
mov edx, 0x2733
mov rcx, r12
call fcn.1402c5af0
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1402c7400
test al, al
je 0x1402b1cc7
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 0x1402b1b27
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call fcn.1402a1e10
lea rcx, [rsp + 0x60]
call fcn.140287ca0
jmp 0x1402b1cd3
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 0x1402b1b9d
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 0x1402b1c01
jmp 0x1402b1bcc
xor eax, eax
lea r8, [0x140429d00]
mov rcx, qword [r8 + rax*8]
cmp rdx, rcx
jb 0x1402b1bbf
inc rax
cmp rax, 0x16
jne 0x1402b1ba6
mov rcx, qword [0x140429db0]
mov rdx, rcx
mov rcx, r14
call fcn.1402bdfa0
jmp 0x1402b1b6f
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 0x1402b1c44
mov rax, qword [r15 + 8]
mov rdx, qword [rax]
cmp rdx, rsi
je 0x1402b1c1d
cmp r13, qword [rsi + 0x10]
jne 0x1402b1c18
xor r12d, r12d
jmp 0x1402b1c47
mov rsi, qword [rsi]
jmp 0x1402b1c08
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 0x1402b1c75
mov qword [rax + 0x20], rbx
mov qword [rsi + 0x20], rbx
jmp 0x1402b1c7d
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x18], rbx
mov rcx, qword [rdi + 0x28]
call fcn.1402a0ca0
test r12b, r12b
jne 0x1402b1caa
jmp 0x1402b1b18
mov rcx, qword [rdi + 0x60]
call fcn.1402b3b60
jmp 0x1402b1b18
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call fcn.1402a1e10
xor eax, eax
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rax
call fcn.1402b6c80
nop
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret