Function at 0x14002a51a
Capabilities:
Create tcp socket
Create udp socket
Resolve dns

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
mov rax, qword [rcx]
cmp byte [rax], 0
mov byte [rax], 0
je 0x14002aeeb
lea rdi, str.127.0.0.1:34254could_not_resolve_to_any_addresses
lea rcx, [rsp + 0x70]
mov qword [rcx], rdi
mov qword [rcx + 8], 0xf
call fcn.14000fea0
mov rbx, rax
test bl, 1
je 0x14002a5e6
mov rsi, qword [rsp + 0x78]
test rsi, rsi
je 0x14002a5b4
mov rax, qword [rsp + 0x70]
lea rcx, [rsi - 1]
mov dl, byte [rax]
inc rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
cmp dl, 0x3a
jne 0x14002a5b4
lea rdx, [rsp + 0xe8]
mov dword [rdx + 0x10], 0xa
and qword [rdx], 0
mov byte [rdx + 0x14], 1
lea rcx, [rsp + 0x70]
call fcn.1400105c0
cmp ax, 1
jne 0x14002a5b6
jmp 0x14002a5c0
xor eax, eax
mov qword [rsp + 0x78], rsi
test ax, ax
je 0x14002a5e6
movabs rax, 0xffffffff00
and rbx, rax
shr rbx, 8
movzx eax, dx
shl rax, 0x30
shl rbx, 0x10
or rbx, rax
mov eax, 1
jmp 0x14002a5ea
xor ebx, ebx
xor eax, eax
or rax, rbx
cmp ax, 1
je 0x14002a60a
movzx eax, ax
test eax, eax
jne 0x14002a616
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
jmp 0x14002a616
cmp qword [rsp + 0x78], 0
je 0x14002a72c
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xf0], 0xf
and qword [rsp + 0xf8], 0
mov qword [rsp + 0x108], 1
movabs rax, 0x3a0000003a
mov qword [rsp + 0x110], rax
mov bl, 0x3a
mov esi, 0xf
mov cl, 0x3a
mov rdx, rdi
mov r8, rsi
call fcn.140012420
cmp rax, 1
jne 0x14002a67f
mov rsi, rdx
cmp rdx, 0xf
jae 0x14002a679
cmp byte [rsi + rdi], bl
je 0x14002a6e0
cmp rsi, 0xf
jbe 0x14002a658
lea rcx, str.invalid_socket_address
mov eax, ecx
and eax, 3
lea rdx, [rax - 2]
cmp rdx, 2
jb 0x14002a6cb
test rax, rax
je 0x14002a6cb
lea rsi, [rcx - 1]
mov rdi, qword [rcx - 1]
mov rbx, qword [rcx + 7]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x14002a6be
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call fcn.14000c1a0
mov edx, 8
mov rcx, rsi
call fcn.14000c1a0
nop
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r14, [rsi + 1]
lea rcx, str.invalid_port_value
cmp r14, 0xf
je 0x14002a686
lea r8, [rsi + rdi]
inc r8
movzx eax, byte [r8]
mov r9d, 0xf
cmp eax, 0x2d
je 0x14002a9b6
cmp eax, 0x2b
jne 0x14002a9c0
cmp r14, 0xe
je 0x14002a686
inc r8
mov r9d, 0xe
jmp 0x14002a9c0
mov al, byte [0x140152200]
mov edx, 0x20
xor ecx, ecx
call fcn.140050160
test rax, rax
je 0x14002aef7
mov rsi, rax
and word [rax], 0
mov rax, rbx
shr rax, 0x10
and rax, 0xffffffffffffff00
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
or rcx, rax
shr rbx, 0x30
mov word [rsi + 6], bx
mov dword [rsi + 2], ecx
pxor xmm0, xmm0
movdqu xmmword [rsi + 8], xmm0
mov r14, rsi
add r14, 0x20
mov edi, 1
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], r14
xor r15d, r15d
mov qword [rsp + 0x48], r14
cmp rsi, r14
je 0x14002a964
mov rax, rsi
add rsi, 0x20
mov qword [rsp + 0xf0], rsi
movzx edi, word [rax]
movzx ecx, word [rax + 0x12]
mov word [rsp + 0xc0], cx
movups xmm0, xmmword [rax + 2]
movaps xmmword [rsp + 0xb0], xmm0
cmp di, 2
je 0x14002a964
mov qword [rsp + 0x40], r15
mov ebx, dword [rax + 0x14]
mov r13d, dword [rax + 0x18]
movzx r12d, word [rax + 0x1c]
movzx eax, word [rsp + 0xc0]
mov word [rsp + 0x60], ax
movdqa xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0x50], xmm0
mov rax, qword [0x1401521c0]
cmp rax, 3
jne 0x14002a95a
mov ebp, 2
test di, di
je 0x14002a838
mov ebp, 0x17
mov dword [rsp + 0x28], 0x81
and dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call sub.WS2_32.dll_WSASocketW
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x14002a877
test di, di
je 0x14002a8d8
mov r8d, 0x1c
mov ax, 0x17
movdqu xmm0, xmmword [rsp + 0x52]
jmp 0x14002a8f0
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2739
je 0x14002a891
mov r15d, eax
cmp eax, 0x2726
jne 0x14002a934
mov dword [rsp + 0x28], 1
and 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 0x14002a950
mov r14, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.kernel32.dll_SetHandleInformation
test eax, eax
jne 0x14002a860
call sub.kernel32.dll_GetLastError
jmp 0x14002a929
movzx r12d, word [rsp + 0x54]
mov ebx, dword [rsp + 0x50]
mov r8d, 0x10
mov ax, 2
pxor xmm0, xmm0
rol r12w, 8
mov word [rsp + 0x70], ax
mov word [rsp + 0x72], r12w
mov dword [rsp + 0x74], ebx
movdqu xmmword [rsp + 0x78], xmm0
mov dword [rsp + 0x88], r13d
mov rcx, r14
lea rdx, [rsp + 0x70]
call sub.WS2_32.dll_bind
cmp eax, 0xffffffff
jne 0x14002a984
call sub.WS2_32.dll_WSAGetLastError
mov r15d, eax
mov rcx, r14
call 0x140059f04
shl r15, 0x20
or r15, 2
mov rcx, qword [rsp + 0x40]
call fcn.14002afc1
mov r14, qword [rsp + 0x48]
jmp 0x14002a7ae
call sub.WS2_32.dll_WSAGetLastError
mov r15d, eax
jmp 0x14002a934
call fcn.14004e900
jmp 0x14002a829
lea rcx, [rsp + 0xe8]
call fcn.14002b023
test r15, r15
lea rcx, [0x140122348]
cmovne rcx, r15
jmp 0x14002a686
lea rcx, [rsp + 0xe8]
call fcn.14002b023
mov rcx, qword [rsp + 0x40]
call fcn.14002afc1
mov rcx, r14
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140059f04
cmp r14, 0xe
je 0x14002a686
sub r9, r14
cmp r9, 5
jae 0x14002aa52
xor eax, eax
xor edi, edi
movzx edx, byte [r8 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14002a686
imul edi, edi, 0xa
add edi, edx
inc rax
cmp r9, rax
jne 0x14002a9d1
mov rax, qword [0x1401521c0]
cmp rax, 3
jne 0x14002aec6
lea rdx, str.127.0.0.1:34254could_not_resolve_to_any_addresses
cmp rsi, 0x17f
ja 0x14002aed0
lea rbx, [rsp + 0xe8]
mov rcx, rbx
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov byte [rsp + rsi + 0xe8], 0
cmp rsi, 0xe
ja 0x14002aa92
xor ecx, ecx
cmp byte [rsp + rcx + 0xe8], 0
je 0x14002ab36
inc rcx
cmp r14, rcx
jne 0x14002aa37
jmp 0x14002ab8f
xor r10d, r10d
mov r11w, 0xa
xor edi, edi
cmp r9, r10
je 0x14002a9ef
movzx ebx, byte [r8 + r10]
mov eax, edi
mul r11w
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x14002a686
test dl, dl
jne 0x14002a686
mov edi, eax
inc r10
add di, bx
jae 0x14002aa5c
jmp 0x14002a686
lea rax, [rsp + 0xef]
and rax, 0xfffffffffffffff8
sub rax, rbx
je 0x14002aac8
je 0x14002aac8
xor ecx, ecx
cmp byte [rsp + rcx + 0xe8], 0
je 0x14002ab36
inc rcx
cmp rax, rcx
jne 0x14002aaa7
lea rcx, [rsi - 0xf]
cmp rax, rcx
jbe 0x14002aace
jmp 0x14002ab11
lea rcx, [rsi - 0xf]
xor eax, eax
movdqa xmm0, xmmword [0x1400dab80]
movabs rdx, 0x8080808080808080
movdqu xmm1, xmmword [rsp + rax + 0xe8]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r8, xmm2
test r8, rdx
jne 0x14002ab11
add rax, 0x10
cmp rax, rcx
jbe 0x14002aae0
sub r14, rax
je 0x14002ab8f
lea rdx, [rsp + rax]
add rdx, 0xe8
xor ecx, ecx
cmp byte [rdx + rcx], 0
je 0x14002ab33
inc rcx
cmp r14, rcx
jne 0x14002ab23
jmp 0x14002ab8f
add rcx, rax
cmp rcx, rsi
jne 0x14002ab8f
pxor xmm0, xmm0
lea r8, [rsp + 0x70]
movdqa xmmword [r8], xmm0
movdqa xmmword [r8 + 0x20], xmm0
movdqa xmmword [r8 + 0x10], xmm0
mov dword [r8 + 8], 1
lea r9, [rsp + 0xb0]
and qword [r9], 0
lea rcx, [rsp + 0xe8]
xor edx, edx
call sub.WS2_32.dll_getaddrinfo
test eax, eax
je 0x14002aea1
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x14002ab96
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsp + 0x58], rax
mov eax, 1
test rax, rax
je 0x14002abaf
mov rcx, qword [rsp + 0x58]
jmp 0x14002a686
lea rdx, [rsp + 0x58]
movups xmm0, xmmword [rdx]
movzx eax, word [rdx + 0x10]
mov ecx, dword [rdx + 0x12]
mov dword [rsp + 0xc8], ecx
movzx r8d, word [rdx + 0x16]
mov word [rsp + 0xcc], r8w
lea r9, [rsp + 0xae]
mov word [r9], ax
movups xmmword [rdx], xmm0
mov word [rdx + 0x10], ax
mov dword [rdx + 0x12], ecx
mov word [rdx + 0x16], r8w
mov qword [rdx - 8], r9
lea rcx, [rsp + 0xe8]
call fcn.14004e7a0
movzx edi, word [rsp + 0xe8]
cmp di, 2
jne 0x14002ac29
mov rcx, qword [rsp + 0x58]
call sub.WS2_32.dll_freeaddrinfo
mov esi, 4
xor edi, edi
mov r14d, 4
jmp 0x14002a786
mov ebx, dword [rsp + 0xea]
movzx ebp, word [rsp + 0xee]
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x80], eax
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x70], xmm0
movzx r15d, word [rsp + 0x104]
movzx r14d, word [rsp + 0x106]
mov rax, qword [rsp + 0x50]
movzx r12d, word [rax]
mov al, byte [0x140152200]
mov edx, pe_nt_image_headers64
xor ecx, ecx
call fcn.140050160
test rax, rax
je 0x14002af24
mov rsi, rax
test di, di
cmovne r15d, r12d
cmove ebp, r12d
lea rcx, [rsp + 0x78]
mov eax, dword [rcx + 8]
mov dword [rsi + 0x18], eax
movaps xmm0, xmmword [rcx - 8]
movups xmmword [rsi + 8], xmm0
mov word [rsi], di
mov dword [rsi + 2], ebx
mov word [rsi + 6], bp
mov word [rsi + 0x1c], r15w
mov word [rsi + 0x1e], r14w
movups xmm0, xmmword [rsp + 0x50]
movdqu xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rcx + 8], xmm1
movaps xmmword [rcx - 8], xmm0
mov r14d, 1
mov edi, 4
mov ebp, 0x20
mov r15, rsi
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0x78]
call fcn.14004e7a0
movzx r12d, word [rsp + 0xe8]
cmp r12w, 2
je 0x14002ae86
mov edx, dword [rsp + 0xea]
movzx r8d, word [rsp + 0xee]
lea rcx, [rsp + 0xf0]
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0xe0], eax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x70]
movzx ebx, word [rax]
test r12w, r12w
jne 0x14002ad51
mov r8d, ebx
movzx ebx, word [rsp + 0x104]
movzx ecx, word [rsp + 0x106]
cmp r14, rdi
jne 0x14002adbf
mov r13, rdi
inc r13
je 0x14002af0b
mov dword [rsp + 0x40], edx
lea rax, [rdi + rdi]
cmp rax, r13
cmova r13, rax
cmp r13, 5
jae 0x14002ad85
mov r13d, 4
mov word [rsp + 0x3e], cx
xor edx, edx
mov rax, r13
shr rax, 0x3a
sete al
test rdi, rdi
mov word [rsp + 0x48], r8w
je 0x14002adc4
mov rcx, rdi
shl rcx, 5
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf8], rcx
mov ecx, 4
jmp 0x14002adc6
mov r13, rdi
jmp 0x14002ae3f
xor ecx, ecx
mov r8, r13
shl r8, 5
mov dl, al
shl rdx, 2
mov qword [rsp + 0xf0], rcx
lea rcx, [rsp + 0xb0]
lea r9, [rsp + 0xe8]
call fcn.14001c560
cmp qword [rsp + 0xb0], 0
mov r15, qword [rsp + 0xb8]
je 0x14002ae2d
movabs rax, 0x8000000000000001
cmp r15, rax
mov edx, dword [rsp + 0x40]
movzx r8d, word [rsp + 0x48]
movzx ecx, word [rsp + 0x3e]
jne 0x14002af06
mov r13, rdi
mov r15, rsi
jmp 0x14002ae3f
mov rsi, r15
mov edx, dword [rsp + 0x40]
movzx r8d, word [rsp + 0x48]
movzx ecx, word [rsp + 0x3e]
mov word [r15 + rbp], r12w
mov dword [r15 + rbp + 2], edx
mov word [r15 + rbp + 6], r8w
movdqa xmm0, xmmword [rsp + 0xd0]
movdqu xmmword [r15 + rbp + 8], xmm0
mov eax, dword [rsp + 0xe0]
mov dword [r15 + rbp + 0x18], eax
mov word [r15 + rbp + 0x1c], bx
mov word [r15 + rbp + 0x1e], cx
inc r14
add rbp, 0x20
mov rdi, r13
jmp 0x14002ace5
mov rcx, qword [rsp + 0x78]
call sub.WS2_32.dll_freeaddrinfo
test rsi, rsi
je 0x14002aebf
shl r14, 5
add r14, rsi
jmp 0x14002a786
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov word [rsp + 0x68], di
xor eax, eax
jmp 0x14002aba0
xor ecx, ecx
jmp 0x14002a686
call fcn.14004e900
jmp 0x14002aa00
lea rbx, [rsp + 0x50]
mov rcx, rbx
mov r8, rsi
mov r9d, edi
call fcn.14004e960
mov rax, qword [rbx]
jmp 0x14002aba0
lea rcx, str._rustc_11f32b73e0dc9287e305b5b9980d24aecdc8c17flibrary_std_src_synconce.rs
call fcn.140010a90
mov ecx, 4
mov edx, 0x20
call fcn.14000c620
test r15, r15
jne 0x14002af12
call fcn.14000c5e0
jmp 0x14002af33
mov rdx, qword [rsp + 0xc0]
mov rcx, r15
call fcn.14000c620
jmp 0x14002af33
mov ecx, 4
mov edx, pe_nt_image_headers64
call fcn.14000c620
ud2
jmp qword [sym.imp.WS2_32.dll_closesocket]