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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp - 0x51], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x1403f04b0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x61], r8
mov r14, rdx
mov r13, rcx
lea rdx, [rcx + 0x28]
mov esi, 1
mov r8b, sil
lea rcx, [rbp - 0x49]
call fcn.140059288
lea r9, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae r9, qword [rbp - 0x49]
movabs rcx, 0xcbf29ce484222325
xor edi, edi
mov edx, edi
mov rbx, qword [rbp - 0x39]
lea r8, [rbx + rbx]
test r8, r8
je 0x140089651
movzx eax, byte [rdx + r9]
xor rcx, rax
movabs r10, 0x100000001b3
imul rcx, r10
add rdx, rsi
cmp rdx, r8
jb 0x140089633
and rcx, qword [0x1403f18c0]
mov rax, rcx
add rax, rax
mov rdx, qword [0x1403f18a8]
mov rax, qword [rdx + rax*8]
add rcx, rcx
mov qword [rbp - 0x69], rcx
mov r10, qword [0x1403f1898]
cmp qword [rdx + rcx*8], r10
jne 0x140089682
mov rcx, r10
jmp 0x14008968a
mov rcx, qword [rdx + rcx*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140089756
lea rdx, [rax + 0x10]
lea rcx, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rcx, qword [rbp - 0x49]
mov r8, rdx
mov r12, qword [rdx + 0x18]
cmp r12, 8
jb 0x1400896b5
mov r8, qword [rdx]
mov r15, qword [rdx + 0x10]
cmp r15, rbx
jne 0x1400896f2
mov r11, r15
test r15, r15
je 0x1400896ec
sub r8, rcx
movzx edx, word [r8 + rcx]
movzx r9d, word [rcx]
cmp dx, r9w
jne 0x1400896e3
add rcx, 2
sub r11, rsi
jne 0x1400896c9
jmp 0x1400896ec
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, esi
jmp 0x1400896ee
mov ecx, edi
test ecx, ecx
je 0x140089705
mov rax, qword [rax]
mov rdx, qword [0x1403f18a8]
mov rcx, qword [rbp - 0x69]
jmp 0x140089677
lea rcx, [rax + 0x10]
cmp r12, 8
jb 0x140089712
mov rcx, qword [rcx]
lea rdx, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rdx, qword [rbp - 0x49]
cmp rbx, r15
jne 0x140089756
test rbx, rbx
je 0x140089750
sub rdx, rcx
movzx r8d, word [rdx + rcx]
movzx r9d, word [rcx]
cmp r8w, r9w
jne 0x140089747
add rcx, 2
sub rbx, rsi
jne 0x14008972d
jmp 0x140089750
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, esi
jmp 0x140089752
mov ecx, edi
test ecx, ecx
je 0x140089759
mov rax, r10
cmp rax, r10
jne 0x140089766
mov r15b, sil
mov ebx, dword [rbp - 0x69]
jmp 0x14008976c
mov ebx, dword [rax + 0x30]
mov r15b, dil
lea rcx, [rbp - 0x49]
call fcn.1400492c0
test r15b, r15b
je 0x140089781
xor al, al
jmp 0x14008992f
mov r12, qword [rbp - 0x61]
mov r9, r12
xor r8d, r8d
lea rdx, [rbp - 0x29]
mov rcx, r13
call fcn.140089510
nop
test ebx, ebx
je 0x14008990e
sub ebx, 1
je 0x140089900
sub ebx, 1
je 0x140089885
sub ebx, 1
je 0x14008986e
sub ebx, 1
je 0x14008985d
cmp ebx, 1
jne 0x140089923
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x61]
call fcn.1401e18c8
nop
mov r9, qword [rax]
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x1400897eb
mov rcx, qword [r14]
mov rax, qword [r14 + 0x10]
lea rdx, [rcx + rax*2]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayGetDim
xor r8d, r8d
call fcn.140062b48
mov sil, al
mov rbx, qword [rbp - 0x59]
test rbx, rbx
je 0x140089920
or edi, 0xffffffff
mov ecx, edi
lock xadd dword [rbx + 8], ecx
add ecx, edi
jne 0x140089920
mov rdx, qword [rbx]
mov rcx, rbx
mov rax, qword [rdx]
call qword [str.__v__]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
add eax, edi
jne 0x140089920
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [str.__v__]
jmp 0x140089920
lea rdx, [rbp - 0x29]
mov rcx, r14
call fcn.1401d31d0
jmp 0x14008991d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x29]
mov rcx, r14
call fcn.1401d3154
jmp 0x14008991d
xor r8d, r8d
lea rdx, [rbp - 0x29]
mov rcx, r14
call fcn.1401d30e8
test al, al
jne 0x140089920
mov rbx, rsi
mov rax, qword [r13 + 0x50]
sub rax, qword [r13 + 0x48]
sar rax, 5
cmp rsi, rax
jae 0x1400898fb
mov r9, r12
mov r8, rbx
lea rdx, [rbp - 9]
mov rcx, r13
call fcn.140089510
xor r8d, r8d
lea rdx, [rbp - 9]
mov rcx, r14
call fcn.1401d30e8
lea rcx, [rbp - 9]
test al, al
jne 0x1400898f4
call fcn.1400492c0
add rbx, rsi
mov rax, qword [r13 + 0x50]
sub rax, qword [r13 + 0x48]
sar rax, 5
cmp rbx, rax
jb 0x1400898b0
jmp 0x1400898fb
call fcn.1400492c0
jmp 0x140089920
mov sil, dil
jmp 0x140089920
lea rdx, [rbp - 0x29]
mov rcx, r14
call fcn.1401d3220
jmp 0x14008991d
xor r8d, r8d
lea rdx, [rbp - 0x29]
mov rcx, r14
call fcn.1401d30e8
mov sil, al
mov dil, sil
lea rcx, [rbp - 0x29]
call fcn.1400492c0
mov al, dil
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14027a710
mov rbx, qword [rsp + 0x118]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret