Function at 0x1400017b0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.140004600
sub rsp, rax
movaps xmmword [rsp + 0x1450], xmm6
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1340], rax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
xor r15d, r15d
mov r13d, r15d
mov qword [rbp - 0x58], r15
mov ebx, r15d
mov rdx, qword [rbp - 0x60]
nop
mov eax, ebx
imul eax, ebx
mov dword [rsp + 0x20], eax
cmp rdx, r13
je 0x14000182a
mov dword [rdx], eax
add rdx, 4
mov qword [rbp - 0x60], rdx
jmp 0x140001840
lea r8, [rsp + 0x20]
lea rcx, [rbp - 0x68]
call fcn.1400032b0
mov r13, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
inc ebx
cmp ebx, 0x64
jl 0x140001810
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov ecx, 0x20
call fcn.1400036c8
mov rdx, rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], 0x1d
mov r10d, 0x1f
mov qword [rbp - 0x80], r10
movups xmm0, xmmword [str.This_is_a_very_useless_string]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x140005488]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x140005490]
mov dword [rax + 0x18], ecx
movzx eax, byte [0x140005494]
mov byte [rdx + 0x1c], al
mov byte [rdx + 0x1d], 0
mov r9d, r15d
mov r11, r15
nop dword [rax + rax]
lea r8, [rsp + 0x68]
cmp r10, 0xf
cmova r8, rdx
lea rcx, [rsp + 0x68]
cmova rcx, rdx
mov eax, 0x66666667
imul r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl al, 2
add dl, al
movzx eax, byte [r11 + r8]
sub al, dl
add al, r9b
mov byte [rcx + r11], al
inc r9d
movsxd r11, r9d
mov rcx, qword [rsp + 0x78]
cmp r11, rcx
jae 0x140001908
mov r10, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x68]
jmp 0x1400018b0
lea rbx, [rsp + 0x68]
mov rdi, qword [rsp + 0x68]
mov r14, qword [rbp - 0x80]
cmp r14, 0xf
cmova rbx, rdi
lea rsi, [rsp + 0x68]
cmova rsi, rdi
add rsi, rcx
cmp rbx, rsi
je 0x140001947
nop
movzx edx, byte [rbx]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400029a0
inc rbx
cmp rbx, rsi
jne 0x140001930
lea rdx, [0x140002b70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
cmp r14, 0xf
jbe 0x140001996
lea rdx, [r14 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000198e
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000198e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1400036c0
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1334], 0xffffffff
mov dword [rbp - 0x4c], eax
mov edx, 1
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x4c], eax
inc rdx
cmp rdx, 0x270
jb 0x1400019b0
mov dword [rbp - 0x50], 0x270
mov ebx, 0xa
nop dword [rax + rax]
lea rcx, [rbp - 0x50]
call fcn.140003460
mov ecx, eax
imul rdx, rcx, 0x64
cmp edx, 0x5f
ja 0x140001a08
lea rcx, [rbp - 0x50]
call fcn.140003460
mov ecx, eax
imul rdx, rcx, 0x64
cmp edx, 0x60
jb 0x1400019f4
shr rdx, 0x20
add edx, 0x80000001
xor edx, 0x80000000
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, str._:.
call fcn.140002bb0
sub rbx, 1
jne 0x1400019e0
lea rdx, [0x140002b70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm6, xmm6
xorps xmm0, xmm0
movsd xmm1, qword [str.gfffff__]
ucomisd xmm0, xmm1
ja 0x140001a68
sqrtpd xmm3, xmm1
jmp 0x140001a73
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm3, xmm0
mov ecx, 2
mov edx, 0x64
nop dword [rax]
lea eax, [rcx - 1]
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
movaps xmm2, xmm3
divsd xmm2, xmm1
addsd xmm6, xmm2
xorps xmm1, xmm1
cvtsi2sd xmm1, ecx
movaps xmm0, xmm3
divsd xmm0, xmm1
addsd xmm6, xmm0
lea eax, [rcx + 1]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movaps xmm1, xmm3
divsd xmm1, xmm0
addsd xmm6, xmm1
lea eax, [rcx + 2]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movaps xmm1, xmm3
divsd xmm1, xmm0
addsd xmm6, xmm1
lea eax, [rcx + 3]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movaps xmm1, xmm3
divsd xmm1, xmm0
addsd xmm6, xmm1
lea eax, [rcx + 4]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movaps xmm1, xmm3
divsd xmm1, xmm0
addsd xmm6, xmm1
lea eax, [rcx + 5]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movaps xmm1, xmm3
divsd xmm1, xmm0
addsd xmm6, xmm1
lea eax, [rcx + 6]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movaps xmm1, xmm3
divsd xmm1, xmm0
addsd xmm6, xmm1
lea eax, [rcx + 7]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movaps xmm1, xmm3
divsd xmm1, xmm0
addsd xmm6, xmm1
lea eax, [rcx + 8]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movaps xmm2, xmm3
divsd xmm2, xmm0
addsd xmm6, xmm2
add ecx, 0xa
sub rdx, 1
jne 0x140001a80
lea rdx, [0x1400054a8]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002bb0
mov rcx, rax
movaps xmm1, xmm6
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___double____ptr64]
mov rcx, rax
lea rdx, [0x140002b70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
lea rcx, [rbp - 0x78]
call fcn.140001200
nop
mov rdi, qword [rbp - 0x78]
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
jne 0x140001cc6
nop dword [rax]
mov rbx, qword [rdi + 0x28]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x140001c5a
nop dword [rax]
nop word [rax + rax]
mov edx, dword [rbx + 0x1c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x14000549c]
call fcn.140002bb0
mov rcx, rax
mov edx, dword [rbx + 0x20]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, str._:.
call fcn.140002bb0
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x140001c38
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140001c33
nop
cmp rbx, qword [rax + 0x10]
jne 0x140001c33
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140001c20
mov rbx, rax
jmp 0x140001c50
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x140001c50
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140001c44
cmp byte [rbx + 0x19], 0
je 0x140001bd0
lea rdx, [0x140002b70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x19], 0
je 0x140001c9a
mov rax, qword [rdi + 8]
cmp byte [rax + 0x19], 0
jne 0x140001c95
cmp rdi, qword [rax + 0x10]
jne 0x140001c95
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140001c82
mov rdi, rax
jmp 0x140001cbc
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x140001cbc
nop word [rax + rax]
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140001cb0
cmp byte [rdi + 0x19], 0
je 0x140001bb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 4
mov qword [rsp + 0x40], 0xf
mov eax, dword [str.junk]
mov dword [rsp + 0x28], eax
mov byte [rsp + 0x2c], 0
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x48]
call fcn.140001470
mov rbx, rax
lea rdx, str.Redundant_Function_Output:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002bb0
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140001d21
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140003030
lea rdx, [0x140002b70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x140001d7e
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001d79
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001d79
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400036c0
mov r12d, r15d
mov esi, r15d
mov r14d, 0xa
nop word [rax + rax]
mov ebx, r15d
mov edi, 0xa
nop dword [rax + rax]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test bl, 1
lea rdx, [0x1400054a0]
je 0x140001dba
lea rdx, [0x1400054a4]
call fcn.140002bb0
add ebx, esi
sub rdi, 1
jne 0x140001da0
add esi, r12d
sub r14, 1
jne 0x140001d90
inc r12d
cmp r12d, 0xa
jl 0x140001d81
lea rdx, [0x140002b70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0xfa0
call fcn.140003704
mov rsi, rax
movdqa xmm2, xmmword [0x1400055c0]
mov ecx, 8
lea rdx, [rax + 0x20]
mov ebx, 0x3e8
movd xmm0, r15d
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movdqu xmmword [rdx - 0x20], xmm0
lea eax, [rcx - 4]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
movdqu xmmword [rdx - 0x10], xmm1
movd xmm0, ecx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movdqu xmmword [rdx], xmm0
lea eax, [rcx + 4]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
movdqu xmmword [rdx + 0x10], xmm1
add r15d, 0x10
add ecx, 0x10
lea rdx, [rdx + 0x40]
cmp ecx, ebx
jl 0x140001e10
cmp r15d, ebx
jge 0x140001e8f
movsxd rax, r15d
lea rcx, [rsi + rax*4]
nop dword [rax]
mov dword [rcx], r15d
inc r15d
lea rcx, [rcx + 4]
cmp r15d, ebx
jl 0x140001e80
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [rdi]
mov eax, 0x66666667
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*4]
add ecx, ecx
cmp r8d, ecx
jne 0x140001ede
mov edx, r8d
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, str._:.
call fcn.140002bb0
add rdi, 4
sub rbx, 1
jne 0x140001ea0
lea rdx, [0x140002b70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rsi
call fcn.1400036c0
lea rdx, str.Done_running_junk_code.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002bb0
mov rcx, rax
lea rdx, [0x140002b70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov r8, qword [rbp - 0x78]
mov r8, qword [r8 + 8]
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x78]
call fcn.1400031f0
mov edx, 0x38
mov rcx, qword [rbp - 0x78]
call fcn.1400036c0
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140001f8c
sub r13, rcx
and r13, 0xfffffffffffffffc
mov rax, rcx
cmp r13, 0x1000
jb 0x140001f84
add r13, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001f84
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, r13
call fcn.1400036c0
xor eax, eax
mov rcx, qword [rbp + 0x1340]
xor rcx, rsp
call fcn.1400036a0
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret