Function at 0x180052d80
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 [0x180069530]
call fcn.180006c90
mov ebp, 0x811c9dc5
xor esi, esi
test al, al
je 0x180052ed9
call fcn.180006af0
mov rdi, qword [rax]
mov r14, qword [rax + 8]
cmp rdi, r14
je 0x180052ed9
lea r15, str.VexRTarget
movss xmm6, dword [0x18005ac14]
nop dword [rax]
mov rcx, qword [rdi]
call fcn.1800059f0
test al, al
je 0x180052ecc
mov rcx, qword [rdi]
call fcn.180005a10
test al, al
jne 0x180052ecc
mov rcx, qword [rdi]
call fcn.180051e80
test al, al
je 0x180052ecc
mov rcx, qword [rdi]
call fcn.180005a60
mov rcx, rax
call fcn.180005660
test al, al
je 0x180052e38
mov rcx, qword [0x1800694e0]
call fcn.180006c90
test al, al
je 0x180052ecc
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 0x180052ecc
mov r10d, ebp
mov eax, esi
inc eax
mov r8d, eax
cmp byte [rax + r15], sil
jne 0x180052e62
test eax, eax
je 0x180052ea7
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 0x180052e80
mov edx, r10d
mov rcx, qword [rdi]
call fcn.180005e00
test al, al
je 0x180052ecc
xor edx, edx
lea rcx, [0x180069740]
call fcn.180007d60
test al, al
jne 0x1800531e8
add rdi, 8
cmp rdi, r14
jne 0x180052de0
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 0x180052f82
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x180052f6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180052f6f
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 0x1800531e8
mov rcx, rbx
call fcn.180051e80
test al, al
je 0x1800531e8
mov rcx, rbx
call fcn.180005a60
mov rcx, rax
call fcn.180005660
test al, al
je 0x180052fc3
mov rcx, qword [0x1800694e0]
call fcn.180006c90
test al, al
je 0x1800531e8
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 0x1800531e8
mov r10d, ebp
mov eax, esi
lea r8, str.vexr2timer
inc eax
mov r9d, eax
cmp byte [rax + r8], 0
jne 0x180053000
test eax, eax
je 0x180053037
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 0x180053010
mov edx, r10d
mov rcx, rbx
call fcn.180005e00
test al, al
jne 0x1800531e8
mov rcx, rbx
call fcn.180005b60
movaps xmm6, xmm0
mov rcx, qword [0x180069520]
call fcn.180006ca0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm6
ja 0x18005316c
xorps xmm6, xmm6
xor edx, edx
lea rcx, [0x1800695c0]
call fcn.180008aa0
test al, al
je 0x18005309f
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x1800695c0]
call fcn.180008300
addss xmm0, xmm6
movaps xmm6, xmm0
xor edx, edx
lea rcx, [0x180069680]
call fcn.180008aa0
test al, al
je 0x1800530c7
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x180069680]
call fcn.180008300
addss xmm6, xmm0
xor edx, edx
lea rcx, [0x1800696e0]
call fcn.180008aa0
test al, al
je 0x1800530ef
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x1800696e0]
call fcn.180008300
addss xmm6, xmm0
xor edx, edx
lea rcx, [0x180069740]
call fcn.180008aa0
test al, al
je 0x180053123
mov rcx, rbx
call fcn.180051e80
test al, al
je 0x180053123
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x180069740]
call fcn.180008300
addss xmm6, xmm0
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [0x180064730]
call fcn.180006ad0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
addsd xmm0, xmm1
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
mov rcx, rbx
call fcn.180005b30
comiss xmm6, xmm0
jbe 0x1800531e8
mov rcx, qword [0x180069510]
call fcn.180006c90
test al, al
je 0x1800531e8
mov rcx, qword [0x180069518]
call fcn.180006c90
test al, al
je 0x1800531d9
lea r9, str.vexpdoom
inc esi
mov r10d, esi
cmp byte [rsi + r9], 0
jne 0x180053183
test esi, esi
je 0x1800531c7
nop dword [rax]
nop word [rax + rax]
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 0x1800531a0
mov edx, ebp
mov rcx, qword [0x180064730]
call fcn.180005e00
test al, al
je 0x1800531e8
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