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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xe8
mov r12, r8
mov rax, rdx
mov rsi, qword [r8]
mov r13, qword [r8 + 8]
cmp rsi, r13
je 0x140070ae0
movabs rbx, 0xcbf29ce484222325
movabs r15, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
mov r9, rsi
mov r8, rax
lea rdx, [rsp + 0x48]
call fcn.1400700e0
nop
lea rdx, [rsp + 0x48]
cmp qword [rbp - 0x69], 0xf
cmova rdx, qword [rsp + 0x48]
mov r9, rbx
xor ecx, ecx
mov r8, qword [rbp - 0x71]
test r8, r8
je 0x140070913
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x140070900
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x11]
lea rcx, [0x140156e00]
call fcn.1400a9000
mov rcx, qword [rax + 8]
mov r14, qword [0x140156e08]
test rcx, rcx
cmovne r14, rcx
cmp r14, qword [0x140156e08]
je 0x140070ac5
mov rbx, qword [r14 + 0x30]
lea rdi, [rbx + 8]
cmp qword [rdi], 0
jne 0x140070abb
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140070966
mov rdx, qword [rsi]
movabs r9, 0xcbf29ce484222325
mov r8, qword [rsi + 0x10]
xor ecx, ecx
test r8, r8
je 0x140070993
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x140070980
mov r8, rsi
lea rdx, [rbp - 1]
lea rcx, [0x140156e40]
call fcn.1400a9000
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140070abb
cmp rcx, qword [0x140156e48]
je 0x140070abb
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.fmod.dll_public:_enum_FMOD_RESULT___cdecl_FMOD::System::playSound_class_FMOD::Sound____ptr64__class_FMOD::ChannelGroup____ptr64__bool__class_FMOD::Channel____ptr64____ptr64____ptr64]
test eax, eax
jne 0x140070abb
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x39], xmm1
lea edx, [rax + 8]
call fcn.1400a4df0
mov r15, rax
mov qword [rbp - 0x61], rax
lea rdi, [rax + 0x20]
mov qword [rbp - 0x51], rdi
mov r8d, 0x20
lea rdx, [rbp - 0x49]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x59], rdi
lea rax, [rsp + 0x30]
mov qword [rbp + 0x67], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
mov edx, 8
call fcn.1400a4df0
mov rbx, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
lea rcx, [rax + 0x20]
mov qword [rsp + 0x40], rcx
sub rdi, r15
mov r8, rdi
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x20]
mov qword [rsp + 0x38], rax
mov rdx, r12
lea rcx, [rbp - 0x29]
call fcn.14009dbb0
nop
lea r9, [rsp + 0x30]
mov r8, rax
mov rdx, qword [rbp + 0x6f]
call fcn.140070ec0
mov rcx, qword [r14 + 0x30]
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.fmod.dll_public:_enum_FMOD_RESULT___cdecl_FMOD::ChannelControl::setPaused_bool____ptr64]
nop
test r15, r15
je 0x140070ab1
mov edx, 0x20
mov rcx, r15
call fcn.14010a7a8
movabs r15, 0x100000001b3
movabs rbx, 0xcbf29ce484222325
lea rcx, [rsp + 0x48]
call fcn.1400672b0
add rsi, 0x20
cmp rsi, r13
mov rax, qword [rbp + 0x6f]
jne 0x1400708d0
mov rcx, r12
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.14009f3a0