Function at 0x180055664
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 - 0x27]
sub rsp, 0x90
mov r13, rcx
xor r12d, r12d
mov byte [rbp + 7], r12b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf], xmm0
mov qword [rbp + 0x1f], r12
mov qword [rbp + 0x77], r12
lea rdx, [rbp + 0x77]
lea rcx, [rbp + 7]
call fcn.1800579ec
cmp eax, 0x80070015
jne 0x1800556b7
mov rcx, qword [rbp + 0x77]
jmp 0x1800559c7
mov rcx, qword [rbp + 0x5f]
test eax, eax
js 0x180055a14
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x1800556d9
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x18004bf34.0]
mov qword [rbp - 0x39], r12
mov rcx, qword [r13 + 0x80]
mov rax, qword [rcx]
mov qword [rbp - 0x39], r12
lea rdx, [rbp - 0x39]
mov rax, qword [rax + 0x18]
call qword [case.0x18004bf34.0]
mov rcx, qword [rbp + 0x5f]
test eax, eax
js 0x180055a29
mov qword [rbp + 0x7f], r12
mov rcx, qword [rbp - 0x39]
mov rax, qword [rcx]
mov qword [rbp + 0x7f], r12
lea r8, [rbp + 0x7f]
mov edx, 1
mov rax, qword [rax + 0x20]
call qword [case.0x18004bf34.0]
mov rcx, qword [rbp + 0x5f]
test eax, eax
js 0x180055a3e
mov qword [rbp + 0x6f], r12
mov rbx, qword [rbp + 0x7f]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x18]
mov rcx, qword [rbp + 0x6f]
mov qword [rbp + 0x6f], r12
test rcx, rcx
je 0x18005575c
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x18004bf34.0]
lea rdx, [rbp + 0x6f]
mov rcx, rbx
mov rax, rdi
call qword [case.0x18004bf34.0]
test eax, eax
js 0x180055995
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rcx]
mov rax, qword [rax + 0x68]
call qword [case.0x18004bf34.0]
mov r11, rax
mov qword [rbp - 0x31], rax
movabs rdx, 0xcbf29ce484222325
mov r8, r12
movzx ecx, byte [rbp + r8 - 0x31]
xor rdx, rcx
movabs rax, 0x100000001b3
imul rdx, rax
inc r8
cmp r8, 8
jb 0x180055799
mov r10, qword [r13 + 0x70]
and r10, rdx
add r10, r10
mov rbx, qword [r13 + 0x58]
mov rax, qword [rbx + r10*8]
mov r9, qword [r13 + 0x48]
cmp qword [rbx + r10*8], r9
jne 0x1800557da
mov rcx, r9
jmp 0x1800557e2
mov rcx, qword [rbx + r10*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x180055820
cmp qword [rax + 0x10], r11
je 0x1800557f2
mov rax, qword [rax]
jmp 0x1800557cf
mov r8, rax
mov rcx, rax
cmp qword [rbx + r10*8], r9
jne 0x180055803
mov rdx, r9
jmp 0x18005580b
mov rdx, qword [rbx + r10*8 + 8]
mov rdx, qword [rdx]
cmp rax, rdx
je 0x18005581b
cmp r11, qword [rax + 0x10]
jne 0x18005581b
mov rax, qword [rax]
jmp 0x1800557f8
cmp r8, rax
jne 0x180055826
mov rcx, r9
mov rax, r9
mov rdx, r12
cmp rcx, rax
je 0x180055842
inc rdx
mov rcx, qword [rcx]
cmp rcx, rax
jne 0x18005582e
test rdx, rdx
jne 0x180055737
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rcx]
lea r8, [rbp + 0x77]
lea rdx, [0x180070910]
mov rax, qword [rax]
call qword [case.0x18004bf34.0]
mov rcx, qword [rbp + 0x5f]
test eax, eax
js 0x1800559ff
mov dil, r12b
mov sil, r12b
mov rcx, qword [rbp + 0x77]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x18004bf34.0]
test rax, rax
je 0x18005589f
mov dil, 1
mov r9, qword [rbp + 0x77]
mov r8, qword [rbp + 0x6f]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.180055a5c
mov sil, al
mov r15b, r12b
mov r14b, r12b
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r12
mov rcx, qword [rbp + 0x77]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x20]
lea rdx, [rbp - 0x29]
mov qword [rbp - 0x19], rdx
mov dword [rbp - 0x11], r12d
mov byte [rbp - 0xd], 1
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x29]
call qword [case.0x18004bf34.0]
mov ebx, eax
mov rcx, qword [rbp + 0x5f]
test eax, eax
jns 0x1800558f4
mov r9d, eax
lea r8, str.pcshell_shell_appresolverunifiedtilemodelreconciler_shortcutmigrator.cpp
mov edx, Ordinal_170
call fcn.18000a128
test ebx, ebx
setns dl
cmp byte [rbp - 0xd], r12b
je 0x18005590a
mov ecx, dword [rbp - 0x11]
mov rax, qword [rbp - 0x19]
mov qword [rax + 8], rcx
test dl, dl
je 0x18005592f
mov rax, qword [rbp - 0x21]
test rax, rax
je 0x18005592f
mov r15b, 1
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x29]
mov r8, qword [rbp + 0x6f]
call fcn.180055eec
mov r14b, al
test dil, dil
je 0x180055939
test sil, sil
je 0x180055959
test r15b, r15b
je 0x180055943
test r14b, r14b
je 0x180055959
lea rcx, [r13 + 0x40]
mov r9b, byte [rbp + 0x6f]
lea r8, [rbp - 0x31]
lea rdx, [rbp - 9]
call fcn.180056b2c
nop
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x180055976
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r12
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x180055737
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x18004bf34.0]
jmp 0x180055737
mov rcx, qword [rbp + 0x6f]
test rcx, rcx
je 0x1800559ac
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x18004bf34.0]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1800559c3
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x18004bf34.0]
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x1800559da
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x18004bf34.0]
nop
lea rcx, [rbp + 7]
call fcn.180057958
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9d, eax
lea r8, str.onecoreinternal_sdkincwilopensourcewil_result_macros.h
mov edx, 0x1577
call fcn.18001b42c
nop
mov r9d, eax
lea r8, str.pcshell_shell_appresolverunifiedtilemodelreconciler_shortcutmigrator.cpp
mov edx, 0x89
call fcn.18001b42c
nop
mov r9d, eax
lea r8, str.pcshell_shell_appresolverunifiedtilemodelreconciler_shortcutmigrator.cpp
mov edx, Ordinal_145
call fcn.18001b42c
nop
mov r9d, eax
lea r8, str.pcshell_shell_appresolverunifiedtilemodelreconciler_shortcutmigrator.cpp
mov edx, Ordinal_145
call fcn.18001b42c
int3