Function at 0x180025680
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
test rdx, rdx
je 0x180025a9c
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x180106040]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov esi, r8d
mov r15, rdx
mov r12, rcx
mov qword [rbp - 0x20], rdx
mov eax, r8d
mov ecx, 0x7fff
and eax, ecx
mov edi, 0xffffffff
cmp r8d, edi
cmove eax, ecx
cmp eax, 0x3fff
ja 0x180025a76
mov dword [rsp + 0x28], 0xa8a45978
mov dword [rsp + 0x24], 0xb6dd442e
lea r8, [rsp + 0x24]
lea rdx, [rsp + 0x30]
mov rcx, qword [0x1801f8c60]
call fcn.180041cf0
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rsp + 0x28]
lea rdx, [rbp - 0x80]
call fcn.180041a40
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x1c]
mov r13, qword [rax + r15]
test r13, r13
je 0x18002579a
mov ebx, dword [r13 + 0x10]
mov r14d, ebx
shr r14d, 0xf
mov dword [rsp + 0x20], 0xdc74a14c
mov dword [rsp + 0x2c], 0xae42345f
lea r8, [rsp + 0x2c]
lea rdx, [rsp + 0x60]
mov rcx, qword [0x1801f8c60]
call fcn.180041cf0
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
call fcn.180041a40
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x1c]
mov ecx, dword [rax + r13]
and ecx, 1
sub r14d, ecx
mov eax, ebx
mov ecx, 0x7fff
and eax, ecx
cmp ebx, edi
cmove eax, ecx
shl r14d, 0xf
mov edi, eax
or edi, r14d
cmp edi, esi
jne 0x180025a76
mov rax, qword [r15]
mov rdx, qword [rax + 0x128]
mov rcx, r15
call rdx
mov rdi, qword [rax]
mov rbx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
mov rdx, rbx
inc rdx
cmp byte [rdi + rdx], 0
jne 0x1800257c4
xor r13d, r13d
mov r8d, r13d
test rdx, rdx
je 0x1800257f9
mov eax, r13d
nop dword [rax + rax]
movsx eax, byte [rax + rdi]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x1800257e0
mov dword [rsp + 0x20], r9d
lea rdx, [rsp + 0x20]
mov rcx, r12
call fcn.180025fb0
mov rdx, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
je 0x18002581f
mov qword [rdx], r15
add qword [rax + 8], 8
jmp 0x18002582b
lea r8, [rbp - 0x20]
mov rcx, rax
call fcn.1800160a0
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r13
mov qword [rbp + 8], r13
nop word [rax + rax]
inc rbx
cmp byte [rdi + rbx], r13b
jne 0x180025840
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp - 0x10]
call fcn.18000ee00
nop
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.180025130
mov edx, dword [rax]
lea rcx, [rbp - 0x40]
call fcn.180002550
mov r12, rax
movabs rax, 0x7fffffffffffffff
mov rcx, rax
mov r15, qword [rbp]
sub rcx, r15
cmp rcx, 9
jb 0x180025a9d
lea r14, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova r14, qword [rbp - 0x10]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rsi, [r15 + 9]
mov ebx, 0xf
lea rdi, [rsp + 0x40]
cmp rsi, rbx
jbe 0x180025942
mov rbx, rsi
or rbx, 0xf
cmp rbx, rax
jbe 0x1800258fc
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.180095830
test rax, rax
je 0x180025924
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18002593d
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18002592b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180025aa3
jmp 0x1800258e1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x18002593a
call fcn.180095830
mov rdi, rax
jmp 0x18002593d
mov rdi, r13
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rbx
movsd xmm0, qword [str.Added___]
movsd qword [rdi], xmm0
movzx eax, byte [0x1800f2098]
mov byte [rdi + 8], al
lea rcx, [rdi + 9]
mov r8, r15
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], 0
mov r8d, 3
lea rdx, [0x1800f2088]
lea rcx, [rsp + 0x40]
call fcn.18000aa00
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r9, r12
lea r8, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.180012b70
nop
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x60]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180025a19
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
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
lea rcx, [rbp - 0x60]
call fcn.18000a900
nop
lea rcx, [rsp + 0x60]
call fcn.18000a900
nop
lea rcx, [rbp - 0x80]
call fcn.18000a900
nop
lea rcx, [rsp + 0x40]
call fcn.18000a900
nop
lea rcx, [rbp - 0x40]
call fcn.18000a900
nop
lea rcx, [rbp - 0x10]
call fcn.18000a900
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.180095810
mov rbx, qword [rsp + 0x170]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180001d50
nop
call fcn.180001cb0
int3