Function at 0x14004a180
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 [0x1400f0020]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov r13, r9
mov qword [rsp + 0x70], r8
mov r12, rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xor ebx, ebx
mov dword [rbp - 0x6c], ebx
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x50], rbx
call fcn.140023e20
mov rsi, rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], bl
lea rdx, [0x1400d9130]
lea rcx, [rsp + 0x50]
call fcn.1400069f0
nop
call fcn.140045d40
lea r14, [rsi + 0x40]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
movabs rdi, 0xcbf29ce484222325
mov r9, rdi
mov ecx, ebx
movabs r10, 0x100000001b3
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x14004a263
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14004a250
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.140025420
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004a293
cmp rcx, qword [rsi + 8]
je 0x14004a293
mov rsi, qword [rcx + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14004a29f
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rsi, rbx
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14004a2dc
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a2d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004a6fa
call fcn.14006a754
test rsi, rsi
jne 0x14004a2eb
mov eax, 0xc0000138
jmp 0x14004a6ca
call fcn.140023e20
mov rsi, rax
mov r15, r12
cmp qword [r12 + 0x18], 8
jb 0x14004a302
mov r15, qword [r12]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, str.RtlInitUnicodeString
lea rcx, [rsp + 0x50]
call fcn.1400069f0
nop
call fcn.140045d40
lea r14, [rsi + 0x40]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov r9, rdi
mov rcx, rbx
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x14004a383
movabs r10, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14004a370
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.140025420
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004a3c1
cmp rcx, qword [rsi + 8]
je 0x14004a3c1
mov rsi, qword [rcx + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rsi, rsi
je 0x14004a3cb
mov rdx, r15
lea rcx, [rbp - 0x48]
call rsi
jmp 0x14004a3cb
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14004a408
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a403
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004a700
call fcn.14006a754
lea rax, [rbp - 0x30]
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x70], 0x1fe0000
cmp r13, 0xffffffffffffffff
je 0x14004a42a
lea rdx, [rbp - 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
call fcn.140023e20
mov rsi, rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, [0x1400d9130]
lea rcx, [rsp + 0x50]
call fcn.1400069f0
nop
call fcn.140045d40
lea r14, [rsi + 0x40]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov r9, rdi
mov rcx, rbx
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x14004a4b7
movabs r14, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r14
inc rcx
cmp rcx, r8
jb 0x14004a4a0
lea r14, [rsi + 0x40]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.140025420
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004a520
cmp rcx, qword [rsi + 8]
je 0x14004a520
mov rsi, qword [rcx + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rsi, rsi
je 0x14004a529
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x70]
xor r8d, r8d
lea rdx, [rbp - 0x48]
lea ecx, [r8 + 1]
call rsi
mov esi, eax
jmp 0x14004a52e
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, 0xc0000138
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14004a56b
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a566
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004a706
call fcn.14006a754
mov rdx, qword [rbp - 0x50]
test rdx, rdx
je 0x14004a582
cmp r13, 0xffffffffffffffff
je 0x14004a582
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test esi, esi
jne 0x14004a5b4
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], sil
je 0x14004a59f
mov eax, 0xc015001d
jmp 0x14004a6ca
mov rdx, qword [rbp - 0x78]
mov rdx, qword [rdx + 8]
mov rcx, r12
call fcn.140006890
jmp 0x14004a6c8
cmp qword [rbp - 0x58], 0
je 0x14004a6c8
call fcn.140023e20
mov r15, rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, str.RtlFreeUnicodeString
lea rcx, [rsp + 0x50]
call fcn.1400069f0
nop
call fcn.140045d40
lea r14, [r15 + 0x40]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x14004a647
movabs r14, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor rdi, rax
imul rdi, r14
inc rbx
cmp rbx, rdx
jb 0x14004a630
lea r14, [r15 + 0x40]
mov r9, rdi
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.140025420
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14004a685
cmp rdx, qword [r15 + 8]
je 0x14004a685
mov rbx, qword [rdx + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14004a68f
lea rcx, [rbp - 0x60]
call rbx
jmp 0x14004a68f
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14004a6c8
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a6c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004a6f4
call fcn.14006a754
mov eax, esi
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.14006a730
mov rbx, qword [rsp + 0x320]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140097d64
int3
call fcn.140097d64
int3
call fcn.140097d64
int3
call fcn.140097d64
int3