Function at 0x1400ec740
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, 0xf8
mov r14, rcx
lea rdi, str.127.0.0.1:34254could_not_resolve_to_any_addresses
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0xf
lea rcx, [rsp + 0x30]
call fcn.140011320
mov rbx, rax
test bl, 1
je 0x1400ec82a
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x1400ec81e
mov rax, qword [rsp + 0x30]
lea rcx, [rsi - 1]
movzx edx, byte [rax]
inc rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
cmp dl, 0x3a
jne 0x1400ec81e
mov dword [rsp + 0x78], 0xa
mov qword [rsp + 0x68], 0
mov byte [rsp + 0x7c], 1
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x68]
call fcn.140011c10
cmp ax, 1
je 0x1400ec7e2
mov qword [rsp + 0x38], rsi
test ax, ax
je 0x1400ec82a
movabs rax, 0xffffffff00
and rbx, rax
shr rbx, 8
movzx eax, dx
shl rax, 0x30
shl rbx, 0x10
or rbx, rax
mov eax, 1
or rax, rbx
test ax, ax
jne 0x1400ec836
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0xf
jmp 0x1400ec84a
xor eax, eax
mov qword [rsp + 0x38], rsi
test ax, ax
jne 0x1400ec7e2
xor ebx, ebx
xor eax, eax
or rax, rbx
test ax, ax
je 0x1400ec80e
movzx eax, ax
cmp eax, 1
jne 0x1400ec84a
cmp qword [rsp + 0x38], 0
je 0x1400ec923
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], 0xf
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x88], 1
movabs rax, 0x3a0000003a
mov qword [rsp + 0x90], rax
mov bl, 0x3a
mov r8d, 0xf
jmp 0x1400ec896
cmp r8, 0xf
ja 0x1400ec8fd
mov cl, 0x3a
mov rdx, rdi
call fcn.140014160
cmp rax, 1
jne 0x1400ec8fd
mov r8, rdx
cmp rdx, 0xf
jae 0x1400ec890
cmp byte [r8 + rdi], bl
jne 0x1400ec890
lea rax, [r8 + 1]
lea rcx, str.invalid_port_value
cmp rax, 0xf
je 0x1400ec904
lea r9, [r8 + rdi]
inc r9
movzx edx, byte [r9]
mov r10d, 0xf
cmp edx, 0x2d
je 0x1400eccca
cmp edx, 0x2b
jne 0x1400eccd4
cmp rax, 0xe
je 0x1400ec904
inc r9
mov r10d, 0xe
jmp 0x1400eccd4
lea rcx, str.invalid_socket_address
mov qword [r14 + 8], rcx
mov qword [r14], 1
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x58], r14
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rax
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400ec96b
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400ece78
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400ece78
mov word [rax], 0
mov rdx, rbx
shr rdx, 0x10
and rdx, 0xffffffffffffff00
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
or rcx, rdx
shr rbx, 0x30
mov word [rax + 6], bx
mov dword [rax + 2], ecx
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xb0]
mov dword [rax + 0x10], ecx
mov dword [rax + 0x14], 0
mov rcx, rax
add rcx, 0x20
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 1
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa0], rax
mov r13, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rax
cmp r13, rax
je 0x1400ecc73
xor ebx, ebx
jmp 0x1400eca7d
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
dec rbx
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
nop word cs:[rax + rax]
shl r15, 0x20
or r15, 2
add r13, 0x20
mov rbx, r15
cmp r13, qword [rsp + 0xd8]
je 0x1400ecc76
movzx esi, word [r13]
cmp si, 2
je 0x1400eccba
mov edi, dword [r13 + 0x14]
mov r15d, dword [r13 + 0x18]
movzx r14d, word [r13 + 0x1c]
movzx eax, word [r13 + 0x12]
mov word [rsp + 0x40], ax
movups xmm0, xmmword [r13 + 2]
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [0x1401be0f0]
cmp rax, 3
jne 0x1400ecc62
test si, si
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 0x1400ecb20
test si, si
je 0x1400ecba0
mov r8d, 0x1c
mov ax, 0x17
movups xmm0, xmmword [rsp + 0x32]
jmp 0x1400ecbb7
mov dword [rsp + 0x64], r15d
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x2739
je 0x1400ecb3f
mov r15d, eax
cmp eax, 0x2726
jne 0x1400ecbfe
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 0x1400ecc50
mov r12, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.kernel32.dll_SetHandleInformation
test eax, eax
je 0x1400ecc6c
mov r15d, dword [rsp + 0x64]
test si, si
jne 0x1400ecb02
nop word cs:[rax + rax]
movzx r14d, word [rsp + 0x34]
mov edi, dword [rsp + 0x30]
mov r8d, 0x10
mov ax, 2
xorps xmm0, xmm0
rol r14w, 8
mov word [rsp + 0x68], ax
mov word [rsp + 0x6a], r14w
mov dword [rsp + 0x6c], edi
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x80], r15d
mov rcx, r12
lea rdx, [rsp + 0x68]
call sub.ws2_32.dll_bind
cmp eax, 0xffffffff
jne 0x1400ecd81
call sub.ws2_32.dll_WSAGetLastError
mov r15d, eax
mov rcx, r12
call fcn.1401430dc
test rbx, rbx
je 0x1400eca60
mov eax, ebx
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400eca60
test rax, rax
je 0x1400eca60
mov r12, qword [rbx - 1]
mov rsi, qword [rbx + 7]
mov rcx, r12
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400eca40
cmp qword [rsi + 0x10], 0x11
jb 0x1400eca2f
mov r12, qword [r12 - 8]
jmp 0x1400eca2f
call sub.ws2_32.dll_WSAGetLastError
mov r15d, eax
test rbx, rbx
jne 0x1400ecc07
jmp 0x1400eca60
call fcn.140111e60
jmp 0x1400ecabe
call sub.kernel32.dll_GetLastError
jmp 0x1400ecbf3
xor r15d, r15d
cmp qword [rsp + 0xa0], 0
je 0x1400ecc97
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call sub.kernel32.dll_HeapFree
test r15, r15
lea rax, [0x1401831e0]
cmovne rax, r15
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 8], rax
mov qword [rcx], 1
jmp 0x1400ec90f
mov r15, rbx
cmp qword [rsp + 0xa0], 0
jne 0x1400ecc81
jmp 0x1400ecc97
cmp rax, 0xe
je 0x1400ec904
sub r10, rax
cmp r10, 5
jae 0x1400ecd47
xor edx, edx
xor eax, eax
nop word cs:[rax + rax]
movzx r11d, byte [r9 + rdx]
add r11d, 0xffffffd0
cmp r11d, 9
ja 0x1400ec904
add eax, eax
lea eax, [rax + rax*4]
add eax, r11d
inc rdx
cmp r10, rdx
jne 0x1400eccf0
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], r8
mov word [rsp + 0x78], ax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x68]
call fcn.140111760
cmp qword [rsp + 0x30], 0
je 0x1400ece21
mov rcx, qword [rsp + 0x38]
jmp 0x1400ec904
xor r11d, r11d
mov si, 0xa
xor eax, eax
cmp r10, r11
je 0x1400ecd13
movzx ebx, byte [r9 + r11]
mul si
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x1400ec904
test dl, dl
jne 0x1400ec904
inc r11
add ax, bx
jae 0x1400ecd50
jmp 0x1400ec904
mov rax, qword [rsp + 0x58]
mov qword [rax + 8], r12
mov qword [rax], 0
cmp qword [rsp + 0xa0], 0
je 0x1400ecdb2
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call sub.kernel32.dll_HeapFree
test rbx, rbx
je 0x1400ec90f
mov eax, ebx
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400ec90f
test rax, rax
je 0x1400ec90f
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 0x1400ece0b
cmp qword [rbx + 0x10], 0x11
jb 0x1400ecdfa
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
jmp 0x1400ec90f
mov qword [rsp + 0x58], r14
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0xe0], rax
lea rcx, [rsp + 0xb8]
lea rdx, [rsp + 0xe0]
call fcn.140111950
mov rax, qword [rsp + 0xb8]
test rax, rax
jne 0x1400ec9f2
mov rcx, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x58]
jmp 0x1400ec904
mov ecx, 4
mov edx, 0x20
call fcn.140007810
ud2