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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x268
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1e0], 0xfffffffffffffffe
mov rax, qword [rcx]
cmp byte [rax], 0
mov byte [rax], 0
je 0x14000f9be
lea rdi, str.127.0.0.1:34254Hash_table_capacity_overflow
lea rcx, [rbp + 0x170]
mov qword [rcx], rdi
mov qword [rcx + 8], 0xf
call fcn.1400091f0
mov rsi, rax
test sil, 1
je 0x14000f14d
mov rbx, qword [rbp + 0x178]
test rbx, rbx
je 0x14000f11b
mov rax, qword [rbp + 0x170]
lea rcx, [rbx - 1]
mov dl, byte [rax]
inc rax
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], rcx
cmp dl, 0x3a
jne 0x14000f11b
lea rdx, [rbp - 0x50]
mov dword [rdx + 0x10], 0xa
and qword [rdx], 0
mov byte [rdx + 0x14], 1
lea rcx, [rbp + 0x170]
call fcn.140009750
cmp ax, 1
jne 0x14000f11d
jmp 0x14000f129
xor eax, eax
mov qword [rbp + 0x178], rbx
test ax, ax
je 0x14000f14d
movabs rax, 0xffffffff00
and rsi, rax
shr rsi, 8
push 1
pop rax
movzx ecx, dx
shl rcx, 0x30
shl rsi, 0x10
or rsi, rcx
jmp 0x14000f151
xor esi, esi
xor eax, eax
or rax, rsi
cmp ax, 1
je 0x14000f175
movzx eax, ax
test eax, eax
jne 0x14000f183
mov qword [rbp + 0x170], rdi
mov qword [rbp + 0x178], 0xf
jmp 0x14000f183
cmp qword [rbp + 0x178], 0
je 0x14000f23a
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 0xf
and qword [rbp - 0x40], 0
mov qword [rbp - 0x30], 1
movabs rax, 0x3a0000003a
mov qword [rbp - 0x28], rax
mov bl, 0x3a
push 0xf
pop rsi
mov cl, 0x3a
mov rdx, rdi
mov r8, rsi
call fcn.14000b5a0
cmp rax, 1
jne 0x14000f1d6
mov rsi, rdx
cmp rdx, 0xf
jae 0x14000f1d0
cmp byte [rsi + rdi], bl
je 0x14000f1f7
cmp rsi, 0xf
jbe 0x14000f1af
lea rcx, str.invalid_socket_address
call fcn.14000eaad
nop
add rsp, 0x268
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r14, [rsi + 1]
lea rcx, str.invalid_port_value
cmp r14, 0xf
je 0x14000f1dd
lea rbx, [rsi + rdi]
inc rbx
movzx eax, byte [rbx]
push 0xf
pop r8
cmp eax, 0x2d
je 0x14000f4c4
cmp eax, 0x2b
jne 0x14000f4ce
cmp r14, 0xe
je 0x14000f1dd
inc rbx
push 0xe
pop r8
jmp 0x14000f4ce
mov al, byte [0x1400fd240]
push 0x20
pop rcx
push 4
pop rdx
call fcn.1400054e0
test rax, rax
je 0x14000f9d4
mov rdi, rax
and word [rax], 0
mov rax, rsi
shr rax, 0x10
and rax, 0xffffffffffffff00
mov ecx, esi
shr ecx, 0x10
movzx ecx, cl
or rcx, rax
shr rsi, 0x30
mov word [rdi + 6], si
mov dword [rdi + 2], ecx
pxor xmm0, xmm0
movdqu xmmword [rdi + 8], xmm0
mov r15, rdi
add r15, 0x20
push 1
pop rcx
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], r15
xor r13d, r13d
mov qword [rbp + 0x1c0], r15
cmp rdi, r15
je 0x14000f476
lea rdx, [rdi + 0x20]
mov qword [rbp - 0x40], rdx
movzx esi, word [rdi]
movzx ecx, word [rdi + 0x12]
mov word [rbp + 0x160], cx
movups xmm0, xmmword [rdi + 2]
movaps xmmword [rbp + 0x150], xmm0
cmp si, 2
je 0x14000f476
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1c8], rdx
mov ebx, dword [rdi + 0x14]
mov r14d, dword [rdi + 0x18]
movzx edi, word [rdi + 0x1c]
movzx eax, word [rbp + 0x160]
mov word [rbp + 0x1b0], ax
movdqa xmm0, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x1a0], xmm0
mov rax, qword [0x1400fd1c8]
cmp rax, 3
jne 0x14000f46c
push 2
pop r12
test si, si
je 0x14000f334
push 0x17
pop r12
mov dword [rsp + 0x28], 0x81
and dword [rsp + 0x20], 0
mov ecx, r12d
push 2
pop rdx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x14000f371
test si, si
je 0x14000f3d3
mov ax, 0x17
movdqu xmm0, xmmword [rbp + 0x1a2]
push 0x1c
jmp 0x14000f3ea
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x2739
je 0x14000f38c
mov r13d, eax
cmp eax, 0x2726
jne 0x14000f43a
mov dword [rsp + 0x28], 1
and dword [rsp + 0x20], 0
mov ecx, r12d
push 2
pop rdx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x14000f461
mov r15, rax
mov rcx, rax
push 1
pop rdx
xor r8d, r8d
call qword [sym.imp.kernel32.dll_SetHandleInformation]
test eax, eax
jne 0x14000f35c
call qword [sym.imp.kernel32.dll_GetLastError]
jmp 0x14000f42e
movzx edi, word [rbp + 0x1a4]
mov ebx, dword [rbp + 0x1a0]
mov ax, 2
pxor xmm0, xmm0
push 0x10
pop r8
rol di, 8
mov word [rbp + 0x170], ax
mov word [rbp + 0x172], di
mov dword [rbp + 0x174], ebx
movdqu xmmword [rbp + 0x178], xmm0
mov dword [rbp + 0x188], r14d
mov rcx, r15
lea rdx, [rbp + 0x170]
call qword [sym.imp.ws2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x14000f492
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r13d, eax
mov rcx, r15
call qword [sym.imp.ws2_32.dll_closesocket]
shl r13, 0x20
or r13, 2
mov rcx, qword [rbp + 0x1d0]
call fcn.14001886f
mov rdi, qword [rbp + 0x1c8]
mov r15, qword [rbp + 0x1c0]
jmp 0x14000f2ab
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r13d, eax
jmp 0x14000f43a
call fcn.140025290
jmp 0x14000f327
lea rcx, [rbp - 0x50]
call fcn.140018854
test r13, r13
lea rcx, str.could_not_resolve_to_any_addresses
cmovne rcx, r13
jmp 0x14000f1dd
lea rcx, [rbp - 0x50]
call fcn.140018854
mov rcx, qword [rbp + 0x1d0]
call fcn.14001886f
mov rcx, r15
add rsp, 0x268
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp qword [sym.imp.ws2_32.dll_closesocket]
cmp r14, 0xe
je 0x14000f1dd
sub r8, r14
cmp r8, 5
jae 0x14000f551
xor eax, eax
xor edi, edi
movzx edx, byte [rbx + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14000f1dd
imul edi, edi, 0xa
add edi, edx
inc rax
cmp r8, rax
jne 0x14000f4db
mov rax, qword [0x1400fd1c8]
cmp rax, 3
jne 0x14000f997
lea rdx, str.127.0.0.1:34254Hash_table_capacity_overflow
cmp rsi, 0x17f
ja 0x14000f9a1
lea rbx, [rbp - 0x50]
mov rcx, rbx
mov r8, rsi
call fcn.140023cb6
mov byte [rbp + rsi - 0x50], 0
cmp rsi, 0xe
ja 0x14000f594
xor ecx, ecx
cmp byte [rbp + rcx - 0x50], 0
je 0x14000f627
inc rcx
cmp r14, rcx
jne 0x14000f539
jmp 0x14000f67f
xor r9d, r9d
mov r10w, 0xa
xor edi, edi
cmp r8, r9
je 0x14000f4f8
movzx r11d, byte [rbx + r9]
mov eax, edi
mul r10w
seto dl
add r11d, 0xffffffd0
cmp r11d, 9
ja 0x14000f1dd
test dl, dl
jne 0x14000f1dd
mov edi, eax
inc r9
add di, r11w
jae 0x14000f55b
jmp 0x14000f1dd
lea rax, [rbp - 0x49]
and rax, 0xfffffffffffffff8
sub rax, rbx
je 0x14000f5bf
je 0x14000f5bf
xor ecx, ecx
cmp byte [rbp + rcx - 0x50], 0
je 0x14000f627
inc rcx
cmp rax, rcx
jne 0x14000f5a5
lea rcx, [rsi - 0xf]
cmp rax, rcx
jbe 0x14000f5c5
jmp 0x14000f605
lea rcx, [rsi - 0xf]
xor eax, eax
movdqa xmm0, xmmword [0x1400265e0]
movabs rdx, 0x8080808080808080
movdqu xmm1, xmmword [rbp + rax - 0x50]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r8, xmm2
test r8, rdx
jne 0x14000f605
add rax, 0x10
cmp rax, rcx
jbe 0x14000f5d7
sub r14, rax
je 0x14000f67f
lea rdx, [rax + rbp]
add rdx, 0xffffffffffffffb0
xor ecx, ecx
cmp byte [rdx + rcx], 0
je 0x14000f624
inc rcx
cmp r14, rcx
jne 0x14000f614
jmp 0x14000f67f
add rcx, rax
cmp rcx, rsi
jne 0x14000f67f
pxor xmm0, xmm0
lea r8, [rbp + 0x170]
movdqa xmmword [r8], xmm0
movdqa xmmword [r8 + 0x20], xmm0
movdqa xmmword [r8 + 0x10], xmm0
mov dword [r8 + 8], 1
lea r9, [rbp + 0x150]
and qword [r9], 0
lea rcx, [rbp - 0x50]
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x14000f974
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
jmp 0x14000f686
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rbp + 0x1a8], rax
push 1
pop rax
test rax, rax
je 0x14000f6a1
mov rcx, qword [rbp + 0x1a8]
jmp 0x14000f1dd
lea rdx, [rbp + 0x1a8]
movups xmm0, xmmword [rdx]
movzx eax, word [rdx + 0x10]
mov ecx, dword [rdx + 0x12]
mov dword [rbp + 0x148], ecx
movzx r8d, word [rdx + 0x16]
mov word [rbp + 0x14c], r8w
lea r9, [rbp + 0x16e]
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
mov byte [rbp + 0x1df], 1
lea rcx, [rbp - 0x50]
call fcn.14001f640
movzx esi, word [rbp - 0x50]
cmp si, 2
jne 0x14000f717
push 4
pop rdi
mov rcx, qword [rbp + 0x1a8]
call qword [sym.imp.ws2_32.dll_freeaddrinfo]
xor ecx, ecx
mov r15, rdi
jmp 0x14000f291
mov edi, dword [rbp - 0x4e]
movzx ebx, word [rbp - 0x4a]
mov eax, dword [rbp - 0x38]
mov dword [rbp + 0x180], eax
movups xmm0, xmmword [rbp - 0x48]
movaps xmmword [rbp + 0x170], xmm0
movzx r15d, word [rbp - 0x34]
movzx r14d, word [rbp - 0x32]
mov rax, qword [rbp + 0x1a0]
movzx r12d, word [rax]
mov al, byte [0x1400fd240]
push 4
pop r13
mov ecx, 0x80
mov rdx, r13
call fcn.1400054e0
test rax, rax
je 0x14000f9fc
test si, si
cmovne r15d, r12d
cmove ebx, r12d
lea rdx, [rbp + 0x178]
mov ecx, dword [rdx + 8]
mov dword [rax + 0x18], ecx
movaps xmm0, xmmword [rdx - 8]
movups xmmword [rax + 8], xmm0
mov word [rax], si
mov dword [rax + 2], edi
mov word [rax + 6], bx
mov word [rax + 0x1c], r15w
mov word [rax + 0x1e], r14w
movups xmm0, xmmword [rbp + 0x1a0]
movdqu xmm1, xmmword [rbp + 0x1b0]
movdqa xmmword [rdx + 8], xmm1
movaps xmmword [rdx - 8], xmm0
push 1
pop r14
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1c8], rax
mov r15, rax
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x178]
call fcn.14001f640
movzx ebx, word [rbp - 0x50]
cmp bx, 2
je 0x14000f941
mov r8d, dword [rbp - 0x4e]
movzx edi, word [rbp - 0x4a]
lea rcx, [rbp - 0x48]
mov eax, dword [rcx + 0x10]
mov dword [rbp + 0x140], eax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x130], xmm0
mov rax, qword [rbp + 0x170]
movzx esi, word [rax]
test bx, bx
mov r13, qword [rbp + 0x1d0]
jne 0x14000f821
mov edi, esi
movzx esi, word [rbp - 0x34]
movzx r12d, word [rbp - 0x32]
cmp r14, r13
jne 0x14000f8f5
mov rax, r13
inc r13
je 0x14000f9e4
add rax, rax
cmp rax, r13
cmova r13, rax
cmp r13, 5
push 4
pop r9
jae 0x14000f852
mov r13, r9
xor edx, edx
mov rax, r13
shr rax, 0x3a
sete al
mov rcx, qword [rbp + 0x1d0]
test rcx, rcx
mov dword [rbp + 0x1c0], r8d
je 0x14000f889
shl rcx, 5
mov r8, qword [rbp + 0x1c8]
mov qword [rbp - 0x50], r8
mov qword [rbp - 0x40], rcx
mov rcx, r9
jmp 0x14000f88b
xor ecx, ecx
mov r8, r13
shl r8, 5
mov dl, al
shl rdx, 2
mov qword [rbp - 0x48], rcx
lea rcx, [rbp + 0x150]
lea r9, [rbp - 0x50]
call fcn.140019770
cmp qword [rbp + 0x150], 0
mov r15, qword [rbp + 0x158]
je 0x14000f8e7
movabs rax, 0x8000000000000001
cmp r15, rax
mov r8d, dword [rbp + 0x1c0]
jne 0x14000f9df
mov r13, qword [rbp + 0x1d0]
mov r15, qword [rbp + 0x1c8]
jmp 0x14000f8f5
mov qword [rbp + 0x1c8], r15
mov r8d, dword [rbp + 0x1c0]
mov rax, r14
shl rax, 5
mov word [r15 + rax], bx
mov dword [r15 + rax + 2], r8d
mov word [r15 + rax + 6], di
movdqa xmm0, xmmword [rbp + 0x130]
movdqu xmmword [r15 + rax + 8], xmm0
mov ecx, dword [rbp + 0x140]
mov dword [r15 + rax + 0x18], ecx
mov word [r15 + rax + 0x1c], si
mov word [r15 + rax + 0x1e], r12w
inc r14
mov qword [rbp + 0x1d0], r13
jmp 0x14000f7c8
mov rcx, qword [rbp + 0x178]
call qword [sym.imp.ws2_32.dll_freeaddrinfo]
mov rdi, qword [rbp + 0x1c8]
test rdi, rdi
mov rcx, qword [rbp + 0x1d0]
je 0x14000f1dd
mov r15, r14
shl r15, 5
add r15, rdi
jmp 0x14000f291
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x1a8], rax
mov qword [rbp + 0x1b0], rax
mov word [rbp + 0x1b8], di
xor eax, eax
jmp 0x14000f690
call fcn.140025290
jmp 0x14000f509
lea rbx, [rbp + 0x1a0]
mov rcx, rbx
mov r8, rsi
mov r9d, edi
call fcn.1400252f0
mov rax, qword [rbx]
jmp 0x14000f690
lea rcx, str.called__Option::unwrap____on_a__None__value__
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_src_synconce.rs
push 0x2b
pop rdx
call fcn.140024050
push 4
pop rcx
push 0x20
pop rdx
call fcn.140023dc0
test r15, r15
jne 0x14000f9eb
call fcn.140005700
jmp 0x14000fa10
mov rdx, qword [rbp + 0x160]
mov rcx, r15
call fcn.140023dc0
jmp 0x14000fa10
mov byte [rbp + 0x1df], 1
push 4
pop rcx
mov edx, 0x80
call fcn.140023dc0
ud2