Function at 0x1000146a8
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x5e0
mov rax, qword [0x10001f190]
xor rax, rsp
mov qword [rsp + 0x5d0], rax
and dword [rcx], 0
mov rbx, rcx
mov dword [rcx + 0x3c], 1
xor eax, eax
mov rdi, rdx
or r15, 0xffffffffffffffff
mov rcx, r15
mov r12, r9
mov ebp, r8d
repne scasb al, byte [rdi]
mov rsi, rdx
mov dword [rsp + 0x30], 1
not rcx
mov edi, ecx
call fcn.100015a28
mov rdx, rax
mov qword [rbx + 8], rax
test rax, rax
je 0x100014754
mov rcx, rdi
test edi, edi
je 0x100014754
cmp rcx, 0x7fffffff
ja 0x100014754
mov edi, 0x7ffffffe
mov r8, rsi
sub rdi, rcx
sub r8, rax
lea rax, [rdi + rcx]
test rax, rax
je 0x100014749
mov al, byte [r8 + rdx]
test al, al
je 0x100014749
mov byte [rdx], al
inc rdx
sub rcx, 1
jne 0x10001472d
test rcx, rcx
jne 0x100014751
dec rdx
mov byte [rdx], 0
xor r8d, r8d
lea edx, [r8 + 1]
lea ecx, [rdx + 0x19]
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
mov qword [rbx + 0x18], rax
cmp rax, r15
jne 0x10001477b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x100014916
test ebp, ebp
je 0x100014875
mov ebp, 0x565
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8, rbp
call sub.msvcrt.dll_memset
lea rdx, [0x100000000]
lea rcx, [rsp + 0xa0]
mov rax, qword [rdx + 0x4138]
lea r11, [rsp + 0x60]
mov dword [rsp + 0x20], ebp
mov qword [r11], rax
mov eax, dword [rdx + 0x4140]
mov ebp, 0xff
mov dword [r11 + 8], eax
mov rax, qword [rdx + 0x4160]
lea r9, [rsp + 0x60]
mov qword [rcx], rax
movzx eax, word [rdx + 0x4168]
mov r8d, 0x11
mov word [rcx + 8], ax
mov al, byte [rdx + 0x416a]
mov byte [rcx + 0xa], al
mov eax, 6
lea rcx, [rsp + 0x1a6]
mov word [rsp + 0x1a4], ax
mov eax, dword [rdx + 0x416c]
mov dword [rsp + 0x1a0], 2
mov dword [rcx], eax
movzx eax, word [rdx + 0x4170]
mov edx, ebp
mov word [rcx + 4], ax
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, r15d
jne 0x100014851
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, qword [rbx + 0x18]
mov edi, eax
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx + 0x18], r15
mov eax, edi
jmp 0x100014916
mov rcx, qword [rbx + 0x18]
lea r9, [rsp + 0x30]
mov r8d, 0x16
mov edx, ebp
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, r15d
je 0x100014834
mov edi, 0x20
lea rcx, [rsp + 0x38]
xor edx, edx
mov r8, rdi
call sub.msvcrt.dll_memset
lea eax, [rdi - 6]
lea edx, [rdi - 7]
mov word [rsp + 0x38], ax
lea rax, [rsp + 0x3e]
lea rcx, [rsp + 0x3e]
sub rsi, rax
lea rax, [rdx + 0x7fffffe5]
test rax, rax
je 0x1000148bf
mov al, byte [rsi + rcx]
test al, al
je 0x1000148bf
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1000148a1
test rdx, rdx
jne 0x1000148c7
dec rcx
mov byte [rcx], 0
mov rcx, qword [rbx + 0x18]
lea rdx, [rsp + 0x38]
mov r8d, edi
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, r15d
je 0x100014834
mov rcx, qword [rbx + 0x18]
mov edx, 2
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, r15d
je 0x100014834
mov rcx, qword [rbx + 0x18]
xor r9d, r9d
mov rdx, r12
mov r8, rcx
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov qword [rbx + 0x10], rax
xor eax, eax
mov rcx, qword [rsp + 0x5d0]
xor rcx, rsp
call fcn.100019220
mov rbx, qword [rsp + 0x620]
add rsp, 0x5e0
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret