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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rcx, qword [0x180069508]
call fcn.180006c90
test al, al
je 0x180053558
mov rcx, qword [0x180069530]
call fcn.180006c90
mov ebp, 0x811c9dc5
xor esi, esi
test al, al
je 0x180053379
call fcn.180006af0
mov rdi, qword [rax]
mov r14, qword [rax + 8]
cmp rdi, r14
je 0x180053379
lea r15, str.VexRTarget
movss xmm6, dword [0x18005ac14]
mov rcx, qword [rdi]
call fcn.1800059f0
test al, al
je 0x18005336c
mov rcx, qword [rdi]
call fcn.180005a10
test al, al
jne 0x18005336c
mov rcx, qword [rdi]
call fcn.180051e80
test al, al
je 0x18005336c
mov rcx, qword [rdi]
call fcn.180005a60
mov rcx, rax
call fcn.180005660
test al, al
je 0x1800532d8
mov rcx, qword [0x1800694e0]
call fcn.180006c90
test al, al
je 0x18005336c
mov rcx, qword [0x180069538]
call fcn.180006ca0
mov ebx, eax
mov rcx, qword [rdi]
call fcn.180005a60
movaps xmm1, xmm6
mov rcx, rax
call fcn.1800053a0
cmp ebx, eax
jl 0x18005336c
mov r10d, ebp
mov eax, esi
inc eax
mov r8d, eax
cmp byte [rax + r15], sil
jne 0x180053302
test eax, eax
je 0x180053347
mov r9, r15
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r9]
lea edx, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp dl, 0x19
cmovbe ecx, eax
movsx eax, cl
xor eax, r10d
imul r10d, eax, 0x1000193
lea r9, [r9 + 1]
sub r8, 1
jne 0x180053320
mov edx, r10d
mov rcx, qword [rdi]
call fcn.180005e00
test al, al
je 0x18005336c
xor edx, edx
lea rcx, [0x180069740]
call fcn.180007d60
test al, al
jne 0x180053558
add rdi, 8
cmp rdi, r14
jne 0x180053280
movsd xmm6, qword [0x18006a4e8]
mov ebx, dword [0x18006a4f0]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
lea rcx, [0x180069740]
call fcn.180007a90
movsd qword [rsp + 0x30], xmm6
mov dword [rsp + 0x38], ebx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8b, 1
lea edx, [r9 + 1]
call fcn.180006d70
mov rbx, rax
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x180053422
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005340f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005340f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180053668
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
test rbx, rbx
je 0x180053558
mov rcx, rbx
call fcn.180051e80
test al, al
je 0x180053558
mov rcx, rbx
call fcn.180005a60
mov rcx, rax
call fcn.180005660
test al, al
je 0x180053463
mov rcx, qword [0x1800694e0]
call fcn.180006c90
test al, al
je 0x180053558
xor r8d, r8d
mov rdx, qword [0x180064730]
mov rcx, rbx
call fcn.180006000
movaps xmm6, xmm0
mov rcx, qword [0x180069528]
call fcn.180006ca0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm6, xmm1
jbe 0x180053558
mov r10d, ebp
mov eax, esi
lea r8, str.vexr2timer
inc eax
mov r9d, eax
cmp byte [rax + r8], 0
jne 0x1800534a0
test eax, eax
je 0x1800534d7
movzx ecx, byte [r8]
lea edx, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp dl, 0x19
cmovbe ecx, eax
movsx eax, cl
xor eax, r10d
imul r10d, eax, 0x1000193
lea r8, [r8 + 1]
sub r9, 1
jne 0x1800534b0
mov edx, r10d
mov rcx, rbx
call fcn.180005e00
test al, al
jne 0x180053558
mov rcx, qword [0x180069518]
call fcn.180006c90
test al, al
je 0x180053549
lea r9, str.vexpdoom
nop dword [rax]
inc esi
mov r10d, esi
cmp byte [rsi + r9], 0
jne 0x180053500
test esi, esi
je 0x180053537
movzx ecx, byte [r9]
lea r8d, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp r8b, 0x19
cmovbe ecx, eax
movsx eax, cl
xor eax, ebp
imul ebp, eax, 0x1000193
lea r9, [r9 + 1]
sub r10, 1
jne 0x180053510
mov edx, ebp
mov rcx, qword [0x180064730]
call fcn.180005e00
test al, al
je 0x180053558
mov rdx, rbx
lea rcx, [0x180069740]
call fcn.180023770
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [rsp + 0x60]
mov rsp, r11
pop r15
pop r14
pop rdi
ret