Function at 0x1401add80
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 - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1405fadb0]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov qword [rbp - 0x80], r9
mov qword [rsp + 0x70], r8
mov qword [rbp - 0x78], rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x68], xmm1
movups xmmword [rbp - 0x58], xmm0
xor esi, esi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x48], rsi
call fcn.14019a4d0
mov r15, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
lea edx, [rsi + 0x30]
lea rcx, [rsp + 0x50]
call fcn.140178440
mov rdi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x28
mov qword [rsp + 0x68], 0x2f
movups xmm0, xmmword [str.RtlDosApplyFileIsolationRedirection_Ustr]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1405e2090]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1405e20a0]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], sil
call fcn.1401ba6d0
lea r13, [r15 + 0x40]
mov rcx, r13
call qword [0x1405e8838]
movabs r14, 0xcbf29ce484222325
mov rdx, r14
mov ecx, esi
movabs r8, 0x100000001b3
movzx eax, byte [rcx + rdi]
xor rdx, rax
imul rdx, r8
inc rcx
cmp rcx, 0x28
jb 0x1401ade61
mov rcx, qword [r15 + 0x30]
and rcx, rdx
add rcx, rcx
mov rax, qword [r15 + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
mov r12, qword [r15 + 8]
cmp rbx, r12
je 0x1401aded2
mov r15, qword [rax + rcx*8]
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401adeb2
mov rdx, qword [rdx]
cmp rax, 0x28
jne 0x1401adec7
mov r8, rax
mov rcx, rdi
call fcn.1401e81d0
test eax, eax
je 0x1401aded5
cmp rbx, r15
je 0x1401aded2
mov rbx, qword [rbx + 8]
jmp 0x1401adea0
mov rbx, rsi
test rbx, rbx
je 0x1401adeee
cmp rbx, r12
je 0x1401adeee
mov rbx, qword [rbx + 0x30]
mov rcx, r13
call qword [0x1405e8b10]
jmp 0x1401adefa
mov rcx, r13
call qword [0x1405e8b10]
mov rbx, rsi
mov edx, 0x30
mov rcx, rdi
call fcn.140194698
test rbx, rbx
jne 0x1401adf16
mov eax, 0xc0000138
jmp 0x1401ae398
call fcn.14019a4d0
mov r15, rax
mov rax, qword [rbp - 0x78]
mov r12, rax
cmp qword [rax + 0x18], 8
jb 0x1401adf2f
mov r12, qword [rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov edx, 0x20
lea rcx, [rsp + 0x50]
call fcn.140178440
mov rdi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x14
mov qword [rsp + 0x68], 0x1f
movups xmm0, xmmword [str.RtlInitUnicodeString]
movups xmmword [rax], xmm0
mov eax, dword [0x1405e27b8]
mov dword [rdi + 0x10], eax
mov byte [rdi + 0x14], 0
call fcn.1401ba6d0
lea r13, [r15 + 0x40]
mov rcx, r13
call qword [0x1405e8838]
mov rdx, r14
mov rcx, rsi
movabs r8, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdi]
xor rdx, rax
imul rdx, r8
inc rcx
cmp rcx, 0x14
jb 0x1401adfa0
mov rcx, qword [r15 + 0x30]
and rcx, rdx
add rcx, rcx
mov rax, qword [r15 + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
mov rdx, qword [r15 + 8]
mov qword [rsp + 0x78], rdx
cmp rbx, rdx
je 0x1401ae01e
mov r15, qword [rax + rcx*8]
nop dword [rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401adff2
mov rdx, qword [rdx]
cmp rax, 0x14
jne 0x1401ae007
mov r8, rax
mov rcx, rdi
call fcn.1401e81d0
test eax, eax
je 0x1401ae012
cmp rbx, r15
je 0x1401ae019
mov rbx, qword [rbx + 8]
jmp 0x1401adfe0
mov rdx, qword [rsp + 0x78]
jmp 0x1401ae021
mov rdx, qword [rsp + 0x78]
mov rbx, rsi
test rbx, rbx
je 0x1401ae048
cmp rbx, rdx
je 0x1401ae048
mov rbx, qword [rbx + 0x30]
mov rcx, r13
call qword [0x1405e8b10]
test rbx, rbx
je 0x1401ae052
mov rdx, r12
lea rcx, [rbp - 0x40]
call rbx
jmp 0x1401ae052
mov rcx, r13
call qword [0x1405e8b10]
nop
mov edx, 0x20
mov rcx, rdi
call fcn.140194698
lea rax, [rbp - 0x30]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x68], 0x1fe0000
mov rax, qword [rbp - 0x80]
cmp rax, 0xffffffffffffffff
je 0x1401ae085
lea rdx, [rbp - 0x48]
mov rcx, rax
call qword [0x1405e8768]
call fcn.14019a4d0
mov r15, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov edx, 0x30
lea rcx, [rsp + 0x50]
call fcn.140178440
mov rdi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x28
mov qword [rsp + 0x68], 0x2f
movups xmm0, xmmword [str.RtlDosApplyFileIsolationRedirection_Ustr]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1405e2090]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1405e20a0]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], 0
call fcn.1401ba6d0
lea r13, [r15 + 0x40]
mov rcx, r13
call qword [0x1405e8838]
mov rdx, r14
mov rcx, rsi
movabs r14, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rdi]
xor rdx, rax
imul rdx, r14
inc rcx
cmp rcx, 0x28
jb 0x1401ae110
mov rcx, qword [r15 + 0x30]
and rcx, rdx
add rcx, rcx
mov rax, qword [r15 + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
mov r12, qword [r15 + 8]
cmp rbx, r12
je 0x1401ae182
mov r15, qword [rax + rcx*8]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401ae162
mov rdx, qword [rdx]
cmp rax, 0x28
jne 0x1401ae177
mov r8, rax
mov rcx, rdi
call fcn.1401e81d0
test eax, eax
je 0x1401ae185
cmp rbx, r15
je 0x1401ae182
mov rbx, qword [rbx + 8]
jmp 0x1401ae150
mov rbx, rsi
test rbx, rbx
movabs r14, 0xcbf29ce484222325
je 0x1401ae1e2
cmp rbx, r12
je 0x1401ae1e2
mov rbx, qword [rbx + 0x30]
mov rcx, r13
call qword [0x1405e8b10]
test rbx, rbx
je 0x1401ae1eb
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
xor r8d, r8d
lea rdx, [rbp - 0x40]
lea ecx, [r8 + 1]
call rbx
mov r15d, eax
jmp 0x1401ae1f1
mov rcx, r13
call qword [0x1405e8b10]
mov r15d, 0xc0000138
mov edx, 0x30
mov rcx, rdi
call fcn.140194698
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x1401ae216
cmp qword [rbp - 0x80], 0xffffffffffffffff
je 0x1401ae216
xor ecx, ecx
call qword [0x1405e8800]
test r15d, r15d
jne 0x1401ae25c
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], r15b
je 0x1401ae234
mov eax, 0xc015001d
jmp 0x1401ae398
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax + 8]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1401ae243
mov rcx, qword [rbp - 0x78]
call fcn.140178760
jmp 0x1401ae395
cmp qword [rbp - 0x50], 0
je 0x1401ae395
call fcn.14019a4d0
mov r13, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov edx, 0x20
lea rcx, [rsp + 0x50]
call fcn.140178440
mov rdi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x14
mov qword [rsp + 0x68], 0x1f
movups xmm0, xmmword [str.RtlFreeUnicodeString]
movups xmmword [rax], xmm0
mov eax, dword [0x1405e2820]
mov dword [rdi + 0x10], eax
mov byte [rdi + 0x14], 0
call fcn.1401ba6d0
lea r12, [r13 + 0x40]
mov qword [rsp + 0x70], r12
mov rcx, r12
call qword [0x1405e8838]
mov rcx, rsi
movabs r12, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
xor r14, rax
imul r14, r12
inc rcx
cmp rcx, 0x14
jb 0x1401ae2e0
mov rcx, qword [r13 + 0x30]
and rcx, r14
add rcx, rcx
mov rax, qword [r13 + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
mov r13, qword [r13 + 8]
cmp rbx, r13
je 0x1401ae355
mov r14, qword [rax + rcx*8]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401ae332
mov rdx, qword [rdx]
cmp rax, 0x14
jne 0x1401ae347
mov r8, rax
mov rcx, rdi
call fcn.1401e81d0
test eax, eax
je 0x1401ae352
cmp rbx, r14
je 0x1401ae355
mov rbx, qword [rbx + 8]
jmp 0x1401ae320
mov rsi, rbx
test rsi, rsi
mov r12, qword [rsp + 0x70]
je 0x1401ae37e
cmp rsi, r13
je 0x1401ae37e
mov rbx, qword [rsi + 0x30]
mov rcx, r12
call qword [0x1405e8b10]
test rbx, rbx
je 0x1401ae388
lea rcx, [rbp - 0x58]
call rbx
jmp 0x1401ae388
mov rcx, r12
call qword [0x1405e8b10]
nop
mov edx, 0x20
mov rcx, rdi
call fcn.140194698
mov eax, r15d
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1401af7a0
mov rbx, qword [rsp + 0x320]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret