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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1c0
and dword [rsp + 0x60], 0
lea rcx, [rsp + 0x40]
movaps xmmword [rax - 0x48], xmm6
mov rsi, rdx
mov edx, dword [r9]
mov r12, r9
movaps xmmword [rax - 0x58], xmm7
mov r13, r8
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
call fcn.180012254
mov rdx, rax
call fcn.180013fa8
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x1800131be
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800131b9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013df5
call fcn.180025d04
mov rax, qword [0x180042df8]
test rax, rax
je 0x180013d9c
movss xmm13, dword [0x180040c00]
lea r8, [rsp + 0x40]
movss xmm6, dword [rax + 8]
movaps xmm0, xmm13
mulss xmm0, dword [0x18003cd28]
movaps xmm11, xmm13
mulss xmm13, dword [0x18003ccdc]
xorps xmm3, xmm3
movss xmm7, dword [rax + 0x10]
subss xmm6, xmm0
movss xmm9, dword [0x18003cd04]
xorps xmm8, xmm8
movups xmm0, xmmword [0x18003ca18]
mulss xmm11, xmm9
movaps xmm12, xmm7
movaps xmm10, xmm6
movdqa xmmword [rsp + 0x40], xmm0
unpcklps xmm10, xmm13
addss xmm11, dword [rax + 0x14]
movq rdx, xmm10
unpcklps xmm12, xmm11
movq rcx, xmm12
call qword [0x180042d48]
mov r15, qword [0x180042df8]
mov edi, 1
movss xmm0, dword [0x180040c00]
movss xmm4, dword [0x180042d10]
mulss xmm0, xmm9
movss xmm3, dword [r15 + 4]
movss xmm1, dword [r15]
movaps xmm2, xmm3
addss xmm0, dword [0x18003ccfc]
addss xmm2, xmm11
addss xmm3, xmm11
addss xmm2, xmm13
addss xmm3, xmm0
addss xmm2, xmm0
movaps xmm0, xmm1
addss xmm0, xmm7
comiss xmm4, xmm0
jb 0x1800132c9
movss xmm0, dword [0x180042d14]
comiss xmm0, xmm3
jb 0x1800132c9
addss xmm1, xmm7
addss xmm1, xmm6
comiss xmm4, xmm1
ja 0x1800132c9
comiss xmm0, xmm2
ja 0x1800132c9
mov r11b, dil
jmp 0x1800132cc
xor r11b, r11b
cmp qword [0x180042dd8], 0
mov rcx, qword [0x180042dd0]
jne 0x1800132e7
test rcx, rcx
jne 0x1800132e7
mov r10b, dil
jmp 0x1800132ea
xor r10b, r10b
movss xmm15, dword [0x18003cca8]
movabs rax, 0x100000001b3
mov r9b, byte [0x180042d20]
movabs r14, 0xcbf29ce484222325
mov qword [rbp + 0x100], rax
test r11b, r11b
je 0x1800133cd
mov bl, byte [0x180042d21]
test r9b, r9b
je 0x1800133cd
test bl, bl
jne 0x18001336f
test r10b, r10b
je 0x18001336f
xor edx, edx
cmp byte [rsi], dl
je 0x180013345
add rdx, rdi
cmp byte [rdx + rsi], 0
jne 0x18001333c
xor r8d, r8d
mov rcx, r14
test rdx, rdx
je 0x180013368
imul rcx, qword [rbp + 0x100]
movsx rax, byte [r8 + rsi]
add r8, rdi
xor rcx, rax
cmp r8, rdx
jb 0x180013350
mov qword [0x180042dd0], rcx
test r9b, r9b
je 0x1800133cd
test bl, bl
jne 0x1800133cd
test r10b, r10b
je 0x1800133cd
cmp byte [0x180042a92], bl
je 0x1800133cd
xor ecx, ecx
cmp byte [rsi], cl
je 0x180013394
add rcx, rdi
cmp byte [rcx + rsi], 0
jne 0x18001338b
xor r8d, r8d
mov rdx, r14
test rcx, rcx
je 0x1800133bd
movabs r9, 0x100000001b3
movsx rax, byte [r8 + rsi]
add r8, rdi
imul rdx, r9
xor rdx, rax
cmp r8, rcx
jb 0x1800133a9
lea rax, [rdx + 2]
mov qword [0x180042dd0], rax
jmp 0x1800136d2
mov bl, byte [rsi]
xor edx, edx
test bl, bl
je 0x1800133de
add rdx, rdi
cmp byte [rdx + rsi], 0
jne 0x1800133d5
xor r10d, r10d
mov r8, r14
test rdx, rdx
je 0x180013401
imul r8, qword [rbp + 0x100]
movsx rax, byte [r10 + rsi]
add r10, rdi
xor r8, rax
cmp r10, rdx
jb 0x1800133e9
lea rax, [r8 + 2]
cmp rcx, rax
jne 0x1800135bc
mov ecx, 8
call fcn.1800142cc
mov r8, qword [0x180040f40]
lea r10, [0x180040f30]
test al, al
je 0x18001345f
test r8, r8
je 0x18001345f
cmp qword [0x180040f48], 0xf
lea rcx, [r8 - 1]
mov qword [0x180040f40], rcx
mov rax, r10
cmova rax, qword [0x180040f30]
mov byte [rax + rcx], 0
mov r8, qword [0x180040f40]
mov r9b, byte [0x180042d20]
mov ecx, 0x1b
call fcn.1800142cc
test al, al
jne 0x18001348d
mov ecx, 0xd
call fcn.1800142cc
test al, al
jne 0x18001348d
test r11b, r11b
jne 0x180013571
test r9b, r9b
je 0x180013571
mov rbx, qword [0x180040f48]
mov rax, r10
mov r11, qword [0x180040f30]
cmp rbx, 0xf
mov rdx, r10
cmova rax, r11
add rax, r8
cmp rbx, 0xf
cmova rdx, r11
jmp 0x1800134c3
mov cl, byte [rdx]
sub cl, 0x30
cmp cl, 9
jbe 0x1800134c8
add rdx, rdi
cmp rdx, rax
jne 0x1800134b6
cmp rbx, 0xf
mov r13, r10
cmova r13, r11
xor r9d, r9d
add r13, r8
xor r15d, r15d
test r8, r8
je 0x18001351a
xor r10d, r10d
cmp r8, r10
jbe 0x180013def
cmp rbx, 0xf
lea eax, [r9 + 1]
lea rcx, [0x180040f30]
cmova rcx, r11
cmp byte [rcx + r10], 0x2d
cmovne eax, r9d
add r15d, edi
mov r9d, eax
add r10, rdi
movsxd rax, r15d
cmp rax, r8
jb 0x1800134e4
cmp rdx, r13
je 0x180013562
cmp r9d, 2
jge 0x180013562
test r8, r8
je 0x180013562
call fcn.18001230c
cvttss2si edx, xmm0
lea rax, [rbp + 0x120]
lea rcx, [rsp + 0x60]
test edx, edx
mov dword [rbp + 0x120], edx
cmovns rcx, rax
cmp dword [rbp + 0x128], edx
lea rax, [rbp + 0x128]
cmovge rax, rcx
mov eax, dword [rax]
mov dword [r12], eax
and qword [0x180042dd0], 0
mov r13, qword [rbp + 0x110]
xor ebx, ebx
lea eax, [rbx - 0x30]
cmp eax, 9
jbe 0x180013582
lea eax, [rbx - 0x2d]
cmp eax, edi
ja 0x1800135ad
mov ecx, ebx
call fcn.1800142cc
test al, al
je 0x1800135ad
cmp ebx, 0x2d
jne 0x180013596
mov dl, bl
jmp 0x18001359d
cmp ebx, 0x2e
jne 0x1800135a6
mov dl, bl
call fcn.180013dfc
inc ebx
jmp 0x180013573
mov dl, bl
call fcn.180013dfc
add ebx, edi
cmp ebx, 0x149
jl 0x180013573
jmp 0x1800136d2
xor r10d, r10d
mov edx, r10d
test r9b, r9b
je 0x180013690
test bl, bl
je 0x1800135d8
add rdx, rdi
cmp byte [rdx + rsi], r10b
jne 0x1800135cf
mov r8, r14
mov r9, r10
test rdx, rdx
je 0x180013601
movabs r11, 0x100000001b3
movsx rax, byte [r9 + rsi]
add r9, rdi
imul r8, r11
xor r8, rax
cmp r9, rdx
jb 0x1800135ed
cmp rcx, r8
jne 0x1800136d2
and dword [rsp + 0x68], r10d
lea rax, [rsp + 0x6c]
movaps xmm0, xmm7
lea rcx, [rsp + 0x68]
addss xmm0, dword [r15]
movaps xmm2, xmm6
subss xmm2, xmm15
subss xmm4, xmm0
movd xmm0, dword [rbp + 0x128]
cvtdq2ps xmm0, xmm0
comiss xmm4, xmm8
movss dword [rsp + 0x70], xmm2
movss dword [rsp + 0x6c], xmm4
cmovae rcx, rax
lea rax, [rsp + 0x70]
comiss xmm2, xmm4
cmovae rax, rcx
lea rcx, [rsp + 0x60]
movss xmm1, dword [rax]
lea rax, [rbp + 0x128]
divss xmm1, xmm2
mulss xmm1, xmm0
cvttss2si edx, xmm1
test edx, edx
mov dword [r12], edx
cmovns rcx, r12
cmp dword [rbp + 0x128], edx
cmovge rax, rcx
mov eax, dword [rax]
mov dword [r12], eax
jmp 0x1800136d2
test bl, bl
je 0x18001369d
add rdx, rdi
cmp byte [rdx + rsi], r10b
jne 0x180013694
mov r8, r14
mov r9, r10
test rdx, rdx
je 0x1800136c6
movabs r11, 0x100000001b3
movsx rax, byte [r9 + rsi]
add r9, rdi
imul r8, r11
xor r8, rax
cmp r9, rdx
jb 0x1800136b2
cmp rcx, r8
jne 0x1800136d2
mov qword [0x180042dd0], r10
movd xmm1, dword [r12]
lea r9, [rsp + 0x30]
movd xmm0, dword [rbp + 0x128]
lea rdx, [rbp - 0x60]
movabs rcx, 0x809c829df3a86105
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x30], rcx
movabs rax, 0x813d3948ba873be2
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x80], rcx
mov ecx, dword [r12]
mov qword [rbp - 0x78], rax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
divss xmm1, xmm0
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.1800045f4
movups xmm0, xmmword [0x180040f70]
lea r8, [rsp + 0x40]
unpcklps xmm1, xmm13
movaps xmm3, xmm8
movq rdx, xmm1
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmm7
unpcklps xmm1, xmm11
movq rcx, xmm1
call qword [0x180042d48]
movups xmm0, xmmword [0x180041020]
lea r8, [rsp + 0x40]
movaps xmm3, xmm8
movq rdx, xmm10
movq rcx, xmm12
movdqa xmmword [rsp + 0x40], xmm0
call qword [0x180042d40]
mov rax, qword [0x180042790]
lea rcx, [rbp - 0x60]
call rax
mov rdx, qword [0x180042790]
mov rcx, rsi
mov r15, rax
call rdx
mov rdx, r15
lea rcx, [rbp - 0x70]
mov rbx, rax
call qword [0x180042d58]
mov rdx, rbx
lea rcx, [rbp - 0x68]
call qword [0x180042d58]
movups xmm0, xmmword [0x180041010]
lea r8, [rsp + 0x40]
xor r9d, r9d
movaps xmm1, xmm11
mov rdx, rsi
subss xmm1, dword [rbp - 0x64]
movups xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm1
movq rcx, xmm0
call qword [0x180042d50]
xor r12d, r12d
mov edx, r12d
cmp byte [rsi], r12b
je 0x180013810
add rdx, rdi
cmp byte [rdx + rsi], r12b
jne 0x180013807
mov rcx, r14
mov r8, r12
movabs rbx, 0x100000001b3
test rdx, rdx
je 0x180013839
movsx rax, byte [r8 + rsi]
add r8, rdi
imul rcx, rbx
xor rcx, rax
cmp r8, rdx
jb 0x180013825
movss xmm14, dword [0x18003ccd0]
lea rax, [rcx + 2]
cmp qword [0x180042dd0], rax
je 0x18001388c
subss xmm6, dword [rbp - 0x70]
movups xmm0, xmmword [0x180041010]
lea r8, [rsp + 0x40]
xor r9d, r9d
movaps xmm1, xmm11
lea rdx, [rbp - 0x60]
subss xmm1, dword [rbp - 0x6c]
addss xmm6, xmm7
movups xmmword [rsp + 0x40], xmm0
unpcklps xmm6, xmm1
movq rcx, xmm6
call qword [0x180042d50]
jmp 0x180013a4d
mov rdx, r15
lea rcx, [rbp - 0x80]
call qword [0x180042d58]
movups xmm0, xmmword [0x180041010]
lea r8, [rsp + 0x40]
xor r9d, r9d
movaps xmm2, xmm6
lea rdx, [rbp - 0x60]
subss xmm2, dword [rbp - 0x80]
movaps xmm1, xmm11
subss xmm1, dword [rbp - 0x7c]
movups xmmword [rsp + 0x40], xmm0
addss xmm2, xmm7
unpcklps xmm2, xmm1
movq rcx, xmm2
call qword [0x180042d50]
mov ecx, dword [0x18004294c]
cmp ecx, 0x50
jle 0x1800138e8
mov ecx, r12d
mov dword [0x18004294c], ecx
cmp ecx, 0x28
jle 0x180013901
cmp byte [0x180042950], r12b
sete r9b
mov byte [0x180042950], r9b
jmp 0x180013908
mov r9b, byte [0x180042950]
mov rdx, r12
cmp byte [rsi], r12b
je 0x180013919
add rdx, rdi
cmp byte [rdx + rsi], r12b
jne 0x180013910
mov r8, r12
test rdx, rdx
je 0x180013935
movsx rax, byte [r8 + rsi]
add r8, rdi
imul r14, rbx
xor r14, rax
cmp r8, rdx
jb 0x180013921
lea rax, [r14 + 2]
cmp qword [0x180042dd0], rax
jne 0x180013a45
movss xmm4, dword [rbp - 0x80]
comiss xmm4, xmm8
ja 0x180013955
movaps xmm4, xmm9
mov r10, qword [0x180042d48]
test r9b, r9b
je 0x180013966
lea edx, [rcx + rcx*4]
jmp 0x180013976
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movss xmm3, dword [0x18003cc5c]
subss xmm6, xmm4
movss xmm2, dword [0x18003cd74]
lea r8, [rsp + 0x40]
movss xmm0, dword [0x180041010]
mulss xmm0, xmm2
addss xmm6, xmm7
cvttss2si eax, xmm0
movss xmm0, dword [0x180041014]
mulss xmm0, xmm2
movd xmm1, eax
cvttss2si eax, xmm0
movss xmm0, dword [0x180041018]
mulss xmm0, xmm2
movaps xmm2, xmm11
cvtdq2ps xmm1, xmm1
subss xmm2, xmm14
mulss xmm1, xmm3
movss dword [rsp + 0x30], xmm1
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, edx
mulss xmm1, xmm3
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x34], xmm1
mulss xmm0, xmm3
movd xmm1, eax
mov rax, qword [rsp + 0x30]
movss dword [rsp + 0x3c], xmm0
movaps xmm0, xmm4
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x40], rax
unpcklps xmm0, xmm15
mulss xmm1, xmm3
movq rdx, xmm0
unpcklps xmm6, xmm2
movaps xmm3, xmm8
movq rcx, xmm6
movss dword [rsp + 0x38], xmm1
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
call r10
mov ecx, dword [0x18004294c]
add ecx, edi
mov dword [0x18004294c], ecx
mov rbx, qword [rbp + 0x130]
cmp byte [rbx + 8], r12b
je 0x180013d71
mov rax, qword [0x180042790]
lea rcx, [rsp + 0x30]
movabs rsi, 0x813d3948ba873be2
movabs r15, 0x809c829df3a86105
mov qword [rsp + 0x38], rsi
movabs r14, 0x809c829df3815e2d
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rsi
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
call rax
mov rdx, rax
lea rcx, [rbp + 0x100]
call qword [0x180042d58]
movss xmm12, dword [rbp - 0x68]
movss xmm3, dword [rbp + 0x104]
addss xmm12, xmm7
mov rax, qword [0x180042df8]
subss xmm11, xmm3
movss xmm0, dword [0x180040c00]
movss xmm5, dword [0x180042d10]
mulss xmm0, xmm9
addss xmm12, xmm14
movaps xmm2, xmm11
addss xmm2, dword [rax + 4]
addss xmm0, dword [0x18003ccfc]
movaps xmm1, xmm12
addss xmm1, dword [rax]
addss xmm3, xmm2
addss xmm2, xmm0
comiss xmm5, xmm1
movaps xmm4, xmm1
addss xmm3, xmm0
addss xmm4, dword [rbp + 0x100]
jb 0x180013b44
movss xmm0, dword [0x180042d14]
comiss xmm0, xmm2
jb 0x180013b44
comiss xmm5, xmm4
ja 0x180013b44
comiss xmm0, xmm3
jbe 0x180013b47
mov dil, r12b
mov qword [rsp + 0x48], rsi
lea rcx, [0x180040f50]
mov qword [rsp + 0x38], rsi
lea rax, [0x180040f60]
mov qword [rsp + 0x40], r15
lea r8, [rsp + 0x40]
movdqa xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x30], r14
test dil, dil
xorps xmm0, xmmword [rsp + 0x30]
mov esi, 4
movdqa xmmword [rsp + 0x30], xmm0
cmove rax, rcx
mov r9d, esi
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm12
unpcklps xmm0, xmm11
movq rcx, xmm0
call qword [0x180042d50]
test dil, dil
je 0x180013d71
cmp qword [0x180042dd0], r12
jne 0x180013d71
mov rax, qword [0x180042790]
mov rcx, qword [rbx]
call rax
mov rcx, qword [0x180042df8]
movaps xmm0, xmm13
addss xmm0, xmm13
mov rdx, rax
mov rax, qword [0x180042d58]
addss xmm12, dword [rcx]
addss xmm11, dword [rcx + 4]
lea rcx, [rbp - 0x80]
addss xmm12, dword [rbp + 0x100]
addss xmm11, dword [rbp + 0x104]
movaps xmm10, xmm12
addss xmm10, dword [0x18003ccd8]
addss xmm11, xmm0
call rax
movss xmm9, dword [0x180040c00]
lea rdi, [0x180042d88]
mulss xmm9, dword [0x18003ccec]
lea r9, [rsp + 0x40]
mov rcx, rdi
movaps xmm0, xmmword [0x18003ce40]
movaps xmm1, xmm10
movq qword [rsp + 0x40], xmm0
movaps xmm8, xmm9
psrldq xmm0, 8
addss xmm8, dword [rax]
addss xmm9, dword [rax + 4]
movq qword [rsp + 0x48], xmm0
unpcklps xmm1, xmm11
movq rdx, xmm1
movss dword [rsp + 0x20], xmm14
movaps xmm0, xmm8
unpcklps xmm0, xmm9
movq r8, xmm0
call fcn.180014dbc
movups xmm0, xmmword [0x180041010]
mov r8, qword [rbx]
lea r9, [rsp + 0x40]
movaps xmm2, xmm12
mov dword [rsp + 0x20], esi
addss xmm2, dword [0x18003ccec]
movaps xmm1, xmm11
movdqa xmmword [rsp + 0x40], xmm0
addss xmm1, dword [0x18003ccd8]
mov rcx, rdi
unpcklps xmm2, xmm1
movq rdx, xmm2
call fcn.180014c54
addss xmm12, dword [0x18003ccdc]
movaps xmm1, xmmword [0x18003ce70]
lea r9, [rsp + 0x40]
movaps xmm4, xmm8
movq qword [rsp + 0x40], xmm1
subss xmm4, dword [0x18003ccc0]
movaps xmm3, xmm9
psrldq xmm1, 8
subss xmm3, dword [0x18003ccc0]
movaps xmm2, xmm11
movss dword [rsp + 0x20], xmm14
addss xmm2, xmm15
movq qword [rsp + 0x48], xmm1
mov rcx, rdi
unpcklps xmm4, xmm3
movq r8, xmm4
unpcklps xmm12, xmm2
movq rdx, xmm12
call fcn.180014d08
movups xmm0, xmmword [0x180041020]
lea r9, [rsp + 0x40]
mov rcx, rdi
movaps xmm1, xmm10
movss dword [rsp + 0x20], xmm14
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm9
unpcklps xmm1, xmm11
movq r8, xmm0
movq rdx, xmm1
call fcn.180014d08
mov rax, qword [0x180042df8]
addss xmm13, xmm13
movss xmm0, dword [0x180040c00]
mulss xmm0, dword [0x18003ccf4]
addss xmm0, dword [rax + 0x14]
addss xmm0, xmm13
movss dword [rax + 0x14], xmm0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18000f908
int3
call fcn.18002a11c
int3