Function at 0x18007fc70
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 rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xf8
mov rax, qword [0x1801d1228]
xor r15d, r15d
mov ebx, r15d
mov qword [rsp + 0x40], 0
mov r13, rcx
mov dword [rsp + 0x48], 0
mov r12d, r15d
mov qword [rsp + 0x30], rbx
mov r9, qword [rax + 0x58]
movabs rcx, 0xaaaaaaaaaaaaaaa
movsxd rdi, dword [r9 + 0x1510]
mov dword [rbp - 0x71], edi
test edi, edi
je 0x18007fd01
cmp rdi, rcx
ja 0x18008048c
lea rax, [rdi + rdi*2]
lea rbx, [rax*8]
mov rcx, rbx
call fcn.180050c20
add rbx, rax
mov r12, rax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0xf0], rsi
mov ecx, 1
mov qword [rsp + 0xe8], r14
mov rsi, r12
movaps xmmword [rsp + 0xd0], xmm6
movabs r14, 0x2aaaaaaaaaaaaaab
mov dword [rbp + 0x7f], ecx
mov qword [rbp - 0x79], r12
cmp edi, ecx
jl 0x18007ffc8
mov qword [rbp - 0x79], r12
movabs r13, 0x100000001b3
nop dword [rax + rax]
mov rax, qword [0x1801d1228]
mov edx, ecx
mov rcx, qword [rax + 0x58]
call fcn.18005f9f0
mov r14, rax
test rax, rax
je 0x18007ffaa
mov qword [rbp - 0x69], r15
lea rdx, [rbp - 0x69]
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x120]
mov r9, qword [rbp - 0x69]
test r9, r9
je 0x18007ffaa
mov r9, qword [r9 + 8]
movabs r8, 0xcbf29ce484222325
mov rcx, r9
cmp byte [r9], 0
je 0x18007fdaf
inc rcx
cmp byte [rcx], 0
jne 0x18007fda7
mov rdx, r15
sub rcx, r9
je 0x18007ffaa
nop dword [rax + rax]
movsx rax, byte [r9 + rdx]
inc rdx
xor r8, rax
imul r8, r13
cmp rdx, rcx
jb 0x18007fdc0
movabs rax, 0xc106a596b87eca81
cmp r8, rax
jne 0x18007ffaa
mov rcx, r14
call fcn.180089a10
movss xmm0, dword [0x1801d12b0]
movss xmm1, dword [0x1801d12a8]
movss xmm2, dword [0x1801d12ac]
subss xmm2, dword [rax + 4]
subss xmm0, dword [rax + 8]
subss xmm1, dword [rax]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18007fe3a
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x18007fe45
movaps xmm0, xmm2
call fcn.1801239f8
movaps xmm6, xmm0
lea rdx, [rbp - 0x59]
mov rcx, r14
call fcn.180078c70
mov r13, rax
cmp r12, rbx
je 0x18007fe79
mov eax, dword [rax]
movss dword [r12 + 0xc], xmm6
mov qword [r12], r14
mov dword [r12 + 8], eax
mov dword [r12 + 0x10], r15d
add r12, 0x18
jmp 0x18007ffa0
sub r12, rsi
movabs rcx, 0x2aaaaaaaaaaaaaab
mov rax, rcx
movabs r8, 0xaaaaaaaaaaaaaaa
imul r12
mov rdi, rdx
sar rdi, 2
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp rdi, r8
je 0x180080480
sub rbx, rsi
lea r15, [rdi + 1]
mov rax, rcx
imul rbx
mov rsi, rdx
sar rsi, 2
mov rax, rsi
shr rax, 0x3f
add rsi, rax
mov rax, r8
mov rcx, rsi
shr rcx, 1
sub rax, rcx
cmp rsi, rax
jbe 0x18007fee4
mov rcx, r8
jmp 0x18007fefb
lea rax, [rcx + rsi]
mov rcx, r15
cmp rax, r15
cmovae rcx, rax
cmp rcx, r8
ja 0x180080498
lea rax, [rcx + rcx*2]
lea rax, [rax*8]
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.180050c20
mov ecx, dword [r13]
lea rdx, [rdi + rdi*2]
mov rdi, qword [rbp - 0x79]
mov r8, r12
mov rbx, rax
mov dword [rax + rdx*8 + 8], ecx
mov rcx, rax
movss dword [rax + rdx*8 + 0xc], xmm6
mov qword [rax + rdx*8], r14
mov dword [rax + rdx*8 + 0x10], 0
mov rdx, rdi
call fcn.180124980
test rdi, rdi
je 0x18007ff81
lea rdx, [rsi + rsi*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x18007ff79
mov rcx, qword [rdi - 8]
add rdx, 0x27
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x180080492
mov rdi, rcx
mov rcx, rdi
call fcn.1800f3cac
mov edi, dword [rbp - 0x71]
lea rax, [r15 + r15*2]
lea r12, [rbx + rax*8]
mov qword [rbp - 0x79], rbx
mov rsi, rbx
add rbx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
xor r15d, r15d
movabs r13, 0x100000001b3
mov ecx, dword [rbp + 0x7f]
inc ecx
mov dword [rbp + 0x7f], ecx
cmp ecx, edi
jle 0x18007fd50
mov r13, qword [rbp + 0x67]
movabs r14, 0x2aaaaaaaaaaaaaab
mov rcx, r12
mov dword [rsp + 0x20], 0xc
sub rcx, rsi
mov rax, r14
imul rcx
xor r9d, r9d
mov rcx, rsi
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, r12
call fcn.1800821c0
cmp rsi, r12
je 0x180080405
mov r15d, dword [rsp + 0x48]
lea r14, [rsi + 8]
mov rsi, qword [rbp + 0x6f]
movabs rdi, 0xdccf003ada4c08e3
movsd xmm6, qword [rsp + 0x40]
nop
mov edx, dword [r14]
cmp edx, 0xffffffff
je 0x1800803e6
cmp dword [r14 + 8], 0
jne 0x1800803e6
mov rax, qword [0x1801d1228]
and edx, 0x7fff
mov rcx, qword [rax + 0x58]
call fcn.18005f9f0
mov rbx, rax
test rax, rax
je 0x1800803e6
mov ecx, dword [0x1801d11fc]
test cl, 1
jne 0x18008007d
or ecx, 1
mov dword [0x1801d11fc], ecx
mov rcx, rdi
call fcn.180076d90
mov dword [0x1801d1210], eax
jmp 0x180080083
mov eax, dword [0x1801d1210]
mov eax, eax
cmp byte [rax + rbx], 0
je 0x1800803e6
mov rax, qword [0x1801d1228]
mov rdi, qword [rax + 0x58]
mov eax, dword [0x1801d1214]
test al, 1
jne 0x1800800c4
or eax, 1
movabs rcx, 0x9241b8778dd136bd
mov dword [0x1801d1214], eax
call fcn.180076d90
mov dword [0x1801d1484], eax
jmp 0x1800800ca
mov eax, dword [0x1801d1484]
mov edx, eax
mov edx, dword [rdx + rbx]
cmp edx, 0xffffffff
je 0x1800803dc
and edx, 0x7fff
mov rcx, rdi
call fcn.18005f9f0
mov rbx, rax
test rax, rax
je 0x1800803dc
mov ecx, dword [0x1801d1790]
test cl, 1
jne 0x18008011d
or ecx, 1
mov dword [0x1801d1790], ecx
movabs rcx, 0x9320aed4f2ddf04b
call fcn.180076d90
mov dword [0x1801d17c0], eax
jmp 0x180080123
mov eax, dword [0x1801d17c0]
mov eax, eax
cmp dword [rax + rbx], 0
jle 0x1800803dc
mov rdx, rbx
mov rcx, rsi
call fcn.180089b60
test al, al
je 0x1800803dc
mov eax, dword [0x1801d178c]
test al, 1
jne 0x18008016c
or eax, 1
movabs rcx, 0x9f4c773fb92eaba8
mov dword [0x1801d178c], eax
call fcn.180076d90
mov dword [0x1801d1784], eax
jmp 0x180080172
mov eax, dword [0x1801d1784]
mov eax, eax
mov rdi, qword [rax + rbx]
mov eax, dword [0x1801d1858]
test al, 1
jne 0x1800801a2
or eax, 1
movabs rcx, 0xfbb517d29079c514
mov dword [0x1801d1858], eax
call fcn.180076d90
mov dword [0x1801d187c], eax
jmp 0x1800801a8
mov eax, dword [0x1801d187c]
mov eax, eax
cmp byte [rax + rdi], 0
jne 0x1800803dc
mov eax, dword [0x1801d17d4]
test al, 1
jne 0x1800801de
or eax, 1
movabs rcx, 0x4ff1a61db0a3a408
mov dword [0x1801d17d4], eax
call fcn.180076d90
mov dword [0x1801d17d0], eax
jmp 0x1800801e4
mov eax, dword [0x1801d17d0]
mov eax, eax
cmp byte [rax + rbx], 0
jne 0x1800803dc
mov rdx, rsi
mov rcx, rbx
call fcn.1800896a0
test al, al
jne 0x180080228
mov rax, qword [0x1801d19f8]
shl rax, 5
add rax, qword [0x1801ceea0]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18008021f
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x1800803dc
mov eax, dword [0x1801d183c]
test al, 1
jne 0x180080255
or eax, 1
movabs rcx, 0x79737564f6f2d233
mov dword [0x1801d183c], eax
call fcn.180076d90
add eax, 8
mov dword [0x1801d1840], eax
jmp 0x18008025b
mov eax, dword [0x1801d1840]
mov rcx, qword [rbp + 0x77]
xorps xmm2, xmm2
mov dword [rbp - 0x39], 0
mov qword [rbp - 0x29], rsi
mov qword [rbp - 0x21], rbx
mov rcx, qword [rax + rcx]
mov rax, qword [0x1801d1db8]
movups xmm1, xmmword [rbp - 0x29]
mov qword [rbp - 0x31], rcx
movups xmm0, xmmword [rbp - 0x39]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm2
mov eax, dword [0x1801d178c]
test al, 1
jne 0x1800802bd
or eax, 1
movabs rcx, 0x9f4c773fb92eaba8
mov dword [0x1801d178c], eax
call fcn.180076d90
mov dword [0x1801d1784], eax
jmp 0x1800802c3
mov eax, dword [0x1801d1784]
mov eax, eax
mov rcx, qword [rax + rbx]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x40]
call rdx
mov rdi, rax
test rax, rax
je 0x180080345
mov ecx, dword [0x1801d1834]
test cl, 1
jne 0x180080305
or ecx, 1
mov dword [0x1801d1834], ecx
movabs rcx, 0xd6ef18fd7bcdf6f
call fcn.180076d90
mov dword [0x1801d1838], eax
jmp 0x18008030b
mov eax, dword [0x1801d1838]
mov eax, eax
mov rcx, qword [rax + rdi + 0x80]
test rcx, rcx
je 0x180080345
movaps xmm2, xmmword [rcx + 0xc0]
movaps xmm0, xmmword [rcx + 0xd0]
movaps xmm1, xmm2
movaps xmmword [rbp - 0x29], xmm0
movaps xmm6, xmm2
movaps xmm0, xmm2
shufps xmm1, xmm2, 0x55
shufps xmm0, xmm2, 0xaa
movd r15d, xmm0
unpcklps xmm6, xmm1
lea rdx, [rbp - 9]
movsd qword [rsp + 0x40], xmm6
mov rcx, rsi
mov dword [rsp + 0x48], r15d
call fcn.18007a920
mov rcx, qword [0x1801d1db8]
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x69]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp - 0x69], xmm0
mov dword [rbp - 0x61], eax
call fcn.1800792d0
test al, al
jne 0x1800803a9
mov rax, qword [0x1801d19f8]
shl rax, 5
add rax, qword [0x1801ceea0]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x1800803a4
mov rcx, qword [rcx]
cmp byte [rcx], 0
jne 0x1800803dc
mov eax, dword [r14]
mov rdx, qword [r13 + 8]
and eax, 0x7fff
mov dword [rbp - 0x51], eax
mov qword [rbp - 0x49], rbx
cmp rdx, qword [r13 + 0x10]
je 0x1800803d0
movups xmm0, xmmword [rbp - 0x51]
movups xmmword [rdx], xmm0
add qword [r13 + 8], 0x10
jmp 0x1800803dc
lea r8, [rbp - 0x51]
mov rcx, r13
call fcn.180082480
movabs rdi, 0xdccf003ada4c08e3
add r14, 0x18
lea rcx, [r14 - 8]
cmp rcx, r12
jne 0x180080020
mov rsi, qword [rbp - 0x79]
movabs r14, 0x2aaaaaaaaaaaaaab
test rsi, rsi
je 0x180080457
mov rcx, qword [rsp + 0x30]
mov rax, r14
sub rcx, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x18008044f
mov rcx, qword [rsi - 8]
add rdx, 0x27
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
ja 0x180080486
mov rsi, rcx
mov rcx, rsi
call fcn.1800f3cac
mov r14, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xf8
pop r15
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
call fcn.1800821a0
int3
call fcn.180101fd4
int3
call fcn.1800821a0
int3
call fcn.180101fd4
int3
call fcn.180034de0
int3