Function at 0x140012c00
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x20], r9b
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rsi, r8
mov r14, rcx
mov r9, rdx
call fcn.140015dd0
nop
xor ebx, ebx
mov dword [rbp - 0x20], ebx
mov byte [rbp - 0x1c], bl
lea r15, [0x1400ccf38]
mov qword [rbp - 0x18], r15
mov eax, 2
mov ecx, reloc.WS2_32.dll_socket
cmp word [rsi], ax
cmovne eax, ecx
mov dword [rbp + 0x58], eax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x58]
lea r8, [r14 + 8]
lea rdx, [rbp - 0x10]
mov rcx, qword [r14]
call fcn.140014610
cmp byte [rbp - 0x1c], bl
jne 0x140012e63
mov dword [rbp + 0x58], 1
mov rcx, qword [r14 + 8]
movabs r13, 0x8fafd21e25c5e09b
movabs r12, 0xb2ab117a257edf0d
cmp rcx, 0xffffffffffffffff
jne 0x140012cae
mov dword [rbp - 0x20], 0x2719
mov byte [rbp - 0x1c], 1
jmp 0x140012d0a
mov dword [rsp + 0x20], 4
lea r9, [rbp + 0x58]
mov edx, 0xffff
mov r8d, 4
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x140012cfb
mov dword [rbp - 0x20], ebx
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbx + 8]
cmp rax, r13
je 0x140012cf4
cmp rax, r12
je 0x140012cf4
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + Ordinal_50]
mov byte [rbp - 0x1c], al
jmp 0x140012d1b
xor al, al
mov byte [rbp - 0x1c], al
jmp 0x140012d1b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x20], eax
test eax, eax
setne byte [rbp - 0x1c]
mov qword [rbp - 0x18], r15
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x20]
shr rax, 0x20
test al, al
jne 0x140012e74
mov rcx, qword [r14 + 8]
cmp rcx, 0xffffffffffffffff
jne 0x140012d42
mov dword [rbp - 0x20], 0x2719
mov byte [rbp - 0x1c], 1
jmp 0x140012d99
mov eax, Ordinal_32
mov r8d, reloc.WS2_32.dll_recv
cmp word [rsi], 2
cmovne r8d, eax
mov rdx, rsi
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x140012d8a
mov dword [rbp - 0x20], eax
mov rax, qword [rbx + 8]
cmp rax, r13
je 0x140012d83
cmp rax, r12
je 0x140012d83
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + Ordinal_50]
mov byte [rbp - 0x1c], al
jmp 0x140012da9
xor al, al
mov byte [rbp - 0x1c], al
jmp 0x140012da9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x20], eax
test eax, eax
setne byte [rbp - 0x1c]
mov qword [rbp - 0x18], r15
movaps xmm0, xmmword [rbp - 0x20]
mov rbx, r15
movdqa xmmword [rbp - 0x20], xmm0
mov rax, qword [rbp - 0x20]
shr rax, 0x20
test al, al
jne 0x140012e85
mov rcx, qword [r14 + 8]
cmp rcx, 0xffffffffffffffff
jne 0x140012dd0
mov dword [rbp - 0x20], 0x2719
mov byte [rbp - 0x1c], 1
jmp 0x140012e1e
mov edx, 0x7fffffff
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
jne 0x140012e0f
mov dword [rbp - 0x20], eax
mov rax, qword [rbx + 8]
cmp rax, r13
je 0x140012e04
cmp rax, r12
je 0x140012e04
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + Ordinal_50]
mov byte [rbp - 0x1c], al
mov qword [rbp - 0x18], rbx
jmp 0x140012e2b
xor al, al
mov byte [rbp - 0x1c], al
mov qword [rbp - 0x18], rbx
jmp 0x140012e2b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x20], eax
test eax, eax
setne byte [rbp - 0x1c]
mov qword [rbp - 0x18], r15
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
mov rax, qword [rbp - 0x20]
shr rax, 0x20
test al, al
jne 0x140012e52
mov rax, r14
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.listen
lea rcx, [rbp - 0x20]
call fcn.140002b70
int3
lea rdx, str.open
lea rcx, [rbp - 0x20]
call fcn.140002b70
int3
lea rdx, str.set_option
lea rcx, [rbp - 0x20]
call fcn.140002b70
int3
lea rdx, str.bind
lea rcx, [rbp - 0x20]
call fcn.140002b70
int3