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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm9
mov r15, r8
mov rsi, rdx
xor edi, edi
test r9b, r9b
jne 0x1800974f4
mov rax, qword [0x1800cea98]
movss xmm6, dword [rax + 0x14]
addss xmm6, dword [0x1800b9764]
movss xmm7, dword [rax + 0x10]
addss xmm7, dword [0x1800ba0d0]
movaps xmm0, xmmword [0x1800ba910]
movss xmm9, dword [0x1800b96a4]
movq qword [rsp + 0x30], xmm0
psrldq xmm0, 8
movq qword [rsp + 0x38], xmm0
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
movss xmm0, dword [0x1800b96a8]
unpcklps xmm0, xmm9
movq rdx, xmm0
movaps xmm1, xmm7
unpcklps xmm1, xmm6
movq rcx, xmm1
call qword [0x1800cea08]
mov ecx, edi
cmp byte [rsi], dil
je 0x1800970f8
inc rcx
cmp byte [rcx + rsi], dil
jne 0x1800970ef
movabs rbx, 0xcbf29ce484222325
mov rdx, rbx
mov r8, rdi
movabs r13, 0x100000001b3
test rcx, rcx
je 0x18009712b
movsx rax, byte [r8 + rsi]
imul rdx, r13
xor rdx, rax
inc r8
cmp r8, rcx
jb 0x180097117
mov rax, qword [0x1800cea88]
cmp rax, rdx
sete byte [rsp + 0x20]
cmp qword [0x1800cea90], rdi
jne 0x18009714f
test rax, rax
mov byte [rbp + 0xc8], 1
je 0x180097156
mov byte [rbp + 0xc8], dil
xor edx, edx
mov ecx, dword [r15]
call fcn.18008cac4
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.180071288
nop
mov edi, 0xf
movabs r14, 0x913756a59d248bac
movabs r12, 0x3cafef8cea809627
cmp qword [rbp - 0x78], rdi
jbe 0x1800971ce
lea rax, [rbp]
cmp qword [rsp + 0x70], rax
jne 0x1800971ce
movabs rax, 0x3ccb81f985e2f852
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r14
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
jmp 0x1800971dd
lea r8, [rsp + 0x70]
cmp qword [rbp - 0x78], rdi
cmova r8, qword [rsp + 0x70]
mov qword [rsp + 0x50], r8
movaps xmm1, xmm6
addss xmm1, xmm9
movaps xmm0, xmm7
addss xmm0, dword [0x1800b96a8]
movss xmm3, dword [0x1800ce9d8]
comiss xmm3, xmm7
jb 0x180097287
movss xmm2, dword [0x1800ce9dc]
comiss xmm2, xmm6
jb 0x180097287
comiss xmm3, xmm0
ja 0x180097287
comiss xmm2, xmm1
ja 0x180097287
cmp byte [rsp + 0x20], 0
jne 0x180097292
xor r12d, r12d
cmp byte [rbp + 0xc8], r12b
je 0x1800973f0
cmp byte [0x1800ce9e0], r12b
je 0x1800973f0
cmp byte [0x1800ce9e1], r12b
jne 0x1800973f0
mov ecx, r12d
cmp byte [rsi], r12b
je 0x18009725f
inc rcx
cmp byte [rcx + rsi], r12b
jne 0x180097256
mov rdx, r12
test rcx, rcx
je 0x18009727b
movsx rax, byte [rdx + rsi]
imul rbx, r13
xor rbx, rax
inc rdx
cmp rdx, rcx
jb 0x180097267
mov qword [0x1800cea88], rbx
jmp 0x1800973f0
cmp byte [rsp + 0x20], 0
je 0x1800973ed
movss xmm0, dword [0x1800ce2a8]
movss xmm2, dword [0x1800b8ffc]
mulss xmm0, xmm2
cvttss2si edx, xmm0
movss xmm0, dword [0x1800ce2a4]
mulss xmm0, xmm2
cvttss2si ecx, xmm0
movss xmm1, dword [0x1800ce2a0]
mulss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm2, dword [0x1800b90dc]
mulss xmm0, xmm2
movss dword [rsp + 0x50], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [rsp + 0x54], xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
movss dword [rsp + 0x58], xmm1
mov dword [rsp + 0x5c], 0x3ec8c8ca
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
movss xmm0, dword [0x1800b96a8]
unpcklps xmm0, xmm9
movq rdx, xmm0
movaps xmm1, xmm7
unpcklps xmm1, xmm6
movq rcx, xmm1
call qword [0x1800cea08]
movabs rax, 0x3cafef8ceaaeb809
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r14
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov qword [rsp + 0x50], r8
xor r12d, r12d
mov eax, r12d
mov ecx, r12d
lea rdx, [0x180000000]
cmp byte [rcx + rdx + 0xd5750], r12b
je 0x1800973c3
cmp byte [rcx + rdx + 0xd58a0], r12b
jne 0x1800973c3
cmp qword [rbp - 0x78], rdi
jbe 0x1800973b9
lea r9, [rbp + 0x10]
cmp qword [rsp + 0x70], r9
je 0x1800973bc
mov dword [r15], eax
mov qword [0x1800cea88], r12
cmp byte [0x1800d576b], r12b
je 0x1800973df
cmp byte [0x1800d58bb], r12b
jne 0x1800973df
mov dword [r15], r12d
mov qword [0x1800cea88], r12
inc eax
inc rcx
cmp eax, 0x149
jl 0x180097394
jmp 0x1800973f0
xor r12d, r12d
mov rdx, r8
lea rcx, [rbp - 0x70]
call qword [0x1800cea18]
movaps xmm2, xmm6
addss xmm2, dword [0x1800b9658]
movaps xmm1, xmm7
addss xmm1, dword [0x1800ba7fc]
movss xmm0, dword [rbp - 0x70]
mulss xmm0, dword [0x1800b90e0]
subss xmm1, xmm0
movups xmm0, xmmword [0x1800ce2a0]
movups xmmword [rsp + 0x40], xmm0
mov r9d, 4
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
unpcklps xmm1, xmm2
movq rcx, xmm1
call qword [0x1800cea10]
movaps xmm0, xmmword [0x1800ba880]
movq qword [rsp + 0x30], xmm0
psrldq xmm0, 8
movq qword [rsp + 0x38], xmm0
xorps xmm3, xmm3
lea r8, [rsp + 0x30]
movss xmm0, dword [0x1800b96a8]
unpcklps xmm0, xmm9
movq rdx, xmm0
movaps xmm1, xmm7
unpcklps xmm1, xmm6
movq rcx, xmm1
call qword [0x1800cea00]
mov rax, qword [0x1800cea98]
movss xmm0, dword [rax + 0x14]
addss xmm0, dword [0x1800ba0d8]
movss dword [rax + 0x14], xmm0
mov rdx, qword [rbp - 0x78]
cmp rdx, rdi
jbe 0x1800974e6
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
mov r14d, 0x1000
cmp rdx, r14
jb 0x1800974e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800979e3
call fcn.18004bc94
mov qword [rbp - 0x80], r12
mov byte [rsp + 0x70], r12b
jmp 0x1800979af
cmp qword [0x1800cea98], rdi
je 0x1800979b3
xor edx, edx
mov ecx, dword [r8]
call fcn.18008cac4
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.180071288
nop
mov rax, qword [0x1800cea98]
movss xmm7, dword [rax + 0x14]
subss xmm7, dword [0x1800b9790]
movss xmm6, dword [rax + 8]
subss xmm6, dword [0x1800ba0d4]
addss xmm6, dword [rax + 0x10]
mov rcx, rdi
cmp byte [rsi], dil
je 0x180097550
inc rcx
cmp byte [rcx + rsi], dil
jne 0x180097547
movabs rbx, 0xcbf29ce484222325
mov rdx, rbx
mov r8, rdi
movabs r13, 0x100000001b3
test rcx, rcx
je 0x180097583
movsx rax, byte [r8 + rsi]
imul rdx, r13
xor rdx, rax
inc r8
cmp r8, rcx
jb 0x18009756f
mov rax, qword [0x1800cea88]
cmp rax, rdx
sete byte [rsp + 0x20]
cmp qword [0x1800cea90], rdi
jne 0x1800975a7
test rax, rax
mov byte [rbp + 0xc8], 1
je 0x1800975ae
mov byte [rbp + 0xc8], dil
mov edi, 0xf
movabs r14, 0x913756a59d248bac
movabs r12, 0x3cafef8cea809627
cmp qword [rbp - 0x78], rdi
jbe 0x18009760e
lea rax, [rbp + 0x20]
cmp qword [rsp + 0x70], rax
jne 0x18009760e
movabs rax, 0x3cafef8ceaaeb809
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r14
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x30], xmm0
lea r15, [rsp + 0x30]
jmp 0x18009761d
lea r15, [rsp + 0x70]
cmp qword [rbp - 0x78], rdi
cmova r15, qword [rsp + 0x70]
mov rdx, r15
lea rcx, [rbp - 0x70]
call qword [0x1800cea18]
movabs rax, 0x3cafef8cea80967a
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r14
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
or r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], 0
jne 0x18009766c
mov rdx, r15
lea rcx, [rbp - 0x48]
call fcn.18001b094
nop
movabs rax, 0x3cafef8cea80967c
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r14
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rbp - 0x48]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x28]
call fcn.180086940
nop
lea r8, [rsp + 0x60]
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.18005bc14
nop
mov r14d, 0x1000
mov rdx, qword [rbp - 0x10]
cmp rdx, rdi
jbe 0x180097713
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, r14
jb 0x18009770e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800979e9
call fcn.18004bc94
movdqa xmm0, xmmword [0x1800b9020]
movdqu xmmword [rbp - 0x18], xmm0
xor r15d, r15d
mov byte [rbp - 0x28], r15b
mov rdx, qword [rbp - 0x30]
cmp rdx, rdi
jbe 0x18009775d
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, r14
jb 0x180097758
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800979ef
call fcn.18004bc94
movdqa xmm0, xmmword [0x1800b9020]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp - 0x48], r15b
mov rax, qword [0x1800cea18]
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], rdi
cmova rdx, qword [rbp - 0x68]
lea rcx, [rsp + 0x50]
call rax
movss xmm0, dword [rsp + 0x50]
subss xmm6, xmm0
movss xmm1, dword [rsp + 0x54]
addss xmm1, xmm7
addss xmm0, xmm6
movss xmm3, dword [0x1800ce9d8]
comiss xmm3, xmm6
jb 0x18009783d
movss xmm2, dword [0x1800ce9dc]
comiss xmm2, xmm7
jb 0x18009783d
comiss xmm3, xmm0
ja 0x18009783d
comiss xmm2, xmm1
ja 0x18009783d
mov r8b, 1
mov r11b, byte [rsp + 0x20]
test r11b, r11b
jne 0x18009784a
cmp byte [rbp + 0xc8], r15b
je 0x1800978b5
cmp byte [0x1800ce9e0], r15b
je 0x1800978b5
cmp byte [0x1800ce9e1], r15b
jne 0x1800978b5
mov rcx, r15
cmp byte [rsi], r15b
je 0x18009780e
inc rcx
cmp byte [rcx + rsi], r15b
jne 0x180097805
mov rdx, r15
test rcx, rcx
je 0x18009782a
movsx rax, byte [rdx + rsi]
imul rbx, r13
xor rbx, rax
inc rdx
cmp rdx, rcx
jb 0x180097816
mov qword [0x1800cea88], rbx
mov r10, qword [0x1800cea10]
jmp 0x1800978d4
mov r8b, r15b
mov r11b, byte [rsp + 0x20]
test r11b, r11b
je 0x1800978b5
mov eax, r15d
mov rcx, r15
lea rdx, [0x180000000]
mov r9, qword [rbp + 0xc0]
cmp byte [rcx + rdx + 0xd5750], r15b
je 0x18009788d
cmp byte [rcx + rdx + 0xd58a0], r15b
jne 0x18009788d
cmp qword [rbp - 0x78], rdi
jbe 0x180097883
lea r10, [rbp + 0x30]
cmp qword [rsp + 0x70], r10
je 0x180097886
mov dword [r9], eax
mov qword [0x1800cea88], r15
cmp byte [0x1800d576b], r15b
je 0x1800978a9
cmp byte [0x1800d58bb], r15b
jne 0x1800978a9
mov dword [r9], r15d
mov qword [0x1800cea88], r15
inc eax
inc rcx
cmp eax, 0x149
jl 0x18009785e
mov r10, qword [0x1800cea10]
test r11b, r11b
je 0x1800978cf
movups xmm0, xmmword [0x1800ceb78]
movups xmmword [rsp + 0x40], xmm0
jmp 0x1800978f7
test r8b, r8b
je 0x1800978dd
movaps xmm0, xmmword [0x1800ba9a0]
jmp 0x1800978e4
movaps xmm0, xmmword [0x1800ba920]
lea rax, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x40]
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], rdi
cmova rdx, qword [rbp - 0x68]
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x40], xmm0
mov r9d, 4
lea r8, [rsp + 0x40]
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq rcx, xmm0
call r10
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, rdi
jbe 0x180097962
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, r14
jb 0x18009795d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800979f5
call fcn.18004bc94
movdqa xmm0, xmmword [0x1800b9020]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], r15b
mov rdx, qword [rbp - 0x78]
cmp rdx, rdi
jbe 0x1800979a6
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, r14
jb 0x1800979a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800979dd
call fcn.18004bc94
mov qword [rbp - 0x80], r15
mov byte [rsp + 0x70], r15b
mov qword [rbp - 0x78], rdi
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800449bc
int3
call fcn.1800449bc
nop
call fcn.1800449bc
nop
call fcn.1800449bc
nop
call fcn.1800449bc
int3