Function at 0x140078610
Capabilities:
Set socket configuration

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
vmovups xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov bl, r9b
mov rsi, r8
vxorps xmm6, xmm6, xmm6
vmovups xmmword [rcx + 0x10], xmm6
mov dword [rcx + 0x38], 2
mov byte [rcx + 0x3c], 0
vmovups xmmword [rcx + 0x48], xmm6
mov dword [rcx + 0x58], 0
mov qword [rbp - 0x30], rcx
mov qword [rcx + 0x40], 2
mov rcx, qword [rdx + 8]
lea rax, vtable.type_info.0
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 0
lea r8, [0x140079ec0]
lea rdx, [rbp - 0x40]
call fcn.140079f80
mov rdi, rax
mov r14, rax
mov r15, qword [rbp - 0x30]
mov qword [r15 + 0x60], rdi
mov qword [r15], 0xffffffffffffffff
mov byte [r15 + 8], 0
mov rax, qword [r15 + 0x18]
vmovups xmmword [r15 + 0x10], xmm6
test rax, rax
je 0x1400786e2
lock dec dword [rax + 8]
jne 0x1400786e2
mov rdx, qword [rax]
mov qword [rbp - 0x48], rsi
mov esi, ebx
mov rbx, rax
mov rcx, rax
call qword [rdx]
mov rcx, rbx
mov ebx, esi
mov rsi, qword [rbp - 0x48]
lock dec dword [rcx + 0xc]
jne 0x1400786e2
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 0x48
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [r14 + 0x70]
mov qword [r15 + 0x28], rax
mov qword [r15 + 0x30], 0
test rax, rax
je 0x140078708
mov qword [rax + 0x30], r15
mov qword [r14 + 0x70], r15
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [rbp - 0x28], 0
lea r14, [0x140223e70]
mov qword [rbp - 0x20], r14
cmp word [rsi], 2
mov eax, 2
mov edi, 0x17
cmove edi, eax
mov rcx, qword [r15 + 0x60]
add rcx, 0x28
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 6
mov dword [rsp + 0x20], 1
lea rdx, [rbp - 0x40]
mov r8, r15
mov r9d, edi
call fcn.14007a7c0
cmp dword [rbp - 0x40], 0
je 0x140078776
cmp dword [rbp - 0x28], 0
jne 0x1400787a2
jmp 0x1400787b2
mov rcx, qword [rbp - 0x30]
lea rax, [rcx + 0x48]
mov dword [rcx + 0x38], edi
mov byte [rcx + 0x3c], 0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
mov dword [rax + 0x10], 0
mov qword [rcx + 0x40], 2
cmp dword [rbp - 0x28], 0
je 0x1400787b2
lea rdx, str.open
lea rcx, [rbp - 0x28]
call fcn.140077900
test bl, bl
je 0x140078845
mov dword [rbp - 0x40], 1
mov rax, qword [rbp - 0x30]
mov rdi, qword [rax]
cmp rdi, 0xffffffffffffffff
je 0x140078816
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x20], 4
lea r9, [rbp - 0x40]
mov rcx, rdi
mov edx, 0xffff
mov r8d, 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov edi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x28], eax
lea rcx, str.P__
mov qword [rbp - 0x20], rcx
test edi, edi
je 0x14007883a
test eax, eax
jne 0x140078828
jmp 0x140078845
mov dword [rbp - 0x28], 0x2719
lea rax, str.P__
mov qword [rbp - 0x20], rax
lea rdx, str.set_option
lea rcx, [rbp - 0x28]
call fcn.140077900
jmp 0x140078845
mov dword [rbp - 0x28], 0
mov qword [rbp - 0x20], r14
mov rax, qword [rbp - 0x30]
mov rdi, qword [rax]
cmp rdi, 0xffffffffffffffff
je 0x14007889c
movzx ebx, word [rsi]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
cmp bx, 2
mov eax, select
mov r8d, 0x1c
cmove r8d, eax
mov rcx, rdi
mov rdx, rsi
call qword [sym.imp.WS2_32.dll_bind]
mov esi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x28], eax
lea rcx, str.P__
mov qword [rbp - 0x20], rcx
test esi, esi
je 0x1400788c0
test eax, eax
jne 0x1400788ae
jmp 0x1400788cb
mov dword [rbp - 0x28], 0x2719
lea rax, str.P__
mov qword [rbp - 0x20], rax
lea rdx, str.bind
lea rcx, [rbp - 0x28]
call fcn.140077900
jmp 0x1400788cb
mov dword [rbp - 0x28], 0
mov qword [rbp - 0x20], r14
mov rax, qword [rbp - 0x30]
mov rsi, qword [rax]
cmp rsi, 0xffffffffffffffff
je 0x14007890e
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, rsi
mov edx, 0x7fffffff
call qword [sym.imp.WS2_32.dll_listen]
mov esi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp - 0x28], eax
lea rcx, str.P__
mov qword [rbp - 0x20], rcx
test esi, esi
je 0x140078930
test eax, eax
jne 0x140078920
jmp 0x140078930
mov dword [rbp - 0x28], 0x2719
lea rax, str.P__
mov qword [rbp - 0x20], rax
lea rdx, str.listen
lea rcx, [rbp - 0x28]
call fcn.140077900
mov rax, qword [rbp - 0x30]
vmovups xmm6, xmmword [rbp - 0x10]
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret