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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x1800ef040]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r15, r9
mov r13, r8
mov r12, rdx
mov rbx, rcx
mov rax, qword [rbp + 0x298]
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0x2a0]
mov qword [rsp + 0x78], rax
mov rax, qword [rbp + 0x2a8]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x2b0]
mov qword [rbp - 0x78], rax
mov edx, dword [0x1801ebe88]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov rdi, 0xffffffffffffffff
xor esi, esi
mov r14d, 0x811c9dc5
mov eax, dword [rcx + rax]
cmp dword [0x1801ec618], eax
jle 0x1800877cb
lea rcx, [0x1801ec618]
call fcn.18008da6c
cmp dword [0x1801ec618], edi
jne 0x1800877cb
mov rax, qword [0x1801ec330]
movabs rcx, 0xadc5df00da06e785
mov qword [rsp + 0x60], rcx
movabs rcx, 0xd46fdcf489b7603c
mov qword [rsp + 0x68], rcx
movabs rcx, 0xcf8aa861a8428ced
mov qword [rbp + 0x200], rcx
movabs rcx, 0xd46fdcf4fdd40556
mov qword [rbp + 0x208], rcx
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rax + 0x5b0]
mov r9d, r14d
lea rax, [rsp + 0x60]
mov rdx, rdi
inc rdx
cmp byte [rax + rdx], 0
jne 0x180087764
mov r8d, esi
test rdx, rdx
je 0x18008779a
mov rax, rsi
nop dword [rax + rax]
movsx eax, byte [rsp + rax + 0x60]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x180087780
mov eax, r9d
mov qword [rbp + 0x70], rax
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x210]
call fcn.180028370
mov rdx, qword [rax]
mov rax, qword [rdx + 0x18]
mov qword [0x1801ec630], rax
lea rcx, [0x1801ec618]
call fcn.18008da00
cmp byte [rbx + 0x20], 0
je 0x180087d8f
test r15, r15
je 0x180087d8f
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x180087d8f
mov ebx, dword [rbx + 0xb0]
mov rax, qword [0x1801ec318]
mov rcx, qword [rax + 0x20]
cmp ebx, 0xffffffff
je 0x180087d8f
and ebx, 0x7fff
mov edx, ebx
mov rcx, qword [rcx + 0x58]
call fcn.1800250e0
test rax, rax
je 0x180087d8f
mov qword [rbp + 0x70], rsi
mov rcx, qword [rax]
mov r8, qword [rcx + 0x120]
lea rdx, [rbp + 0x70]
mov rcx, rax
call r8
cmp qword [rbp + 0x70], 0
je 0x180087d8f
movabs rax, 0xcf8aa861db2ffe8c
mov qword [rsp + 0x60], rax
movabs rax, 0xd46fdcf4fdd40556
mov qword [rsp + 0x68], rax
movabs rcx, 0xcf8aa861a8428ced
mov qword [rbp + 0x200], rcx
mov qword [rbp + 0x208], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [r15 + 0x20]
mov rax, qword [rcx]
call qword [rax]
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov qword [rbp - 0x58], rax
movabs rax, 0xcf8acd17cd27e09e
mov qword [rsp + 0x60], rax
movabs rax, 0xd46fdcf4fdd40556
mov qword [rsp + 0x68], rax
movabs rcx, 0xcf8aa861a8428ced
mov qword [rbp + 0x200], rcx
mov qword [rbp + 0x208], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [r15 + 0x20]
mov rdx, qword [rcx]
call qword [rdx]
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov qword [rbp + 0x200], rax
movabs rax, 0xcf8ac60ed823e99a
mov qword [rsp + 0x60], rax
movabs rax, 0xd46fdcf4fdd40556
mov qword [rsp + 0x68], rax
movabs rcx, 0xcf8aa861a8428ced
mov qword [rbp + 0x210], rcx
mov qword [rbp + 0x218], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [r15 + 0x20]
mov rdx, qword [rcx]
call qword [rdx]
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax + 8]
nop word [rax + rax]
inc rdi
cmp byte [rcx + rdi], 0
jne 0x180087980
test rdi, rdi
je 0x1800879c0
mov rax, rsi
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rcx + rax]
xor eax, r14d
imul r14d, eax, 0x1000193
inc esi
mov eax, esi
cmp rax, rdi
jb 0x1800879a0
nop word [rax + rax]
mov edi, dword [rbp + 0x290]
cmp r14d, 0x87cce03e
jne 0x180087c40
mov rax, qword [0x1801ec318]
mov rcx, qword [rax + 0x20]
mov edx, ebx
mov rcx, qword [rcx + 0x58]
call fcn.1800250e0
mov rbx, rax
test rax, rax
je 0x180087d8f
mov dword [rbp + 0x70], 0x84cdad2
mov dword [rbp - 0x70], 0x8c86dfe9
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x210]
mov rcx, qword [0x1801ec328]
call fcn.180040490
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp + 0x70]
lea rdx, [rbp - 0x68]
call fcn.1800401e0
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x1c]
cmp dword [rax + rbx], 0
je 0x180087d8f
xor edx, edx
mov r8d, 0xc0
lea rcx, [rbp + 0x80]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x80]
call fcn.180087dc0
nop
xor edx, edx
mov r8d, 0xc0
lea rcx, [rbp + 0x140]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x140]
call fcn.180087dc0
nop
mov rax, qword [0x1801ec340]
cmp rbx, qword [rax + 0x10]
jne 0x180087aa5
lea rcx, [rbp + 0x80]
mov rdx, qword [0x1801ec300]
add rdx, 0x7a0
jmp 0x180087afc
mov rcx, rbx
call fcn.1800419b0
mov rdx, qword [0x1801ec300]
lea rcx, [rbp + 0x80]
test al, al
je 0x180087adb
add rdx, 0x620
call fcn.180087f00
mov rdx, qword [0x1801ec300]
add rdx, 0x6e0
jmp 0x180087af5
add rdx, 0x4a0
call fcn.180087f00
mov rdx, qword [0x1801ec300]
add rdx, 0x560
lea rcx, [rbp + 0x140]
call fcn.180087f00
mov dword [rbp + 0x70], 0x7dbaa1c0
lea r8, [rbp + 0x70]
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x140]
call fcn.180037430
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
je 0x180087b80
lea rdx, [rbp + 0x140]
lea rcx, [rbp - 0x50]
call fcn.180087ff0
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x48], 0
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x40], rax
mov r14, qword [rbp - 0x80]
mov qword [rsp + 0x38], r14
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x30], rsi
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edi
mov r9, r15
mov r8, r13
mov rdx, r12
call fcn.1800873f0
jmp 0x180087b8e
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rbp - 0x80]
mov dword [rbp + 0x70], 0x7dbaa1c0
lea r8, [rbp + 0x70]
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x80]
call fcn.180037430
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
je 0x180087bf7
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x50]
call fcn.180087ff0
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x48], 1
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edi
mov r9, r15
mov r8, r13
mov rdx, r12
call fcn.1800873f0
nop
lea rcx, [rbp + 0x1c0]
call fcn.180003fd0
lea rcx, [rbp + 0x180]
call fcn.180003fd0
lea rcx, [rbp + 0x140]
call fcn.180003fd0
nop
lea rcx, [rbp + 0x100]
call fcn.180003fd0
lea rcx, [rbp + 0xc0]
call fcn.180003fd0
lea rcx, [rbp + 0x80]
call fcn.180003fd0
mov rcx, qword [0x1801ec300]
add rcx, 0x860
mov dword [rbp + 0x70], 0x7dbaa1c0
lea r8, [rbp + 0x70]
lea rdx, [rbp - 0x68]
call fcn.180037430
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
je 0x180087cd7
cmp qword [rbp - 0x58], 0
jne 0x180087c7c
cmp qword [rbp + 0x200], 0
je 0x180087cd7
mov rdx, qword [0x1801ec300]
add rdx, 0x860
lea rcx, [rbp - 0x50]
call fcn.180087ff0
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x48], 1
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x40], rax
mov r14, qword [rbp - 0x80]
mov qword [rsp + 0x38], r14
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x30], rsi
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edi
mov r9, r15
mov r8, r13
mov rdx, r12
call fcn.1800873f0
jmp 0x180087ce5
mov r14, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov rcx, qword [0x1801ec300]
add rcx, 0x920
mov dword [rbp + 0x70], 0x7dbaa1c0
lea r8, [rbp + 0x70]
lea rdx, [rbp - 0x68]
call fcn.180037430
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
je 0x180087d63
cmp qword [rsp + 0x60], 0
je 0x180087d63
mov rdx, qword [0x1801ec300]
add rdx, 0x920
lea rcx, [rbp - 0x50]
call fcn.180087ff0
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x48], 1
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edi
mov r9, r15
mov r8, r13
mov rdx, r12
call fcn.1800873f0
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbx
mov r9d, edi
mov r8, r15
mov rdx, r13
mov rcx, r12
call qword [0x1801ec630]
jmp 0x180087d91
xor al, al
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.18008d340
mov rbx, qword [rsp + 0x370]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret