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

Disassembly:
mov qword [rsp + 8], rcx
push r14
sub rsp, 0xb0
mov r14, rcx
mov rcx, qword [0x1801d1218]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x108]
call rdx
test al, al
je 0x1800874d6
mov rcx, qword [0x1801d1218]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x100]
call rdx
test al, al
je 0x1800874d6
mov qword [rsp + 0x98], rsi
xor ecx, ecx
mov qword [rsp + 0x80], r13
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x40], xmm8
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movss xmm6, dword [0x18018de9c]
mov esi, 1
mov ecx, esi
mov dword [rsp + 0xc8], esi
movd xmm8, eax
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r8, qword [0x1801ceea0]
movd xmm0, eax
mov rax, qword [0x1801d1c58]
lea rcx, [r8 + 0x18]
shl rax, 5
cvtdq2ps xmm0, xmm0
add rcx, rax
cmp qword [rax + r8 + 0x10], 8
mulss xmm0, xmm6
jbe 0x180086e78
mov rcx, qword [rcx]
movss xmm2, dword [rcx]
lea rcx, [r8 + 0x18]
mov rax, qword [0x1801d1ce8]
shl rax, 5
add rcx, rax
cmp qword [rax + r8 + 0x10], 8
jbe 0x180086e99
mov rcx, qword [rcx]
mov rax, qword [0x1801d1ae0]
lea rdx, [r8 + 0x18]
movss xmm7, dword [rcx]
shl rax, 5
add rdx, rax
movss dword [rsp + 0xd0], xmm8
movss dword [rsp + 0xd4], xmm0
cmp qword [rax + r8 + 0x10], 8
jbe 0x180086ecd
mov rdx, qword [rdx]
xor r13d, r13d
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x90], rdi
cmp byte [rdx], r13b
je 0x180086f74
movzx ecx, byte [rdx + 4]
movzx ebx, byte [rdx + 3]
mov eax, ecx
movss xmm8, dword [rdx + 8]
mov rdi, qword [0x1801d1888]
shl eax, 8
or ebx, eax
movzx eax, byte [rdx + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 1]
shl ebx, 8
or ebx, eax
bswap ecx
test ecx, ecx
je 0x180086f74
comiss xmm6, xmm2
ja 0x180086f74
subss xmm2, xmm6
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rsp + 0xd0]
mov rcx, rdi
call fcn.180023e70
mov r8d, dword [rdi + 0x78]
mov r9d, ebx
mov rdx, qword [rdi + 0x80]
dec r8d
movss dword [rsp + 0x28], xmm8
mov rcx, rdi
mov dword [rdi + 0x78], r8d
mov dword [rsp + 0x20], esi
call fcn.1800229d0
mov dword [rdi + 0x78], r13d
mov r8, qword [0x1801ceea0]
mov rax, qword [0x1801d1ae8]
shl rax, 5
lea rdx, [rax + 0x18]
add rdx, r8
cmp qword [rax + r8 + 0x10], 8
jbe 0x180086f91
mov rdx, qword [rdx]
cmp byte [rdx], r13b
je 0x180087028
movzx ecx, byte [rdx + 4]
movzx ebx, byte [rdx + 3]
mov eax, ecx
movss xmm8, dword [rdx + 8]
mov rdi, qword [0x1801d1888]
shl eax, 8
or ebx, eax
movzx eax, byte [rdx + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 1]
shl ebx, 8
or ebx, eax
bswap ecx
test ecx, ecx
je 0x180087028
comiss xmm6, xmm7
ja 0x180087028
subss xmm7, xmm6
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rsp + 0xd0]
mov rcx, rdi
movaps xmm2, xmm7
call fcn.180023e70
mov r8d, dword [rdi + 0x78]
mov r9d, ebx
mov rdx, qword [rdi + 0x80]
dec r8d
movss dword [rsp + 0x28], xmm8
mov rcx, rdi
mov dword [rdi + 0x78], r8d
mov dword [rsp + 0x20], esi
call fcn.1800229d0
mov dword [rdi + 0x78], r13d
mov r8, qword [0x1801ceea0]
mov rax, qword [0x1801d1a88]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
shl rax, 5
lea rcx, [rax + 0x18]
add rcx, r8
cmp qword [rax + r8 + 0x10], 8
jbe 0x180087050
mov rcx, qword [rcx]
cmp byte [rcx], r13b
je 0x1800874b1
mov rax, qword [0x1801d1228]
mov rdi, r13
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0x88], r12
mov r12, r13
mov rcx, qword [rax + 0x58]
movsxd rbp, dword [rcx + 0x1510]
movabs rcx, 0xaaaaaaaaaaaaaaa
mov dword [rsp + 0xd0], ebp
test ebp, ebp
je 0x1800870c1
cmp rbp, rcx
ja 0x1800874ec
lea rax, [rbp*2]
add rax, rbp
lea rbx, [rax*8]
mov rcx, rbx
call fcn.180050c20
mov rdi, rax
lea r12, [rbx + rax]
mov qword [rsp + 0x78], r15
movabs r15, 0x2aaaaaaaaaaaaaab
mov rbx, rdi
cmp ebp, esi
jl 0x180087383
movabs r14, 0x100000001b3
nop word [rax + rax]
mov rax, qword [0x1801d1228]
mov edx, esi
mov rcx, qword [rax + 0x58]
call fcn.18005f9f0
mov r15, rax
test rax, rax
je 0x180087360
mov qword [rsp + 0x30], r13
lea rdx, [rsp + 0x30]
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x120]
mov r9, qword [rsp + 0x30]
test r9, r9
je 0x180087360
mov r9, qword [r9 + 8]
movabs r8, 0xcbf29ce484222325
mov rcx, r9
cmp byte [r9], 0
je 0x180087158
nop word [rax + rax]
inc rcx
cmp byte [rcx], 0
jne 0x180087150
mov rdx, r13
sub rcx, r9
je 0x180087360
nop dword [rax]
nop dword [rax + rax]
movsx rax, byte [r9 + rdx]
inc rdx
xor r8, rax
imul r8, r14
cmp rdx, rcx
jb 0x180087170
movabs rax, 0xc106a596b87eca81
cmp r8, rax
jne 0x180087360
mov rcx, r15
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 0x1800871ea
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x1800871f5
movaps xmm0, xmm2
call fcn.1801239f8
movaps xmm6, xmm0
lea rdx, [rsp + 0xd8]
mov rcx, r15
call fcn.180078c70
mov r13, rax
cmp rdi, r12
je 0x18008722a
mov eax, dword [rax]
xor r13d, r13d
mov dword [rdi + 0x10], r13d
movss dword [rdi + 0xc], xmm6
mov qword [rdi], r15
mov dword [rdi + 8], eax
add rdi, 0x18
jmp 0x180087360
sub rdi, rbx
movabs rcx, 0x2aaaaaaaaaaaaaab
mov rax, rcx
movabs r8, 0xaaaaaaaaaaaaaaa
imul rdi
mov r14, rdx
sar r14, 2
mov rax, r14
shr rax, 0x3f
add r14, rax
cmp r14, r8
je 0x1800874e0
sub r12, rbx
lea rbp, [r14 + 1]
mov rax, rcx
imul r12
mov r12, rdx
sar r12, 2
mov rax, r12
shr rax, 0x3f
add r12, rax
mov rax, r8
mov rcx, r12
shr rcx, 1
sub rax, rcx
cmp r12, rax
jbe 0x180087295
mov rcx, r8
jmp 0x1800872ac
lea rax, [rcx + r12]
mov rcx, rbp
cmp rax, rbp
cmovae rcx, rax
cmp rcx, r8
ja 0x1800874f8
lea rax, [rcx + rcx*2]
lea rax, [rax*8]
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.180050c20
mov ecx, dword [r13]
lea rdx, [r14 + r14*2]
xor r13d, r13d
mov r8, rdi
mov rsi, rax
mov dword [rax + rdx*8 + 8], ecx
mov rcx, rax
movss dword [rax + rdx*8 + 0xc], xmm6
mov qword [rax + rdx*8], r15
mov dword [rax + rdx*8 + 0x10], r13d
mov rdx, rbx
call fcn.180124980
test rbx, rbx
je 0x18008732e
lea rdx, [r12 + r12*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x180087326
mov rcx, qword [rbx - 8]
add rdx, 0x27
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x1800874f2
mov rbx, rcx
mov rcx, rbx
call fcn.1800f3cac
mov r12, qword [rsp + 0x38]
lea rax, [rbp*2]
add rax, rbp
mov rbx, rsi
mov ebp, dword [rsp + 0xd0]
add r12, rsi
movabs r14, 0x100000001b3
lea rdi, [rsi + rax*8]
mov esi, dword [rsp + 0xc8]
inc esi
mov dword [rsp + 0xc8], esi
cmp esi, ebp
jle 0x1800870f0
mov r14, qword [rsp + 0xc0]
movabs r15, 0x2aaaaaaaaaaaaaab
mov rcx, rdi
mov dword [rsp + 0x20], 0xc
sub rcx, rbx
mov rax, r15
imul rcx
xor r9d, r9d
mov rcx, rbx
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, rdi
call fcn.1800821c0
cmp rbx, rdi
je 0x18008744f
lea rsi, [rbx + 0x10]
movabs r15, 0xdccf003ada4c08e3
nop word [rax + rax]
mov edx, dword [rsi - 8]
cmp edx, 0xffffffff
je 0x180087438
cmp dword [rsi], 0
jne 0x180087438
mov rax, qword [0x1801d1228]
and edx, 0x7fff
mov rcx, qword [rax + 0x58]
call fcn.18005f9f0
mov rbp, rax
test rax, rax
je 0x180087438
mov ecx, dword [0x1801d11fc]
test cl, 1
jne 0x18008741f
or ecx, 1
mov dword [0x1801d11fc], ecx
mov rcx, r15
call fcn.180076d90
mov dword [0x1801d1210], eax
jmp 0x180087425
mov eax, dword [0x1801d1210]
mov eax, eax
cmp byte [rax + rbp], 0
je 0x180087438
mov rdx, rbp
mov rcx, r14
call fcn.180087dc0
add rsi, 0x18
lea rcx, [rsi - 0x10]
cmp rcx, rdi
jne 0x1800873d0
movabs r15, 0x2aaaaaaaaaaaaaab
test rbx, rbx
je 0x18008749c
sub r12, rbx
mov rax, r15
imul r12
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x180087494
mov rcx, qword [rbx - 8]
add rdx, 0x27
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x1800874e6
mov rbx, rcx
mov rcx, rbx
call fcn.1800f3cac
mov r15, qword [rsp + 0x78]
mov rbp, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x98]
mov r13, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0xb0
pop r14
ret
call fcn.1800821a0
int3
call fcn.180101fd4
int3
call fcn.1800821a0
int3
call fcn.180101fd4
int3
call fcn.180034de0
int3