Function at 0x1400b3490
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
movdqa xmmword [rsp + 0x230], xmm7
movdqa xmmword [rsp + 0x220], xmm6
mov rdi, r8
mov r14, rdx
mov rsi, rcx
lea rcx, [rsp + 0xa0]
call dbg.from_str
cmp word [rsp + 0xa0], 2
jne 0x1400b35db
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], 1
movabs rax, 0x3a0000003a
mov qword [rsp + 0xc8], rax
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xa0]
call dbg.next_match_back
cmp qword [rsp + 0x70], 0
je 0x1400b3634
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
lea rcx, [r14 + rax]
sub rdi, rax
mov rdx, rdi
call sym.core::num::__impl_core::str::traits::FromStr_for_u16_::from_str::h4441f39206f132e0
mov edi, eax
test dil, 1
jne 0x1400b3640
shr edi, 0x10
mov rax, qword [0x1401f5160]
cmp rax, 3
jne 0x1400b3a3b
cmp rbx, 0x17f
ja 0x1400b3a4d
lea r15, [rsp + 0xa0]
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sym.memcpy
mov byte [rsp + rbx + 0xa0], 0
lea rax, [rbx + 1]
cmp rbx, 0xe
ja 0x1400b364c
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rsp + rdx + 0xa0], 0
je 0x1400b3714
inc rdx
cmp rax, rdx
jne 0x1400b35c0
jmp 0x1400b3776
movzx eax, byte [0x1401f5209]
mov ecx, 0x20
mov edx, 4
call sym.__rust_alloc
test rax, rax
je 0x1400b3a6a
movdqu xmm0, xmmword [rsp + 0xa0]
movdqu xmm1, xmmword [rsp + 0xb0]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov rcx, rax
add rcx, 0x20
mov qword [rsi], rax
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rcx
jmp 0x1400b379c
lea rax, str.invalid_socket_address
jmp 0x1400b3791
lea rax, str.invalid_port_value
jmp 0x1400b3791
lea rcx, [rsp + 0xa7]
and rcx, 0xfffffffffffffff8
sub rcx, r15
je 0x1400b3691
je 0x1400b3691
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rsp + rdx + 0xa0], 0
je 0x1400b3714
inc rdx
cmp rcx, rdx
jne 0x1400b3670
lea rdx, [rbx - 0xf]
cmp rcx, rdx
jbe 0x1400b3697
jmp 0x1400b36e1
lea rdx, [rbx - 0xf]
xor ecx, ecx
movdqa xmm0, xmmword [0x140112d50]
movabs r8, 0x8080808080808080
nop dword [rax]
movdqu xmm1, xmmword [rsp + rcx + 0xa0]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r9, xmm2
test r9, r8
jne 0x1400b36e1
add rcx, 0x10
cmp rcx, rdx
jbe 0x1400b36b0
sub rax, rcx
je 0x1400b3776
lea r8, [rsp + rcx]
add r8, 0xa0
xor edx, edx
nop word [rax + rax]
cmp byte [r8 + rdx], 0
je 0x1400b3711
inc rdx
cmp rax, rdx
jne 0x1400b3700
jmp 0x1400b3776
add rdx, rcx
cmp rdx, rbx
jne 0x1400b3776
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x78], 1
mov qword [rsp + 0x48], 0
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x70]
lea r9, [rsp + 0x48]
xor edx, edx
call sub.WS2_32.dll_getaddrinfo
test eax, eax
je 0x1400b3812
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x1400b377d
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsp + 0x58], rax
mov eax, 1
test rax, rax
je 0x1400b37c0
mov rax, qword [rsp + 0x58]
mov qword [rsi + 8], rax
mov qword [rsi], 0
movaps xmm6, xmmword [rsp + 0x220]
movaps xmm7, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400b37fe
movzx r13d, word [rsp + 0x68]
nop word cs:[rax + rax]
mov r8, qword [rax + 0x20]
mov r15, qword [rax + 0x28]
movzx edx, word [r8]
cmp edx, 0x17
je 0x1400b3855
cmp edx, 2
je 0x1400b382d
mov rax, r15
test r15, r15
jne 0x1400b37e0
call fcn.140103344
mov eax, 4
xor r14d, r14d
xor ecx, ecx
jmp 0x1400b3a20
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov word [rsp + 0x68], di
xor eax, eax
jmp 0x1400b3787
cmp qword [rax + 0x10], 0xf
mov qword [rsp + 0x28], rcx
jbe 0x1400b3ac1
mov ebp, dword [r8 + 4]
mov eax, ebp
shr eax, 0x10
movd xmm6, eax
pinsrw xmm6, r13d, 1
xor r12d, r12d
jmp 0x1400b387d
cmp qword [rax + 0x10], 0x1b
mov qword [rsp + 0x28], rcx
jbe 0x1400b3ad6
movdqu xmm6, xmmword [r8 + 8]
mov r14d, dword [r8 + 4]
mov edi, dword [r8 + 0x18]
pshufd xmm7, xmm6, 0xf9
mov r12w, 1
movzx eax, byte [0x1401f5209]
mov ecx, pe_nt_image_headers64
mov edx, 4
call sym.__rust_alloc
test rax, rax
je 0x1400b3a7b
mov rbx, rax
mov word [rax], r12w
mov word [rax + 2], bp
movd dword [rax + 4], xmm6
movq qword [rax + 8], xmm7
pshufd xmm0, xmm7, 0xee
movd dword [rax + 0x10], xmm0
mov dword [rax + 0x14], r14d
mov dword [rax + 0x18], edi
mov word [rax + 0x1c], r13w
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 4
mov qword [rsp + 0xb0], 1
mov r14d, 1
test r15, r15
je 0x1400b3a06
lea rcx, [rsp + 0xa0]
lea rax, [0x1401794a8]
mov qword [rsp + 0x40], rax
lea rax, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
mov qword [rsp + 0x38], rax
jmp 0x1400b397a
mov rbx, qword [rsp + 0xa0]
mov rcx, rdi
pshufd xmm0, xmm6, 0xf9
mov rax, r14
shl rax, 5
mov word [rbx + rax], bp
mov word [rbx + rax + 2], r12w
movd dword [rbx + rax + 4], xmm7
pshufd xmm1, xmm0, 0xee
movd dword [rbx + rax + 0x10], xmm1
movq qword [rbx + rax + 8], xmm0
mov edx, dword [rsp + 0x30]
mov dword [rbx + rax + 0x14], edx
mov edx, dword [rsp + 0x34]
mov dword [rbx + rax + 0x18], edx
mov word [rbx + rax + 0x1c], r13w
inc r14
mov qword [rsp + 0xb0], r14
test r15, r15
je 0x1400b3a06
mov r8, r15
nop dword [rax]
mov rax, qword [r8 + 0x20]
mov r15, qword [r8 + 0x28]
movzx edx, word [rax]
cmp edx, 0x17
je 0x1400b39c2
cmp edx, 2
je 0x1400b399f
mov r8, r15
test r15, r15
jne 0x1400b3980
jmp 0x1400b3a06
cmp qword [r8 + 0x10], 0xf
jbe 0x1400b3a8c
mov r12d, dword [rax + 4]
mov eax, r12d
shr eax, 0x10
movd xmm7, eax
pinsrw xmm7, r13d, 1
xor ebp, ebp
jmp 0x1400b39e8
cmp qword [r8 + 0x10], 0x1b
jbe 0x1400b3a93
movdqu xmm6, xmmword [rax + 8]
mov edx, dword [rax + 4]
mov dword [rsp + 0x30], edx
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x34], eax
mov bp, 1
movdqa xmm7, xmm6
cmp r14, qword [rsp + 0xa8]
jne 0x1400b3923
mov rdi, rcx
mov rdx, r14
call dbg.do_reserve_and_handle<core::net::socket_addr::SocketAddr, alloc::alloc::Global>
jmp 0x1400b3918
mov rcx, qword [rsp + 0x28]
call fcn.140103344
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
shl r14, 5
add r14, rax
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], r14
jmp 0x1400b379c
call dbg.initialize<unsafe extern "system" fn() -> i32, std::sync::once_lock::{impl#0}::get_or_init::{closure_env#0}<unsafe extern "system" fn() -> i32, std::sys::windows::net::init::{closure_env#0}>, !>
cmp rbx, 0x17f
jbe 0x1400b3583
lea rcx, [rsp + 0x50]
mov rdx, r14
mov r8, rbx
mov r9d, edi
call dbg.run_with_cstr_allocating<std::sys_common::net::LookupHost, std::sys_common::net::{impl#6}::try_from::{closure_env#0}>
mov rax, qword [rsp + 0x50]
jmp 0x1400b3787
mov ecx, 4
mov edx, 0x20
call dbg.handle_alloc_error
ud2
mov ecx, 4
mov edx, pe_nt_image_headers64
call dbg.handle_alloc_error
jmp 0x1400b3aee
mov edx, 0x42
jmp 0x1400b3ab0
mov edx, 0x43
lea rax, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
mov qword [rsp + 0x38], rax
lea rax, [0x140179508]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
call dbg.panic
jmp 0x1400b3aee
lea r8, [0x1401794a8]
mov edx, 0x42
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
jmp 0x1400b3ae9
lea r8, [0x140179508]
mov edx, 0x43
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
call dbg.panic
ud2