Function at 0x14009955c
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
cmp dword [rcx + 0xcc68], 0
mov rbx, rcx
mov edi, 4
jne 0x14009960f
cmp rdx, 0xffffffffffffffff
jne 0x14009959d
lea rax, str.Bad_socket_provided
mov qword [rcx + 0x218], rax
lea eax, [rdi - 0x31]
mov dword [rcx + 0x220], eax
jmp 0x14009980a
mov qword [rcx + 0x200], rdx
lea rax, [rsp + 0x50]
movsxd rcx, edx
lea r9, [rsp + 0x60]
mov edx, 0xffff
mov r8d, 0x1007
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], edi
call qword [sym.imp.WS2_32.dll_getsockopt]
mov ecx, dword [rsp + 0x60]
test eax, eax
mov edx, 1
cmovne ecx, edx
xor eax, eax
test ecx, ecx
sete al
mov dword [rbx + 0x210], eax
test eax, eax
je 0x140099605
mov rcx, qword [rbx + 0x200]
mov dword [rsp + 0x50], edx
lea r8, [rsp + 0x50]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [rbx + 0xcc68], 2
cmp dword [rbx + 0xcc68], 2
jne 0x14009964e
mov rcx, rbx
call fcn.140099140
test eax, eax
je 0x14009963d
lea rcx, str.Failed_sending_banner
mov qword [rbx + 0x218], rcx
mov dword [rbx + 0x220], eax
jmp 0x14009980a
and dword [rbx + 0xcb40], 0
mov dword [rbx + 0xcc68], 3
cmp dword [rbx + 0xcc68], 3
jne 0x140099684
mov rcx, rbx
call fcn.140098f88
test eax, eax
jne 0x1400996aa
mov rdx, qword [rbx + 0xe8]
lea rcx, str.SSH_
mov r8, rdi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x140099657
mov dword [rbx + 0xcc68], edi
cmp dword [rbx + 0xcc68], edi
jne 0x1400996c0
lea r8, [rbx + 0xccb0]
xor edx, edx
mov rcx, rbx
call fcn.1400962e8
test eax, eax
je 0x1400996b6
lea rcx, str.Unable_to_exchange_encryption_keys
jmp 0x14009962b
lea rcx, str.Failed_getting_banner
jmp 0x14009962b
mov dword [rbx + 0xcc68], 5
cmp dword [rbx + 0xcc68], 5
jne 0x1400996fe
mov dword [rbx + 0xcc80], 5
lea rcx, [rbx + 0xcc85]
lea rdx, str.ssh_userauth
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov byte [rbx + 0xcc84], 0xc
call qword [sym.imp.msvcrt.dll_memcpy]
mov dword [rbx + 0xcc68], 6
cmp dword [rbx + 0xcc68], 6
jne 0x14009973d
and qword [rsp + 0x20], 0
xor r9d, r9d
lea rdx, [rbx + 0xcc80]
lea r8d, [r9 + 0x11]
mov rcx, rbx
call fcn.14009d87c
test eax, eax
je 0x140099733
lea rcx, str.Unable_to_ask_for_ssh_userauth_service
jmp 0x14009962b
mov dword [rbx + 0xcc68], 7
cmp dword [rbx + 0xcc68], 7
jne 0x140099805
lea rax, [rbx + 0xcca0]
lea rdi, [rbx + 0xcc70]
lea r9, [rbx + 0xcc78]
mov dl, 6
mov rcx, rbx
mov r8, rdi
mov qword [rsp + 0x38], rax
call fcn.140097e0c
test eax, eax
jne 0x14009980a
mov r9, qword [rdi]
movzx eax, byte [r9 + 1]
movzx edx, byte [r9 + 2]
shl eax, 8
or edx, eax
movzx eax, byte [r9 + 3]
shl edx, 8
or edx, eax
movzx eax, byte [r9 + 4]
shl edx, 8
or rdx, rax
mov qword [rbx + 0xcc98], rdx
cmp rdx, 0xc
jne 0x1400997e0
lea rdx, [r9 + 5]
lea rcx, str.ssh_userauth
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x1400997e0
mov rcx, qword [rdi]
mov rdx, rbx
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayGetElement]
and qword [rdi], 0
and dword [rbx + 0xcc68], 0
xor eax, eax
jmp 0x14009980a
mov rcx, qword [rdi]
mov rdx, rbx
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayGetElement]
and qword [rdi], 0
lea rax, str.Invalid_response_received_from_server
mov qword [rbx + 0x218], rax
mov eax, 0xfffffff2
jmp 0x140099632
mov eax, 0xffffffde
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret