Function at 0x140080b40
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
movzx r13d, r9b
mov r15, r8
mov rdi, rcx
mov r9, rdx
xor r8d, r8d
xor edx, edx
call fcn.140080f50
nop
movzx ebx, word [r15]
mov eax, 0x17
mov r12d, 2
cmp bx, r12w
cmovne r12d, eax
mov rax, qword [rdi]
mov qword [rbp - 0x30], rax
cmp qword [rdi + 8], 0xffffffffffffffff
je 0x140080bb7
call fcn.1400b0580
mov dword [rbp - 0x20], 1
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
jmp 0x140080e3d
mov dword [rsp + 0x28], 1
xor r14d, r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov edx, 1
mov r8d, 6
mov ecx, r12d
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov rsi, rax
lea rax, [0x1401405e8]
cmp rsi, 0xffffffffffffffff
je 0x140080c22
mov dword [rbp - 0x20], r14d
mov qword [rbp - 0x18], rax
cmp bx, 2
je 0x140080c4a
mov dword [rbp + 0x50], r14d
mov dword [rsp + 0x20], 4
lea r9, [rbp + 0x50]
mov edx, 0x29
mov r8d, 0x1b
mov rcx, rsi
call qword [sym.imp.WSOCK32.dll_setsockopt]
jmp 0x140080c4a
call fcn.1400b0a10
mov rbx, rax
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov r14d, eax
mov dword [rbp - 0x20], eax
mov qword [rbp - 0x18], rbx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
mov rsi, 0xffffffffffffffff
mov qword [rbp + 0x50], rsi
cmp rsi, 0xffffffffffffffff
jne 0x140080cb7
lea rcx, [rbp + 0x50]
call fcn.140099cd0
test r14d, r14d
jne 0x140080e3d
xor eax, eax
mov dword [rdi + 0x40], r12d
mov byte [rdi + 0x44], 0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
mov qword [rbp - 0x20], 2
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rdi + 0x48], xmm0
unpckhpd xmm1, xmm1
movsd qword [rdi + 0x58], xmm1
mov dword [rdi + 0x60], eax
test r13b, r13b
je 0x140080d81
mov dword [rbp + 0x50], 1
mov rcx, qword [rdi + 8]
cmp rcx, 0xffffffffffffffff
je 0x140080e4e
jmp 0x140080d3a
mov rdx, qword [rbp - 0x30]
mov rdx, qword [rdx + 0x30]
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rdx + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
jne 0x140080cfc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.1400b0a10
mov dword [rbp - 0x20], ebx
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
test ebx, ebx
jne 0x140080e34
mov qword [rbp + 0x50], 0xffffffffffffffff
mov qword [rdi + 8], rsi
mov byte [rdi + select], 0x10
lea rcx, [rdi + 0x18]
movzx r8d, byte [rbp + 0x40]
xor edx, edx
call fcn.14008e9d0
xor eax, eax
mov dword [rbp - 0x20], eax
lea rcx, [0x1401405e8]
mov qword [rbp - 0x18], rcx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
jmp 0x140080c68
mov dword [rsp + 0x20], 4
lea r9, [rbp + 0x50]
mov edx, 0xffff
mov r8d, 4
call qword [sym.imp.WSOCK32.dll_setsockopt]
test eax, eax
je 0x140080d81
call fcn.1400b0a10
mov rbx, rax
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [rbp - 0x20], eax
mov qword [rbp - 0x18], rbx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
test eax, eax
jne 0x140080e67
mov rcx, qword [rdi + 8]
cmp rcx, 0xffffffffffffffff
je 0x140080e78
mov eax, 0x1c
mov r8d, select
cmp word [r15], 2
cmovne r8d, eax
mov rdx, r15
call qword [sym.imp.WSOCK32.dll_bind]
test eax, eax
je 0x140080dd6
call fcn.1400b0a10
mov rbx, rax
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [rbp - 0x20], eax
mov qword [rbp - 0x18], rbx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
test eax, eax
jne 0x140080e91
mov rcx, qword [rdi + 8]
cmp rcx, 0xffffffffffffffff
je 0x140080ea2
mov edx, 0x7fffffff
call qword [sym.imp.WSOCK32.dll_listen]
test eax, eax
je 0x140080e19
call fcn.1400b0a10
mov rbx, rax
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [rbp - 0x20], eax
mov qword [rbp - 0x18], rbx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
test eax, eax
jne 0x140080ebb
mov rax, rdi
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rbp + 0x50]
call fcn.140099cd0
lea rdx, [0x140113078]
lea rcx, [rbp - 0x20]
call fcn.1400abaa0
int3
call fcn.1400b0a10
mov dword [rbp - 0x20], 0x2719
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, str.set_option
lea rcx, [rbp - 0x20]
call fcn.1400abaa0
int3
call fcn.1400b0a10
mov dword [rbp - 0x20], 0x2719
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, str.bind
lea rcx, [rbp - 0x20]
call fcn.1400abaa0
int3
call fcn.1400b0a10
mov dword [rbp - 0x20], 0x2719
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, str.listen
lea rcx, [rbp - 0x20]
call fcn.1400abaa0
int3