Function at 0x1402b1d20
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, 0xe8
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, [0x1402b6ce0]
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.1403826b0
mov rdx, qword [rsp + 0x130]
lea rcx, [rbx + 0xb0]
call fcn.14029b180
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 0x1402b1df9
cmp r14d, 0x17
jne 0x1402b1fa3
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 0x1402b1ea1
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 0x1402b1e96
mov qword [rsp + 0x88], rdi
mov rax, qword [rsp + 0x88]
xchg qword [r15], rax
mov r15, qword [rsp + 0x88]
cmp rdi, r15
je 0x1402b1fa3
test r15, r15
je 0x1402b1fa3
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 0x1402b1f3c
lea rdi, [rsp + 0x88]
mov edx, 0x2726
mov rcx, rdi
call fcn.1402c59b0
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
call fcn.1402c7480
test al, al
je 0x1402b1f3c
mov rcx, qword [rbp + 0x30]
jmp 0x1402b22ab
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 0x1402b1f96
cmp eax, 0x3e5
je 0x1402b1f96
xor r9d, r9d
mov rdx, rbx
call fcn.1402a0d20
jmp 0x1402b22b3
mov rdx, rbx
call fcn.1402a0a10
jmp 0x1402b22b3
lea r14, [rbp + 0x38]
xor eax, eax
lock cmpxchg qword [r14], rax
mov rdi, rax
jne 0x1402b1ff2
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 0x1402b2050
cmp rcx, 0xffffffffffffffff
jne 0x1402b2015
mov rcx, qword [rsp + 0x58]
mov edx, 0x2719
call fcn.1402c61d0
jmp 0x1402b22a7
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 0x1402b22a7
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 0x1402b22a7
lea rbp, [rsp + 0x88]
mov edx, 0x2734
mov rcx, rbp
call fcn.1402c59b0
mov rcx, qword [rsp + 0x58]
mov rdx, rbp
call fcn.1402c7400
test al, al
jne 0x1402b20ba
lea r12, [rsp + 0xa0]
mov edx, 0x2733
mov rcx, r12
call fcn.1402c59b0
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1402c7400
test al, al
je 0x1402b22a7
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 0x1402b2107
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call fcn.1402a1c80
lea rcx, [rsp + 0x60]
call fcn.140287ca0
jmp 0x1402b22b3
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 0x1402b217d
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 0x1402b21e1
jmp 0x1402b21ac
xor eax, eax
lea r8, [0x140429d00]
mov rcx, qword [r8 + rax*8]
cmp rdx, rcx
jb 0x1402b219f
inc rax
cmp rax, 0x16
jne 0x1402b2186
mov rcx, qword [0x140429db0]
mov rdx, rcx
mov rcx, r14
call fcn.1402bdfa0
jmp 0x1402b214f
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 0x1402b2224
mov rax, qword [r15 + 8]
mov rdx, qword [rax]
cmp rdx, rsi
je 0x1402b21fd
cmp r13, qword [rsi + 0x10]
jne 0x1402b21f8
xor r12d, r12d
jmp 0x1402b2227
mov rsi, qword [rsi]
jmp 0x1402b21e8
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 0x1402b2255
mov qword [rax + 0x20], rbx
mov qword [rsi + 0x20], rbx
jmp 0x1402b225d
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x18], rbx
mov rcx, qword [rdi + 0x28]
call fcn.1402a0ca0
test r12b, r12b
jne 0x1402b228a
jmp 0x1402b20f8
mov rcx, qword [rdi + 0x60]
call fcn.1402b39d0
jmp 0x1402b20f8
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call fcn.1402a1c80
xor eax, eax
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rax
call fcn.1402b6e40
nop
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret