Function at 0x1400e87d0
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.140019e60
mov rbx, rax
test bl, 1
je 0x1400e88ba
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x1400e88ae
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 0x1400e88ae
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.14001a750
cmp ax, 1
je 0x1400e8872
mov qword [rsp + 0x38], rsi
test ax, ax
je 0x1400e88ba
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 0x1400e88c6
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0xf
jmp 0x1400e88da
xor eax, eax
mov qword [rsp + 0x38], rsi
test ax, ax
jne 0x1400e8872
xor ebx, ebx
xor eax, eax
or rax, rbx
test ax, ax
je 0x1400e889e
movzx eax, ax
cmp eax, 1
jne 0x1400e88da
cmp qword [rsp + 0x38], 0
je 0x1400e89b3
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 0x1400e8926
cmp r8, 0xf
ja 0x1400e898d
mov cl, 0x3a
mov rdx, rdi
call fcn.14001cb00
cmp rax, 1
jne 0x1400e898d
mov r8, rdx
cmp rdx, 0xf
jae 0x1400e8920
cmp byte [r8 + rdi], bl
jne 0x1400e8920
lea rax, [r8 + 1]
lea rcx, str.invalid_port_value
cmp rax, 0xf
je 0x1400e8994
lea r9, [r8 + rdi]
inc r9
movzx edx, byte [r9]
mov r10d, 0xf
cmp edx, 0x2d
je 0x1400e8d52
cmp edx, 0x2b
jne 0x1400e8d5c
cmp rax, 0xe
je 0x1400e8994
inc r9
mov r10d, 0xe
jmp 0x1400e8d5c
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 [0x1401de2b8]
mov rcx, qword [0x1401de220]
test rcx, rcx
jne 0x1400e89fc
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1400e8eed
mov rcx, rax
mov qword [0x1401de220], rax
mov r8d, 0x20
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1400e8eed
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 0x1400e8cfa
xor ebx, ebx
jmp 0x1400e8b14
mov rcx, qword [0x1401de220]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
dec rbx
mov rcx, qword [0x1401de220]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
shl r15, 0x20
or r15, 2
add r13, 0x20
mov rbx, r15
cmp r13, qword [rsp + 0xd8]
je 0x1400e8cfd
movzx esi, word [r13]
cmp si, 2
je 0x1400e8d42
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 [0x1401de228]
cmp rax, 3
jne 0x1400e8ce8
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 qword [sym.imp.ws2_32.dll_WSASocketW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x1400e8bb0
test si, si
je 0x1400e8c30
mov r8d, 0x1c
mov ax, 0x17
movups xmm0, xmmword [rsp + 0x32]
jmp 0x1400e8c47
mov dword [rsp + 0x64], r15d
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x2739
je 0x1400e8bd0
mov r15d, eax
cmp eax, 0x2726
jne 0x1400e8c91
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x1400e8cd5
mov r12, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call qword [sym.imp.kernel32.dll_SetHandleInformation]
test eax, eax
je 0x1400e8cf2
mov r15d, dword [rsp + 0x64]
test si, si
jne 0x1400e8b9a
nop word [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 qword [sym.imp.ws2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x1400e8e01
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r15d, eax
mov rcx, r12
call qword [sym.imp.ws2_32.dll_closesocket]
test rbx, rbx
je 0x1400e8af7
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x1400e8af7
mov r12, qword [rbx - 1]
mov rsi, qword [rbx + 7]
mov rcx, r12
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400e8ae2
cmp qword [rsi + 0x10], 0x11
jb 0x1400e8ad0
mov r12, qword [r12 - 8]
jmp 0x1400e8ad0
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r15d, eax
test rbx, rbx
jne 0x1400e8c9a
jmp 0x1400e8af7
call fcn.14011b520
jmp 0x1400e8b55
call qword [sym.imp.kernel32.dll_GetLastError]
jmp 0x1400e8c85
xor r15d, r15d
cmp qword [rsp + 0xa0], 0
je 0x1400e8d1f
mov rcx, qword [0x1401de220]
xor edx, edx
mov r8, qword [rsp + 0x98]
call qword [sym.imp.kernel32.dll_HeapFree]
test r15, r15
lea rax, [0x1401a7470]
cmovne rax, r15
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 8], rax
mov qword [rcx], 1
jmp 0x1400e899f
mov r15, rbx
cmp qword [rsp + 0xa0], 0
jne 0x1400e8d08
jmp 0x1400e8d1f
cmp rax, 0xe
je 0x1400e8994
sub r10, rax
cmp r10, 5
jae 0x1400e8dc7
xor edx, edx
xor eax, eax
nop dword [rax]
movzx r11d, byte [r9 + rdx]
add r11d, 0xffffffd0
cmp r11d, 9
ja 0x1400e8994
add eax, eax
lea eax, [rax + rax*4]
add eax, r11d
inc rdx
cmp r10, rdx
jne 0x1400e8d70
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.1400f4700
cmp qword [rsp + 0x30], 0
je 0x1400e8e96
mov rcx, qword [rsp + 0x38]
jmp 0x1400e8994
xor r11d, r11d
mov si, 0xa
xor eax, eax
cmp r10, r11
je 0x1400e8d93
movzx ebx, byte [r9 + r11]
mul si
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x1400e8994
test dl, dl
jne 0x1400e8994
inc r11
add ax, bx
jae 0x1400e8dd0
jmp 0x1400e8994
mov rax, qword [rsp + 0x58]
mov qword [rax + 8], r12
mov qword [rax], 0
cmp qword [rsp + 0xa0], 0
je 0x1400e8e33
mov rcx, qword [0x1401de220]
xor edx, edx
mov r8, qword [rsp + 0x98]
call qword [sym.imp.kernel32.dll_HeapFree]
test rbx, rbx
je 0x1400e899f
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x1400e899f
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 0x1400e8e7f
cmp qword [rbx + 0x10], 0x11
jb 0x1400e8e6d
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1401de220]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1401de220]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1400e899f
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.1400f4900
mov rax, qword [rsp + 0xb8]
test rax, rax
jne 0x1400e8a84
mov rcx, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x58]
jmp 0x1400e8994
mov ecx, 4
mov edx, 0x20
call fcn.140114cd0
ud2