Function at 0x1400303f0
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x228
mov rbx, rcx
mov rdi, rdx
mov esi, r8d
mov ebp, r9d
lea rcx, [rsp + 0xa0]
call sym.net__split_address.isra.0
cmp byte [rsp + 0xa0], 0
jne 0x1400308c0
mov r12, qword [rsp + 0xc8]
movzx eax, word [rsp + 0xd8]
test esi, esi
jle 0x140030b8c
cmp byte [rdi], 0x3a
jne 0x140030451
test bpl, 1
je 0x140030911
pxor xmm0, xmm0
lea r14, [0x14003d126]
lea rsi, [rsp + 0x70]
movabs rdi, 0xfe0400000001
movups xmmword [rsp + 0xf8], xmm0
lea rdx, [rsp + 0xe0]
mov word [rsp + 0xf8], ax
lea rax, [rsp + 0x30]
mov rcx, rax
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0x28], rax
movups xmmword [rsp + 0x7c], xmm0
movups xmmword [rsp + 0x8c], xmm0
movups xmmword [rsp + 0x118], xmm0
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0x74], ebp
mov dword [rsp + 0x78], 1
mov dword [rsp + 0x70], 1
mov qword [rsp + 0x48], 0
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0x128], 0
mov qword [rsp + 0xec], rdi
mov qword [rsp + 0x108], r14
mov dword [rsp + 0x114], 1
call sym.str_intp.constprop.0
mov rdx, qword [rsp + 0x30]
mov r8, rsi
mov rcx, r12
lea r9, [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
neg eax
js 0x140030af8
mov rdx, qword [0x14003e190]
mov byte [rsp + 0x1a0], 0
mov dword [rsp + 0x1c8], eax
movdqa xmm5, xmmword [rdx]
movups xmmword [rsp + 0x1a8], xmm5
movdqa xmm5, xmmword [rdx + 0x10]
movdqa xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rsp + 0x1b8], xmm5
movdqa xmm5, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x130], xmm0
movdqa xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x140], xmm5
movaps xmmword [rsp + 0x150], xmm0
cmp byte [rsp + 0x130], 0
jne 0x140030850
xor ecx, ecx
call sym.vcalloc_noscan
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x68], 0x6e
test r15, r15
je 0x140030787
lea rsi, [rsp + 0x1a0]
xor r13d, r13d
lea rbp, [rsp + 0x50]
lea r12, [rsp + 0x130]
jmp 0x1400306b7
cmp eax, 0x17
jne 0x140030b0a
mov rax, r13
mov ecx, 0xd
mov rdx, qword [r15 + 0x20]
mov r8, qword [r15 + 0x10]
lea rdi, [rsp + 0x130]
rep stosq qword [rdi], rax
xor eax, eax
mov rcx, r12
mov dword [rdi], 0
mov word [rdi + 4], ax
call sym.memcpy
mov rdx, rsi
mov rcx, rbp
movdqa xmm1, xmmword [rsp + 0x130]
movdqa xmm2, xmmword [rsp + 0x140]
movdqa xmm3, xmmword [rsp + 0x150]
movdqa xmm4, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x1a0], xmm1
movdqa xmm5, xmmword [rsp + 0x170]
movdqa xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x1b0], xmm2
movdqu xmm1, xmmword [rsp + 0x18e]
movaps xmmword [rsp + 0x1c0], xmm3
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x1d0], xmm4
movaps xmmword [rsp + 0x1e0], xmm5
movups xmmword [rsp + 0x1fe], xmm1
call sym.array_push_noscan.lto_priv.0
mov r15, qword [r15 + 0x28]
test r15, r15
je 0x140030782
mov eax, dword [r15 + 4]
cmp eax, 2
jne 0x1400305f0
mov rax, r13
mov ecx, 0xd
xor edx, edx
mov r8, qword [r15 + 0x10]
lea rdi, [rsp + 0x130]
rep stosq qword [rdi], rax
mov rcx, r12
mov word [rdi + 4], dx
mov rdx, qword [r15 + 0x20]
mov dword [rdi], 0
call sym.memcpy
mov rdx, rsi
mov rcx, rbp
movdqa xmm2, xmmword [rsp + 0x130]
movdqa xmm3, xmmword [rsp + 0x140]
movdqa xmm4, xmmword [rsp + 0x150]
movdqa xmm5, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x1a0], xmm2
movdqa xmm2, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x1b0], xmm3
movdqa xmm3, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x1c0], xmm4
movdqu xmm4, xmmword [rsp + 0x18e]
movaps xmmword [rsp + 0x1f0], xmm3
movaps xmmword [rsp + 0x1d0], xmm5
movaps xmmword [rsp + 0x1e0], xmm2
movups xmmword [rsp + 0x1fe], xmm4
call sym.array_push_noscan.lto_priv.0
mov r15, qword [r15 + 0x28]
test r15, r15
jne 0x1400306b7
mov r15, qword [rsp + 0x48]
mov rcx, qword [0x14003e190]
mov rax, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
movdqa xmm2, xmmword [rcx]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x140], rax
movdqa xmm3, xmmword [rcx + 0x10]
mov qword [rsp + 0x1d8], rax
mov rcx, r15
movups xmmword [rsp + 0x1a8], xmm2
mov qword [rsp + 0x130], r10
mov qword [rsp + 0x138], r11
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x1c8], r10
mov qword [rsp + 0x1d0], r11
mov qword [rsp + 0x1e0], rdx
movups xmmword [rsp + 0x1b8], xmm3
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov byte [rsp + 0x1a0], 0
movdqa xmm5, xmmword [rsp + 0x1b0]
movdqa xmm4, xmmword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1e0]
movdqa xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rbx + 0x10], xmm5
movdqa xmm2, xmmword [rsp + 0x1d0]
mov qword [rbx + 0x40], rax
movups xmmword [rbx], xmm4
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm2
jmp 0x14003089f
mov rax, qword [rsp + 0x150]
movdqa xmm4, xmmword [rsp + 0x130]
movdqa xmm0, xmmword [rsp + 0x140]
movdqa xmm5, xmmword [rsp + 0x1d0]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x1e0]
movdqa xmm2, xmmword [rsp + 0x1c0]
movups xmmword [rbx], xmm4
mov qword [rbx + 0x40], rax
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x30], xmm5
mov rax, rbx
add rsp, 0x228
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0xc0]
movdqa xmm3, xmmword [rsp + 0xa0]
movdqa xmm4, xmmword [rsp + 0xb0]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x1e0]
movdqa xmm5, xmmword [rsp + 0x1c0]
movups xmmword [rbx], xmm3
movdqa xmm3, xmmword [rsp + 0x1d0]
mov qword [rbx + 0x40], rax
movups xmmword [rbx + 0x10], xmm4
movups xmmword [rbx + 0x20], xmm5
movups xmmword [rbx + 0x30], xmm3
jmp 0x14003089f
movzx ecx, ax
lea rdi, [rsp + 0x1a8]
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, 0xc
mov r8d, 2
mov esi, eax
xor eax, eax
rep stosq qword [rdi], rax
xor ecx, ecx
mov word [rdi + 4], cx
mov ecx, 0x6e
mov dword [rdi], 0
movdqa xmm0, xmmword [rsp + 0x1b0]
mov word [rsp + 0x1a0], r8w
movdqa xmm2, xmmword [rsp + 0x1c0]
mov word [rsp + 0x1a2], si
mov dword [rsp + 0x1a4], 0
movdqa xmm4, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x140], xmm0
movdqa xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x130], xmm4
movdqa xmm4, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x150], xmm2
movdqa xmm2, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x160], xmm4
movdqu xmm4, xmmword [rsp + 0x1fe]
movaps xmmword [rsp + 0x180], xmm2
movaps xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x18e], xmm4
call sym.vcalloc_noscan
mov r9d, 2
movdqa xmm5, xmmword [rsp + 0x140]
movdqa xmm0, xmmword [rsp + 0x150]
movdqa xmm2, xmmword [rsp + 0x160]
mov rdx, qword [0x14003e190]
mov word [rsp + 0x130], r9w
mov word [rsp + 0x132], si
movdqa xmm4, xmmword [rsp + 0x170]
mov dword [rsp + 0x134], 0
movdqa xmm3, xmmword [rsp + 0x130]
movups xmmword [rax + 0x10], xmm5
movdqu xmm5, xmmword [rsp + 0x18e]
movups xmmword [rax], xmm3
movdqa xmm3, xmmword [rsp + 0x180]
movups xmmword [rax + 0x20], xmm0
movdqa xmm0, xmmword [rdx]
movups xmmword [rax + 0x30], xmm2
movdqa xmm2, xmmword [rdx + 0x10]
movups xmmword [rax + 0x50], xmm3
movups xmmword [rax + 0x40], xmm4
movups xmmword [rax + 0x5e], xmm5
movups xmmword [rsp + 0x1a8], xmm0
mov byte [rsp + 0x1a0], 0
movdqa xmm4, xmmword [rsp + 0x1a0]
mov qword [rsp + 0x1c8], rax
mov rax, qword [0x14003d9c8]
movups xmmword [rsp + 0x1b8], xmm2
movdqa xmm3, xmmword [rsp + 0x1b0]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], 1
mov dword [rsp + 0x1e0], 0x6e
movups xmmword [rbx], xmm4
movups xmmword [rbx + 0x10], xmm3
movdqa xmm5, xmmword [rsp + 0x1c0]
mov rax, qword [rsp + 0x1e0]
movdqa xmm0, xmmword [rsp + 0x1d0]
mov qword [rbx + 0x40], rax
movups xmmword [rbx + 0x20], xmm5
movups xmmword [rbx + 0x30], xmm0
jmp 0x14003089f
lea rcx, [rsp + 0x130]
call sym.net__socket_error.part.0
jmp 0x140030591
mov rdx, qword [0x14003da38]
mov rcx, qword [rsp + 0x28]
pxor xmm0, xmm0
lea rbx, str.Unexpected_address_family
movups xmmword [rsp + 0x1d4], xmm0
mov qword [rsp + 0x1a8], rdx
mov rdx, rsi
movups xmmword [rsp + 0x1b4], xmm0
movups xmmword [rsp + 0x1c4], xmm0
mov qword [rsp + 0x1a0], rbx
mov dword [rsp + 0x1b0], 0xfe07
mov dword [rsp + 0x1b8], eax
mov qword [rsp + 0x1c8], r14
mov dword [rsp + 0x1d4], 1
movups xmmword [rsp + 0x1e0], xmm0
call sym.str_intp.constprop.0
mov edx, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
call sym._v_panic.isra.0
xor eax, eax
lea rdi, [rsp + 0x1b4]
mov ecx, 0x19
rep stosd dword [rdi], eax
lea rax, str.string_index_out_of_range:
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x1b0], 0xfe07
mov qword [rsp + 0x1a0], rax
mov rax, qword [0x14003d9b8]
lea rdx, [rsp + 0x1a0]
mov dword [rsp + 0x1d8], 0xfe07
mov qword [rsp + 0x1a8], rax
lea rax, [0x14003d4de]
mov qword [rsp + 0x1c8], rax
mov rax, qword [0x14003d9c0]
mov dword [rsp + 0x1e0], esi
mov qword [rsp + 0x1d0], rax
lea rax, [0x14003d126]
mov qword [rsp + 0x1f0], rax
mov dword [rsp + 0x1fc], 1
call sym.str_intp.constprop.1
mov edx, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
call sym._v_panic.isra.0
nop
nop word cs:[rax + rax]
nop dword [rax]