Function at 0x180017e40
Capabilities:
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xc0
mov rax, qword [0x180059300]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x38], 0xffffffffffffffff
lea rax, [rsp + 0x60]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
lea rax, [rsp + 0x70]
mov rdi, rax
xor eax, eax
mov ecx, 0x40
rep stosb byte [rdi], al
mov dword [rsp + 0x44], 0
mov eax, 2
mov word [rsp + 0x60], ax
movzx ecx, word [0x18005a3c8]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x40], ax
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_htonl]
movzx ecx, word [rsp + 0x40]
movzx r9d, cx
mov r8d, eax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x60]
call fcn.18000c750
nop
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
mov r8d, 6
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0xffffffffffffffff
jne 0x180017f07
jmp 0x180018143
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x58]
mov r8d, 1
mov edx, 6
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
call qword [0x18005abd8]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180017f58
jmp 0x180018143
mov eax, 1
imul rax, rax, 0
mov byte [rsp + rax + 0x70], 5
mov eax, 1
imul rax, rax, 1
mov byte [rsp + rax + 0x70], 1
mov eax, 1
imul rax, rax, 2
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0x40
jae 0x180017f8c
jmp 0x180017f92
call fcn.18002415c
nop
mov rax, qword [rsp + 0x48]
mov byte [rsp + rax + 0x70], 0
mov r8d, 3
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
call fcn.18000cf60
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xffffffff
jne 0x180017fc1
jmp 0x180018143
lea rax, [rsp + 0x70]
mov rdi, rax
xor eax, eax
mov ecx, 2
rep stosb byte [rdi], al
mov r8d, 2
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
call fcn.18000cee0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xffffffff
jne 0x180017ff7
jmp 0x180018143
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rsp + rax + 0x70]
cmp eax, 5
jne 0x18001801c
mov eax, 1
imul rax, rax, 1
movzx eax, byte [rsp + rax + 0x70]
test eax, eax
je 0x180018021
jmp 0x180018143
lea rax, [rsp + 0x70]
mov rdi, rax
xor eax, eax
mov ecx, 0xa
rep stosb byte [rdi], al
mov eax, 1
imul rax, rax, 0
mov byte [rsp + rax + 0x70], 5
mov eax, 1
imul rax, rax, 1
mov byte [rsp + rax + 0x70], 1
mov eax, 1
imul rax, rax, 2
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0x40
jae 0x180018066
jmp 0x18001806c
call fcn.18002415c
nop
mov rax, qword [rsp + 0x50]
mov byte [rsp + rax + 0x70], 0
mov eax, 1
imul rax, rax, 3
mov byte [rsp + rax + 0x70], 1
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0xd0]
mov ecx, dword [rcx + 4]
mov dword [rsp + rax + 0x70], ecx
mov eax, 1
imul rax, rax, 8
mov rcx, qword [rsp + 0xd0]
movzx ecx, word [rcx + 2]
mov word [rsp + rax + 0x70], cx
mov r8d, 0xa
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
call fcn.18000cf60
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xffffffff
jne 0x1800180d8
jmp 0x180018143
lea rax, [rsp + 0x70]
mov rdi, rax
xor eax, eax
mov ecx, 0xa
rep stosb byte [rdi], al
mov r8d, 0xa
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
call fcn.18000cee0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xffffffff
jne 0x18001810b
jmp 0x180018143
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rsp + rax + 0x70]
cmp eax, 5
jne 0x180018130
mov eax, 1
imul rax, rax, 1
movzx eax, byte [rsp + rax + 0x70]
test eax, eax
je 0x180018132
jmp 0x180018143
mov rax, qword [rsp + 0x38]
jmp 0x18001815e
cmp qword [rsp + 0x38], 0xffffffffffffffff
je 0x180018157
mov rcx, qword [rsp + 0x38]
call qword [0x18005ac08]
nop
mov rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.180024000
add rsp, 0xc0
pop rdi
ret