Function at 0x140020550
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 - 0x1f0]
sub rsp, 0x2f0
mov rax, qword [0x1400bc060]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x78], r8
mov r12, rdx
mov qword [rbp - 0x80], rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xor ebx, ebx
mov dword [rbp - 0x5c], ebx
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x40], rbx
call fcn.140016930
mov r14, rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], bl
lea r8d, [rbx + 0x28]
lea rdx, str.RtlDosApplyFileIsolationRedirection_Ustr
lea rcx, [rsp + 0x50]
call fcn.1400072c0
nop
call fcn.1400301b0
lea r15, [r14 + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x50]
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x68]
cmp r13, 0x10
cmovae rdx, rsi
movabs rdi, 0xcbf29ce484222325
mov r9, rdi
mov ecx, ebx
movabs r10, 0x100000001b3
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x140020643
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x140020630
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.140017630
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140020672
cmp rcx, qword [r14 + 8]
je 0x140020672
mov r14, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14002067e
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14, rbx
cmp r13, 0x10
jb 0x1400206b5
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400206ad
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020b01
mov rcx, rsi
call fcn.14004afd0
test r14, r14
jne 0x1400206c4
mov eax, 0xc0000138
jmp 0x140020ad7
call fcn.140016930
mov r14, rax
mov r15, r12
cmp qword [r12 + 0x18], 8
jb 0x1400206db
mov r15, qword [r12]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov r8d, 0x14
lea rdx, str.RtlInitUnicodeString
lea rcx, [rsp + 0x50]
call fcn.1400072c0
nop
call fcn.1400301b0
lea r12, [r14 + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x50]
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x68]
cmp r13, 0x10
cmovae rdx, rsi
mov r9, rdi
mov rcx, rbx
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x140020763
movabs r10, 0x100000001b3
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x140020750
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.140017630
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400207a1
cmp rcx, qword [r14 + 8]
je 0x1400207a1
mov r14, qword [rcx + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x1400207ab
mov rdx, r15
lea rcx, [rbp - 0x38]
call r14
jmp 0x1400207ab
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
cmp r13, 0x10
jb 0x1400207e2
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400207da
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020b01
mov rcx, rsi
call fcn.14004afd0
lea rax, [rbp - 0x20]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x60], 0x1fe0000
mov r12, qword [rsp + 0x70]
cmp r12, 0xffffffffffffffff
je 0x140020809
lea rdx, [rbp - 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
call fcn.140016930
mov r14, rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov r8d, 0x28
lea rdx, str.RtlDosApplyFileIsolationRedirection_Ustr
lea rcx, [rsp + 0x50]
call fcn.1400072c0
nop
call fcn.1400301b0
lea r15, [r14 + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x50]
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x68]
cmp r13, 0x10
cmovae rdx, rsi
mov r9, rdi
mov rcx, rbx
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x1400208a8
movabs r12, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, r8
jb 0x140020890
mov r12, qword [rsp + 0x70]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.140017630
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140020912
cmp rcx, qword [r14 + 8]
je 0x140020912
mov r14, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x14002091b
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x60]
xor r8d, r8d
lea rdx, [rbp - 0x38]
lea ecx, [r8 + 1]
call r14
mov r14d, eax
jmp 0x140020921
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14d, 0xc0000138
cmp r13, 0x10
jb 0x140020958
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140020950
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020b01
mov rcx, rsi
call fcn.14004afd0
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x14002096f
cmp r12, 0xffffffffffffffff
je 0x14002096f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test r14d, r14d
jne 0x1400209b9
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], r14b
je 0x14002098d
mov eax, 0xc015001d
jmp 0x140020ad7
mov rax, qword [rbp - 0x68]
mov rdx, qword [rax + 8]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400209a0
mov rcx, qword [rbp - 0x80]
call fcn.140007120
jmp 0x140020ad4
cmp qword [rbp - 0x48], 0
je 0x140020ad4
call fcn.140016930
mov r13, rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov r8d, 0x14
lea rdx, str.RtlFreeUnicodeString
lea rcx, [rsp + 0x50]
call fcn.1400072c0
nop
call fcn.1400301b0
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x50]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x68]
cmp r15, 0x10
cmovae rcx, rsi
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140020a58
movabs r15, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor rdi, rax
imul rdi, r15
inc rbx
cmp rbx, rdx
jb 0x140020a40
mov r15, qword [rsp + 0x68]
mov r9, rdi
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x78]
mov rcx, r13
call fcn.140017630
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140020a96
cmp rdx, qword [r13 + 8]
je 0x140020a96
mov rbx, qword [rdx + 0x30]
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x140020aa1
lea rcx, [rbp - 0x50]
call rbx
jmp 0x140020aa1
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
cmp r15, 0x10
jb 0x140020ad4
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140020acc
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020b01
mov rcx, rsi
call fcn.14004afd0
mov eax, r14d
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.14004afb0
mov rbx, qword [rsp + 0x330]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140058230
int3