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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140111200]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rbx, rcx
xor edi, edi
movaps xmm0, xmmword [rcx]
movdqa xmmword [rbp - 0x69], xmm0
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x28]
call fcn.14003f470
nop
cmp byte [rbp - 0x79], dil
jne 0x14003b629
lea rcx, [rbp - 0x51]
call fcn.14003f410
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14003fdc0
nop
movaps xmm0, xmmword [rbx]
movdqa xmmword [rbp - 0x69], xmm0
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x69]
call fcn.14003f9c0
mov rcx, qword [rsp + 0x20]
mov qword [rbp - 0x59], rcx
test rcx, rcx
je 0x14003b607
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x31]
call fcn.14003ffc0
nop
cmp qword [rsp + 0x20], 0
je 0x14003b64b
lea rcx, [rsp + 0x20]
call fcn.140006760
jmp 0x14003b64b
mov rcx, qword [rsp + 0x28]
mov qword [rbp - 0x69], rcx
test rcx, rcx
je 0x14003b63d
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x31]
call fcn.14003ffc0
nop
cmp byte [rbp - 0x79], 0
je 0x14003b663
cmp qword [rsp + 0x28], 0
je 0x14003b663
lea rcx, [rsp + 0x28]
call fcn.140006760
movups xmm6, xmmword [rbp - 0x31]
movups xmmword [rbp - 0x11], xmm6
movups xmm7, xmmword [rbp - 0x21]
movups xmmword [rbp - 1], xmm7
mov qword [rbp - 0x21], rdi
mov qword [rbp - 0x19], 7
mov word [rbp - 0x31], di
lea rcx, [rbp - 0x31]
call fcn.1400065f0
lea rdx, [rbp - 0x11]
movq rsi, xmm6
movdqa xmm0, xmm7
psrldq xmm0, 8
movq r15, xmm0
cmp r15, 8
cmovae rdx, rsi
movabs rbx, 0xcbf29ce484222325
mov r9, rbx
movq rax, xmm7
lea r8, [rax + rax]
mov rcx, rdi
movabs r12, 0x100000001b3
test r8, r8
je 0x14003b6f3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, r8
jb 0x14003b6e0
lea r8, [rbp - 0x11]
lea rdx, [rsp + 0x28]
call fcn.14003d760
mov rcx, qword [rax + 8]
mov r14, qword [0x140119a78]
mov rax, r14
test rcx, rcx
cmovne rax, rcx
cmp rax, r14
jne 0x14003b78a
lea rdx, str.trace
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [str.trace]
mov rax, qword [0x140112150]
lea r9, [rax + rax]
mov rcx, rdi
test r9, r9
je 0x14003b763
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor rbx, rax
imul rbx, r12
inc rcx
cmp rcx, r9
jb 0x14003b750
mov r9, rbx
lea r8, str.trace
lea rdx, [rsp + 0x28]
call fcn.14003d760
mov rcx, qword [rax + 8]
mov rax, r14
test rcx, rcx
cmovne rax, rcx
cmp rax, r14
je 0x14003b78d
mov edi, dword [rax + 0x30]
cmp r15, 8
jb 0x14003b7c4
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14003b7bc
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b7f8
mov rcx, rsi
call fcn.14009ecd8
mov eax, edi
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.14009ea10
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1400a5cd4
int3