Function at 0x14007e1b0
Capabilities:
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x278
lea rbp, [rsp + 0x80]
mov r15, r8
mov r14, rdx
mov rsi, rcx
lea rcx, [rbp + 0x168]
call fcn.140012510
cmp word [rbp + 0x168], 2
jne 0x14007e287
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], 0
mov byte [rbp - 0x28], 1
movabs rax, 0x3a0000003a
mov qword [rbp - 0x30], rax
mov dil, 0x3a
mov rbx, r15
jmp 0x14007e229
cmp rbx, r15
ja 0x14007e2d4
mov cl, 0x3a
mov rdx, r14
mov r8, rbx
call fcn.140013f40
cmp rax, 1
jne 0x14007e2d4
mov rbx, rdx
cmp rdx, r15
jae 0x14007e220
cmp byte [r14 + rbx], dil
jne 0x14007e220
lea r12, [rbx + 1]
lea rdi, str.invalid_port_value
sub r15, r12
je 0x14007e2db
lea rcx, [r14 + rbx]
inc rcx
cmp r15, 1
jne 0x14007e2fa
movzx eax, byte [rcx]
cmp eax, 0x2b
je 0x14007e2db
mov r15d, 1
cmp eax, 0x2d
je 0x14007e2db
jmp 0x14007e348
movzx eax, byte [0x1400d3130]
mov edx, 0x20
xor ecx, ecx
call fcn.14008b3c0
test rax, rax
je 0x14007e85a
movups xmm0, xmmword [rbp + 0x168]
movups xmm1, xmmword [rbp + 0x178]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rcx, rax
add rcx, 0x20
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 1
mov qword [rsi + 0x18], rcx
jmp 0x14007e2e6
lea rdi, str.invalid_socket_address
mov qword [rsi + 8], rdi
mov qword [rsi], 0
add rsp, 0x278
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [rcx], 0x2b
jne 0x14007e342
inc rcx
lea rax, [r15 - 1]
cmp r15, 6
mov r15, rax
jb 0x14007e348
xor r8d, r8d
mov r9w, 0xa
xor eax, eax
cmp r15, r8
je 0x14007e373
mul r9w
seto r10b
movzx edx, byte [rcx + r8]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14007e2db
test r10b, r10b
jne 0x14007e2db
inc r8
add ax, dx
jae 0x14007e319
jmp 0x14007e2db
cmp r15, 5
jae 0x14007e30f
xor edx, edx
xor eax, eax
nop dword [rax]
movzx r8d, byte [rcx + rdx]
add r8d, 0xffffffd0
cmp r8d, 9
ja 0x14007e2db
add eax, eax
lea eax, [rax + rax*4]
add eax, r8d
inc rdx
cmp r15, rdx
jne 0x14007e350
mov word [rbp + 0x1f6], ax
mov eax, dword [0x1400d30f0]
cmp eax, 3
jne 0x14007e815
lea rax, [rbp + 0x1f6]
mov qword [rbp + 0x188], rax
cmp rbx, 0x17f
ja 0x14007e835
lea rdi, [rbp - 0x50]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov byte [rbp + rbx - 0x50], 0
cmp rbx, 0xe
ja 0x14007e3db
xor ecx, ecx
cmp byte [rbp + rcx - 0x50], 0
je 0x14007e476
inc rcx
cmp r12, rcx
jne 0x14007e3c3
jmp 0x14007e4e4
lea rax, [rbp - 0x49]
and rax, 0xfffffffffffffff8
sub rax, rdi
je 0x14007e408
xor ecx, ecx
cmp byte [rbp + rcx - 0x50], 0
je 0x14007e476
inc rcx
cmp rax, rcx
jne 0x14007e3ea
lea rcx, [rbx - 0xf]
cmp rax, rcx
jbe 0x14007e40c
jmp 0x14007e450
lea rcx, [rbx - 0xf]
movabs rdx, 0x8080808080808080
movabs r8, 0x101010101010100
mov r9, qword [rbp + rax - 0x50]
mov r10, qword [rbp + rax - 0x48]
mov r11, r8
sub r11, r10
or r11, r10
mov r10, r8
sub r10, r9
or r10, r9
and r10, rdx
and r10, r11
cmp r10, rdx
jne 0x14007e450
add rax, 0x10
cmp rax, rcx
jbe 0x14007e420
sub r12, rax
je 0x14007e4e4
lea rdx, [rax + rbp]
add rdx, 0xffffffffffffffb0
xor ecx, ecx
cmp byte [rdx + rcx], 0
je 0x14007e473
inc rcx
cmp r12, rcx
jne 0x14007e463
jmp 0x14007e4e4
add rcx, rax
cmp rcx, rbx
jne 0x14007e4e4
xorps xmm0, xmm0
movaps xmmword [rbp + 0x130], xmm0
movaps xmmword [rbp + 0x150], xmm0
movaps xmmword [rbp + 0x140], xmm0
mov dword [rbp + 0x138], 1
mov qword [rbp + 0x1b0], 0
lea rcx, [rbp - 0x50]
lea r8, [rbp + 0x130]
lea r9, [rbp + 0x1b0]
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x14007e7eb
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
mov qword [rbp + 0x198], rax
jmp 0x14007e4f7
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rbp + 0x198], rax
mov ecx, 1
mov rdi, qword [rbp + 0x198]
test cl, 1
jne 0x14007e2db
mov r14, qword [rbp + 0x1a0]
movzx eax, word [rbp + 0x1a8]
mov dword [rbp + 0x1dc], eax
test r14, r14
je 0x14007e564
mov rcx, r14
mov rax, qword [r14 + 0x20]
mov r14, qword [r14 + 0x28]
movzx edx, word [rax]
cmp edx, 0x17
je 0x14007e57a
cmp edx, 2
jne 0x14007e51b
cmp qword [rcx + 0x10], 0xf
jbe 0x14007e8b7
mov r12d, dword [rax + 4]
movzx r15d, word [rax + 2]
rol r15w, 8
lea rax, str.invalid_argument0
mov qword [rbp + 0x1e0], rax
xor r13d, r13d
jmp 0x14007e5c7
mov rcx, rdi
call sub.ws2_32.dll_freeaddrinfo
mov eax, 4
xor ebx, ebx
xor ecx, ecx
jmp 0x14007e7d0
cmp qword [rcx + 0x10], 0x1b
jbe 0x14007e8cc
movzx ebx, word [rax + 2]
rol bx, 8
mov ecx, dword [rax + 4]
mov dword [rbp + 0x1ec], ecx
mov ecx, dword [rax + 0x18]
mov dword [rbp + 0x1d0], ecx
mov r15d, dword [rax + 8]
mov r12d, r15d
shl r12d, 0x10
mov rcx, qword [rax + 0xc]
mov qword [rbp + 0x1e0], rcx
mov eax, dword [rax + 0x14]
mov dword [rbp + 0x1f0], eax
shr r15d, 0x10
mov r13w, 1
movzx eax, byte [0x1400d3130]
mov edx, pe_nt_image_headers64
xor ecx, ecx
call fcn.14008b3c0
test rax, rax
je 0x14007e869
test r13w, r13w
mov ecx, dword [rbp + 0x1dc]
cmovne ebx, ecx
cmove r15d, ecx
mov word [rax], r13w
mov dword [rax + 2], r12d
mov word [rax + 6], r15w
mov rcx, qword [rbp + 0x1e0]
mov qword [rax + 8], rcx
mov ecx, dword [rbp + 0x1f0]
mov dword [rax + 0x10], ecx
mov ecx, dword [rbp + 0x1ec]
mov dword [rax + 0x14], ecx
mov ecx, dword [rbp + 0x1d0]
mov dword [rax + 0x18], ecx
mov word [rax + 0x1c], bx
mov qword [rbp - 0x50], 4
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 1
mov ebx, 1
lea r10, [rbp - 0x50]
lea rcx, [0x1400be9c0]
mov qword [rbp + 0x1b8], rcx
lea rcx, str.assertion_failed:_len___mem::size_of::_c::sockaddr_in___std_src_sys_common_net.rs
mov qword [rbp + 0x1c0], rcx
jmp 0x14007e6d0
mov rax, qword [rbp - 0x48]
mov r10, r13
mov rcx, rbx
shl rcx, 5
mov edx, dword [rbp + 0x1ec]
mov word [rax + rcx], dx
mov edx, dword [rbp + 0x1e0]
mov dword [rax + rcx + 2], edx
mov word [rax + rcx + 6], r15w
mov rdx, qword [rbp + 0x1d0]
mov qword [rax + rcx + 8], rdx
mov edx, dword [rbp + 0x1cc]
mov dword [rax + rcx + 0x10], edx
mov edx, dword [rbp + 0x1c8]
mov dword [rax + rcx + 0x14], edx
mov edx, dword [rbp + 0x1f0]
mov dword [rax + rcx + 0x18], edx
mov word [rax + rcx + 0x1c], r12w
inc rbx
mov qword [rbp - 0x40], rbx
nop word cs:[rax + rax]
test r14, r14
je 0x14007e7c0
mov rdx, r14
mov rcx, qword [r14 + 0x20]
mov r14, qword [r14 + 0x28]
movzx r8d, word [rcx]
cmp r8d, 0x17
je 0x14007e724
cmp r8d, 2
jne 0x14007e6d0
cmp qword [rdx + 0x10], 0xf
jbe 0x14007e87a
mov edx, dword [rcx + 4]
mov dword [rbp + 0x1e0], edx
movzx r15d, word [rcx + 2]
rol r15w, 8
lea rcx, str.invalid_argument0
mov qword [rbp + 0x1d0], rcx
xor ecx, ecx
jmp 0x14007e777
cmp qword [rdx + 0x10], 0x1b
jbe 0x14007e881
movzx r12d, word [rcx + 2]
rol r12w, 8
mov edx, dword [rcx + 4]
mov dword [rbp + 0x1c8], edx
mov edx, dword [rcx + 0x18]
mov dword [rbp + 0x1f0], edx
mov r15d, dword [rcx + 8]
mov edx, r15d
shl edx, 0x10
mov dword [rbp + 0x1e0], edx
mov rdx, qword [rcx + 0xc]
mov qword [rbp + 0x1d0], rdx
mov ecx, dword [rcx + 0x14]
mov dword [rbp + 0x1cc], ecx
shr r15d, 0x10
mov cx, 1
mov dword [rbp + 0x1ec], ecx
test cx, cx
mov ecx, dword [rbp + 0x1dc]
cmove r15d, ecx
cmovne r12d, ecx
cmp rbx, qword [rbp - 0x50]
jne 0x14007e66d
mov qword [rsp + 0x20], 0x20
mov r8d, 1
mov r9d, 4
mov r13, r10
mov rcx, r10
mov rdx, rbx
call fcn.14005b7a0
jmp 0x14007e666
mov rcx, rdi
call sub.ws2_32.dll_freeaddrinfo
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
shl rbx, 5
add rbx, rax
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rbx
jmp 0x14007e2e6
mov rax, qword [rbp + 0x1b0]
movzx ecx, word [rbp + 0x1f6]
mov qword [rbp + 0x1a0], rax
mov word [rbp + 0x1a8], cx
xor ecx, ecx
mov qword [rbp + 0x198], rax
jmp 0x14007e4f7
call fcn.14007ddc0
lea rax, [rbp + 0x1f6]
mov qword [rbp + 0x188], rax
cmp rbx, 0x17f
jbe 0x14007e3a4
lea rcx, [rbp + 0x190]
lea r9, [rbp + 0x188]
mov rdx, r14
mov r8, rbx
call fcn.14007de30
mov rcx, qword [rbp + 0x190]
jmp 0x14007e4f7
mov ecx, 4
mov edx, 0x20
call fcn.14000bba0
mov ecx, 4
mov edx, pe_nt_image_headers64
call fcn.14000bb40
jmp 0x14007e8e4
mov edx, 0x39
jmp 0x14007e8a2
mov edx, 0x3a
lea rax, str.assertion_failed:_len___mem::size_of::_c::sockaddr_in6___
mov qword [rbp + 0x1c0], rax
lea rax, [0x1400bea18]
mov qword [rbp + 0x1b8], rax
mov rcx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1b8]
call fcn.140010a20
jmp 0x14007e8e4
lea r8, [0x1400be9c0]
mov edx, 0x39
lea rcx, str.assertion_failed:_len___mem::size_of::_c::sockaddr_in___std_src_sys_common_net.rs
jmp 0x14007e8df
lea r8, [0x1400bea18]
mov edx, 0x3a
lea rcx, str.assertion_failed:_len___mem::size_of::_c::sockaddr_in6___
call fcn.140010a20
ud2