Function at 0x4187d0
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rsi, rcx
lea rdx, str.127.0.0.1:0could_not_resolve_to_any_addresses
lea rcx, [rsp + 0x50]
mov r8d, 0xb
call fcn.0046a5d0
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x418a62
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rsi
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov r13, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x90], rax
cmp r13, rax
je 0x418a74
xor ebx, ebx
jmp 0x418882
mov rcx, qword [0x004ac108]
xor edx, edx
mov r8, r12
call fcn.0049062c
dec rbx
mov rcx, qword [0x004ac108]
xor edx, edx
mov r8, rbx
call fcn.0049062c
shl r15, 0x20
or r15, 2
add r13, 0x20
mov rbx, r15
cmp r13, qword [rsp + 0x90]
je 0x418a77
movzx edi, word [r13]
cmp di, 2
je 0x418ac4
mov esi, dword [r13 + 0x14]
mov r15d, dword [r13 + 0x18]
movzx r14d, word [r13 + 0x1c]
movzx eax, word [r13 + 0x12]
mov word [rsp + 0x80], ax
movups xmm0, xmmword [r13 + 2]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [0x004ac110]
cmp rax, 3
jne 0x418a51
test di, di
mov ebp, 0x17
mov eax, 2
cmove ebp, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.WS2_32.dll_WSASocketW
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x418920
test di, di
je 0x4189a0
mov r8d, 0x1c
mov ax, 0x17
movups xmm0, xmmword [rsp + 0x72]
jmp 0x4189b7
mov dword [rsp + 0x34], r15d
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2739
je 0x41893f
mov r15d, eax
cmp eax, 0x2726
jne 0x4189fb
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.WS2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x418a3f
mov r12, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
test eax, eax
je 0x418a5b
mov r15d, dword [rsp + 0x34]
test di, di
jne 0x41890a
nop word cs:[rax + rax]
movzx r14d, word [rsp + 0x74]
mov esi, dword [rsp + 0x70]
mov r8d, 0x10
mov ax, 2
xorps xmm0, xmm0
rol r14w, 8
mov word [rsp + 0x50], ax
mov word [rsp + 0x52], r14w
mov dword [rsp + 0x54], esi
movups xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x68], r15d
mov rcx, r12
lea rdx, [rsp + 0x50]
call sub.WS2_32.dll_bind
cmp eax, 0xffffffff
jne 0x418ad1
call sub.WS2_32.dll_WSAGetLastError
mov r15d, eax
mov rcx, r12
call fcn.0049080c
test rbx, rbx
je 0x418865
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x418865
mov r12, qword [rbx - 1]
mov rsi, qword [rbx + 7]
mov rcx, r12
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x418851
cmp qword [rsi + 0x10], 0x11
jb 0x418840
mov r12, qword [r12 - 8]
jmp 0x418840
call sub.WS2_32.dll_WSAGetLastError
mov r15d, eax
test rbx, rbx
jne 0x418a04
jmp 0x418865
call fcn.0046a190
jmp 0x4188c6
call fcn.0049068c
jmp 0x4189f0
mov rax, qword [rsp + 0x58]
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x418ab0
xor r15d, r15d
cmp qword [rsp + 0x40], 0
je 0x418a92
mov rcx, qword [0x004ac108]
xor edx, edx
mov r8, qword [rsp + 0x38]
call fcn.0049062c
test r15, r15
lea rax, [0x00498a48]
cmovne rax, r15
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 8], rax
mov qword [rcx], 1
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r15, rbx
cmp qword [rsp + 0x40], 0
jne 0x418a7f
jmp 0x418a92
mov rax, qword [rsp + 0x48]
mov qword [rax + 8], r12
mov qword [rax], 0
cmp qword [rsp + 0x40], 0
je 0x418afc
mov rcx, qword [0x004ac108]
xor edx, edx
mov r8, qword [rsp + 0x38]
call fcn.0049062c
test rbx, rbx
je 0x418ab0
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x418ab0
lea rsi, [rbx - 1]
mov rdi, qword [rbx - 1]
mov rbx, qword [rbx + 7]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x418b3f
cmp qword [rbx + 0x10], 0x11
jb 0x418b2e
mov rdi, qword [rdi - 8]
mov rcx, qword [0x004ac108]
xor edx, edx
mov r8, rdi
call fcn.0049062c
mov rcx, qword [0x004ac108]
xor edx, edx
mov r8, rsi
call fcn.0049062c
jmp 0x418ab0