Function at 0x1400d2890
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.14000aff0
mov rbx, rax
test bl, 1
je 0x1400d297a
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x1400d296e
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 0x1400d296e
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.14000b8d0
cmp ax, 1
je 0x1400d2932
mov qword [rsp + 0x38], rsi
test ax, ax
je 0x1400d297a
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 0x1400d2986
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0xf
jmp 0x1400d299a
xor eax, eax
mov qword [rsp + 0x38], rsi
test ax, ax
jne 0x1400d2932
xor ebx, ebx
xor eax, eax
or rax, rbx
test ax, ax
je 0x1400d295e
movzx eax, ax
cmp eax, 1
jne 0x1400d299a
cmp qword [rsp + 0x38], 0
je 0x1400d2a73
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 0x1400d29e6
cmp r8, 0xf
ja 0x1400d2a4d
mov cl, 0x3a
mov rdx, rdi
call fcn.14000d770
cmp rax, 1
jne 0x1400d2a4d
mov r8, rdx
cmp rdx, 0xf
jae 0x1400d29e0
cmp byte [r8 + rdi], bl
jne 0x1400d29e0
lea rax, [r8 + 1]
lea rcx, str.invalid_port_value
cmp rax, 0xf
je 0x1400d2a54
lea r9, [r8 + rdi]
inc r9
movzx edx, byte [r9]
mov r10d, 0xf
cmp edx, 0x2d
je 0x1400d2e23
cmp edx, 0x2b
jne 0x1400d2e2d
cmp rax, 0xe
je 0x1400d2a54
inc r9
mov r10d, 0xe
jmp 0x1400d2e2d
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 [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x1400d2abc
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1400d2fcb
mov rcx, rax
mov qword [0x14016b208], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400d2fcb
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 0x1400d2dcb
xor ebx, ebx
jmp 0x1400d2bcd
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
dec rbx
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
nop word [rax + rax]
shl r15, 0x20
or r15, 2
add r13, 0x20
mov rbx, r15
cmp r13, qword [rsp + 0xd8]
je 0x1400d2dce
movzx edi, word [r13]
cmp di, 2
je 0x1400d2e13
mov esi, 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 [0x14016b210]
cmp rax, 3
jne 0x1400d2db6
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 qword [sym.imp.ws2_32.dll_WSASocketW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x1400d2c70
test di, di
je 0x1400d2cf0
mov r8d, 0x1c
mov ax, 0x17
movups xmm0, xmmword [rsp + 0x32]
jmp 0x1400d2d07
mov dword [rsp + 0x64], r15d
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x2739
je 0x1400d2c90
mov r15d, eax
cmp eax, 0x2726
jne 0x1400d2d51
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 0x1400d2da3
mov r12, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call qword [sym.imp.kernel32.dll_SetHandleInformation]
test eax, eax
je 0x1400d2dc0
mov r15d, dword [rsp + 0x64]
test di, di
jne 0x1400d2c53
nop word [rax + rax]
movzx r14d, word [rsp + 0x34]
mov esi, 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], esi
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 0x1400d2ed1
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 0x1400d2bb0
mov eax, ebx
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400d2bb0
test rax, rax
je 0x1400d2bb0
mov r12, qword [rbx - 1]
mov rsi, qword [rbx + 7]
mov rcx, r12
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400d2b92
cmp qword [rsi + 0x10], 0x11
jb 0x1400d2b80
mov r12, qword [r12 - 8]
jmp 0x1400d2b80
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r15d, eax
test rbx, rbx
jne 0x1400d2d5a
jmp 0x1400d2bb0
call fcn.1400ff9a0
jmp 0x1400d2c0e
call qword [sym.imp.kernel32.dll_GetLastError]
jmp 0x1400d2d45
xor r15d, r15d
cmp qword [rsp + 0xa0], 0
je 0x1400d2df0
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, qword [rsp + 0x98]
call qword [sym.imp.kernel32.dll_HeapFree]
test r15, r15
lea rax, [0x140133a18]
cmovne rax, r15
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 8], rax
mov qword [rcx], 1
jmp 0x1400d2a5f
mov r15, rbx
cmp qword [rsp + 0xa0], 0
jne 0x1400d2dd9
jmp 0x1400d2df0
cmp rax, 0xe
je 0x1400d2a54
sub r10, rax
cmp r10, 5
jae 0x1400d2e97
xor edx, edx
xor eax, eax
nop word [rax + rax]
movzx r11d, byte [r9 + rdx]
add r11d, 0xffffffd0
cmp r11d, 9
ja 0x1400d2a54
add eax, eax
lea eax, [rax + rax*4]
add eax, r11d
inc rdx
cmp r10, rdx
jne 0x1400d2e40
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.1400dc0a0
cmp qword [rsp + 0x30], 0
je 0x1400d2f74
mov rcx, qword [rsp + 0x38]
jmp 0x1400d2a54
xor r11d, r11d
mov si, 0xa
xor eax, eax
cmp r10, r11
je 0x1400d2e63
movzx ebx, byte [r9 + r11]
mul si
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x1400d2a54
test dl, dl
jne 0x1400d2a54
inc r11
add ax, bx
jae 0x1400d2ea0
jmp 0x1400d2a54
mov rax, qword [rsp + 0x58]
mov qword [rax + 8], r12
mov qword [rax], 0
cmp qword [rsp + 0xa0], 0
je 0x1400d2f03
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, qword [rsp + 0x98]
call qword [sym.imp.kernel32.dll_HeapFree]
test rbx, rbx
je 0x1400d2a5f
mov eax, ebx
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400d2a5f
test rax, rax
je 0x1400d2a5f
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 0x1400d2f5d
cmp qword [rbx + 0x10], 0x11
jb 0x1400d2f4b
mov rdi, qword [rdi - 8]
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1400d2a5f
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.1400dc2a0
mov rax, qword [rsp + 0xb8]
test rax, rax
jne 0x1400d2b43
mov rcx, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x58]
jmp 0x1400d2a54
mov ecx, 4
mov edx, 0x20
call fcn.1400f9ca0
int3