Function at 0x14004d020
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 [0x1400cc0b8]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x78], r8
mov r13, rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xor ebx, ebx
mov dword [rbp - 0x64], ebx
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x48], rbx
call fcn.140027a30
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
lea ecx, [rbx + 0x30]
call fcn.14006c558
mov rsi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x28
mov qword [rsp + 0x68], 0x2f
movups xmm0, xmmword [0x1400b97c0]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400b97d0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1400b97e0]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], bl
call fcn.1400483a0
lea r15, [r14 + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movabs rdi, 0xcbf29ce484222325
mov r9, rdi
mov ecx, ebx
movabs rdx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rsi]
xor r9, rax
imul r9, rdx
inc rcx
cmp rcx, 0x28
jb 0x14004d100
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140028dd0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004d143
cmp rcx, qword [r14 + 8]
je 0x14004d143
mov r14, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14004d14f
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14, rbx
mov edx, 0x30
mov rcx, rsi
call fcn.14006c550
test r14, r14
jne 0x14004d16b
mov eax, 0xc0000138
jmp 0x14004d4cd
call fcn.140027a30
mov r14, rax
mov r15, r13
cmp qword [r13 + 0x18], 8
jb 0x14004d181
mov r15, qword [r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x20
call fcn.14006c558
mov rsi, 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 ecx, dword [0x1400b9620]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
call fcn.1400483a0
lea r12, [r14 + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r9, rdi
mov rcx, rbx
movabs rdx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rsi]
xor r9, rax
imul r9, rdx
inc rcx
cmp rcx, 0x14
jb 0x14004d1f0
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140028dd0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004d242
cmp rcx, qword [r14 + 8]
je 0x14004d242
mov r14, qword [rcx + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x14004d24c
mov rdx, r15
lea rcx, [rbp - 0x40]
call r14
jmp 0x14004d24c
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov edx, 0x20
mov rcx, rsi
call fcn.14006c550
lea rax, [rbp - 0x30]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x68], 0x1fe0000
mov r12, qword [rsp + 0x70]
cmp r12, 0xffffffffffffffff
je 0x14004d280
lea rdx, [rbp - 0x48]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
call fcn.140027a30
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x30
call fcn.14006c558
mov rsi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x28
mov qword [rsp + 0x68], 0x2f
movups xmm0, xmmword [0x1400b97c0]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400b97d0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1400b97e0]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], 0
call fcn.1400483a0
lea r15, [r14 + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r9, rdi
mov rcx, rbx
movabs r12, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rsi]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, 0x28
jb 0x14004d300
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140028dd0
mov rcx, qword [rax + 8]
test rcx, rcx
mov r12, qword [rsp + 0x70]
je 0x14004d383
cmp rcx, qword [r14 + 8]
je 0x14004d383
mov r14, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x14004d38c
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
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 r14
mov r14d, eax
jmp 0x14004d392
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14d, 0xc0000138
mov edx, 0x30
mov rcx, rsi
call fcn.14006c550
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14004d3b6
cmp r12, 0xffffffffffffffff
je 0x14004d3b6
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test r14d, r14d
jne 0x14004d3e9
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], r14b
je 0x14004d3d4
mov eax, 0xc015001d
jmp 0x14004d4cd
mov rdx, qword [rbp - 0x70]
mov rdx, qword [rdx + 8]
mov rcx, r13
call fcn.140018cfc
jmp 0x14004d4ca
cmp qword [rbp - 0x50], 0
je 0x14004d4ca
call fcn.140027a30
mov r13, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x20
call fcn.14006c558
mov rsi, 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 ecx, dword [0x1400b9590]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
call fcn.1400483a0
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movabs r15, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rbx + rsi]
xor rdi, rax
imul rdi, r15
inc rbx
cmp rbx, 0x14
jb 0x14004d460
mov r9, rdi
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r13
call fcn.140028dd0
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14004d4b2
cmp rdx, qword [r13 + 8]
je 0x14004d4b2
mov rbx, qword [rdx + 0x30]
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14004d4bd
lea rcx, [rbp - 0x58]
call rbx
jmp 0x14004d4bd
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov edx, 0x20
mov rcx, rsi
call fcn.14006c550
mov eax, r14d
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.14006c530
mov rbx, qword [rsp + 0x320]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret