Function at 0x1400011a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov rsi, rdx
movsxd r15, ecx
mov rdx, qword [rdx + 0x10]
mov rdi, r9
mov r14, r8
cmp r15, rdx
jne 0x1400015ae
mov ecx, dword [r9]
test ecx, ecx
je 0x140001470
sub ecx, 1
je 0x140001426
cmp ecx, 1
jne 0x1400015a9
cmp qword [rsi + 0x18], 0x10
mov r9, rsi
jb 0x1400011f3
mov r9, qword [rsi]
xor ebx, ebx
mov ecx, ebx
mov r8d, ebx
test rdx, rdx
je 0x14000121c
nop
movzx eax, byte [r8 + r9]
inc r8
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp r8, rdx
jne 0x140001200
mov r15, qword [rsp + 0xa0]
lea eax, [rcx + rcx*8]
mov ecx, eax
movabs rbp, 0x624dd2f1a9fbe77
shr ecx, 0xb
xor ecx, eax
mov rax, qword [rsp + 0x90]
imul edx, ecx, 0x8001
cmp edx, dword [rax]
jne 0x14000131c
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Found_collision_with
call fcn.140001ae0
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
jb 0x14000126e
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, rax
call fcn.140001e70
lea rdx, str.___with
mov rcx, rax
call fcn.140001ae0
mov rdx, qword [r14]
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._iterations.
call fcn.140001ae0
mov rcx, rax
call fcn.140001cb0
mov rcx, rax
lea rdx, str.It_has_taken
call fcn.140001ae0
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, qword [r15]
mov rcx, rdi
mov rdx, 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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._ms__or
call fcn.140001ae0
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
mov rax, rbp
sub rcx, qword [r15]
mul rcx
sub rcx, rdx
shr rcx, 1
add rdx, rcx
mov rcx, rdi
shr rdx, 9
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._seconds._n
call fcn.140001ae0
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
mov r8, qword [rsi + 0x10]
jb 0x14000132d
mov rdx, qword [rsi]
mov rcx, rbx
test r8, r8
je 0x14000135b
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
inc rcx
add eax, ebx
imul ebx, eax, 0x401
mov eax, ebx
sar eax, 6
xor ebx, eax
cmp rcx, r8
jne 0x140001340
lea eax, [rbx + rbx*8]
mov ecx, eax
sar ecx, 0xb
xor ecx, eax
mov rax, qword [rsp + 0x98]
imul ecx, ecx, 0x8001
cmp ecx, dword [rax]
jne 0x1400015a9
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Found_collision_with
call fcn.140001ae0
cmp qword [rsi + 0x18], 0x10
mov r8, qword [rsi + 0x10]
jb 0x14000139c
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, rax
call fcn.140001e70
lea rdx, str.___with
mov rcx, rax
call fcn.140001ae0
mov rdx, qword [r14]
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._iterations.
call fcn.140001ae0
mov rcx, rax
call fcn.140001cb0
mov rcx, rax
lea rdx, str.It_has_taken
call fcn.140001ae0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, qword [r15]
mov rcx, rbx
mov rdx, 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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._ms__or
call fcn.140001ae0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
mov rax, rbp
sub rcx, qword [r15]
jmp 0x140001581
cmp qword [rsi + 0x18], 0x10
mov r8, rsi
jb 0x140001433
mov r8, qword [rsi]
xor ebx, ebx
mov ecx, ebx
test rdx, rdx
je 0x14000145c
nop dword [rax]
movzx eax, byte [rcx + r8]
inc rcx
add eax, ebx
imul ebx, eax, 0x401
mov eax, ebx
sar eax, 6
xor ebx, eax
cmp rcx, rdx
jne 0x140001440
lea eax, [rbx + rbx*8]
mov ecx, eax
sar ecx, 0xb
xor ecx, eax
mov rax, qword [rsp + 0x98]
jmp 0x1400014be
cmp qword [rsi + 0x18], 0x10
mov r8, rsi
jb 0x14000147d
mov r8, qword [rsi]
xor ebx, ebx
mov ecx, ebx
test rdx, rdx
je 0x1400014ac
nop word [rax + rax]
movzx eax, byte [rcx + r8]
inc rcx
add eax, ebx
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp rcx, rdx
jne 0x140001490
lea eax, [rbx + rbx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov rax, qword [rsp + 0x90]
imul ecx, ecx, 0x8001
cmp ecx, dword [rax]
jne 0x1400015a9
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Found_collision_with
call fcn.140001ae0
cmp qword [rsi + 0x18], 0x10
mov r8, qword [rsi + 0x10]
jb 0x1400014ed
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, rax
call fcn.140001e70
lea rdx, str.___with
mov rcx, rax
call fcn.140001ae0
mov rdx, qword [r14]
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._iterations.
call fcn.140001ae0
mov rcx, rax
call fcn.140001cb0
lea rdx, str.It_has_taken
mov rcx, rax
call fcn.140001ae0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rdi, qword [rsp + 0xa0]
mov rcx, rbx
sub rax, qword [rdi]
mov rdx, 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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._ms__or
call fcn.140001ae0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
movabs rax, 0x624dd2f1a9fbe77
sub rcx, qword [rdi]
mul rcx
sub rcx, rdx
shr rcx, 1
add rdx, rcx
mov rcx, rbx
shr rdx, 9
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._seconds._n
call fcn.140001ae0
inc qword [r14]
jmp 0x140001626
mov qword [rsp + 0x70], r12
lea rbx, str.abcdefghijklmnopqrstuvwxyz1234567890_
mov r12, qword [rsp + 0xa0]
lea ebp, [rcx + 1]
mov qword [rsp + 0x78], r13
mov r13, qword [rsp + 0x98]
cmp qword [rsi + 0x18], 0x10
mov rax, rsi
movzx ecx, byte [rbx]
jb 0x1400015e2
mov rax, qword [rsi]
mov byte [r15 + rax], cl
mov r9, rdi
mov rax, qword [rsp + 0x90]
mov r8, r14
mov qword [rsp + 0x30], r12
mov rdx, rsi
mov qword [rsp + 0x28], r13
mov ecx, ebp
mov qword [rsp + 0x20], rax
call fcn.1400011a0
lea rax, [0x14000605d]
inc rbx
cmp rbx, rax
jne 0x1400015d2
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret