Function at 0x1400c8938
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x2f]
sub rsp, 0x98
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov esi, dword [rbp + 0x77]
mov rdi, rcx
mov qword [rbp - 0x31], rcx
mov ecx, IUnknown_GetWindow
mov qword [rbp - 0x21], r9
mov dword [rbp - 0x35], r8d
mov dword [rbp - 0x39], esi
mov qword [rbp - 0x19], rdx
mov dword [rbp - 0x25], 1
call qword [sym.imp.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__]
xor ecx, ecx
mov rbx, rax
test rax, rax
je 0x1400c8998
lea rax, vtable.ssh::SSocket.0
mov qword [rbx], rax
jmp 0x1400c899b
mov rbx, rcx
mov rax, qword [rbp - 0x21]
mov qword [rbx + 8], rcx
mov edx, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov qword [rbx + 0x18], rax
lea eax, [rdx - 0x15]
mov qword [rbx + 0x20], rdi
cmp dword [rbp + 0x7f], eax
mov qword [rbx + 0x38], rcx
mov qword [rbx + 0x30], rcx
mov dword [rbx + 0x40], ecx
mov dword [rbx + 0x58], esi
mov esi, ecx
cmove esi, edx
cmp dword [rbp + 0x7f], 1
mov qword [rbx + 0x4c], rcx
cmove esi, eax
mov dword [rbx + 0x60], ecx
mov dword [rbx + 0x54], ecx
mov dword [rbx + 0x94], ecx
mov qword [rbx + 0xa0], rcx
mov qword [rbx + 0x98], rcx
mov qword [rbx + 0x78], rcx
test esi, esi
lea edx, [rax - 1]
cmove esi, eax
xor r8d, r8d
mov ecx, esi
mov dword [rbp - 0x29], esi
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
mov qword [rbx + 0x10], rax
cmp rax, 0xffffffffffffffff
jne 0x1400c8a2b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rax, str.Network_error__winsock_.
mov qword [rbx + 8], rax
jmp 0x1400c8be9
and dword [rbx + 0x64], 0
mov r8d, 4
lea r9, [rbp - 0x25]
mov edx, 0xffff
mov rcx, rax
mov dword [rsp + 0x20], r8d
call qword [sym.imp.WS2_32.dll_setsockopt]
mov eax, 0x1c
cmp esi, 0x17
jne 0x1400c8a96
lea rcx, [rbp - 1]
mov r8d, eax
xor edx, edx
call qword [sym.imp.msvcrt.dll_memset]
cmp dword [rbp - 0x39], 0
mov eax, esi
mov word [rbp - 1], ax
je 0x1400c8a7a
movups xmm0, xmmword [0x14010ccb0]
jmp 0x1400c8a81
movups xmm0, xmmword [0x14010ccc0]
movzx ecx, word [rbp - 0x35]
movdqu xmmword [rbp + 7], xmm0
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 1], ax
jmp 0x1400c8afb
mov eax, 2
mov word [rbp - 0x11], ax
mov rax, qword [rbp - 0x19]
test rax, rax
je 0x1400c8ad5
mov rcx, rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rbp - 0xd], eax
cmp eax, 0xffffffff
je 0x1400c8ad5
mov ecx, eax
call qword [sym.imp.WS2_32.dll_ntohl]
xor ecx, ecx
and eax, 0xff000000
cmp eax, 0x7f000000
sete cl
mov dword [rbx + 0x58], ecx
jmp 0x1400c8aed
cmp dword [rbp - 0x39], 0
je 0x1400c8ae2
mov ecx, 0x7f000001
jmp 0x1400c8ae4
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp - 0xd], eax
movzx ecx, word [rbp - 0x35]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp - 0xf], ax
mov ecx, reloc.OLEAUT32.dll_SafeArrayUnaccessData
lea rdx, [rbp - 1]
lea eax, [rcx + 5]
cmp esi, ecx
lea r8d, [rcx - 7]
cmove r8d, eax
lea rax, [rbp - 0x11]
mov rcx, rdi
cmovne rdx, rax
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x1400c8b3f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x1400c8b3f
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x1400c8a1b
mov edx, 0x7fffffff
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x1400c8b31
mov rcx, qword [rbp - 0x31]
mov r8b, 1
mov rdx, rdi
call fcn.1400c8858
mov rsi, rax
test rax, rax
je 0x1400c8b78
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx + 8], rsi
jmp 0x1400c8be9
mov rax, qword [rbp - 0x31]
xor edi, edi
mov rcx, qword [rax]
cmp qword [rcx + 8], rdi
je 0x1400c8b97
or r8d, 0xffffffff
mov rdx, rbx
call fcn.1400c71e0
mov rax, qword [rbp - 0x31]
mov ecx, 2
cmp dword [rbp - 0x29], ecx
jne 0x1400c8be9
cmp dword [rbp + 0x7f], edi
jne 0x1400c8be9
mov r9, qword [rbp - 0x21]
mov r8d, dword [rbp - 0x35]
mov rdx, qword [rbp - 0x19]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbp - 0x39]
mov dword [rsp + 0x20], ecx
mov rcx, rax
call fcn.1400c8938
test rax, rax
je 0x1400c8be9
cmp qword [rax + 8], rdi
jne 0x1400c8be0
mov qword [rax + 0x98], rbx
mov qword [rbx + 0xa0], rax
jmp 0x1400c8be9
mov rcx, rax
call qword [sym.imp.msvcrt.dll_free]
mov rax, rbx
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.140001010
add rsp, 0x98
pop rdi
pop rsi
pop rbx
pop rbp
ret