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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rdi
push r14
sub rsp, 0x40
xor ebx, ebx
mov rdi, r8
mov dword [rsp + 0x70], ebx
mov r14, rdx
mov rbp, rcx
mov r11d, ebx
test r8b, 3
je 0x1400135fe
lea ecx, [rbx + 2]
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_SPIR_V_module_size_is_not_aligned_to_4_bytes._n
mov rcx, rax
call fcn.1400020d0
mov ecx, 2
call fcn.140121458
mov rcx, rax
call fcn.140121814
xor al, al
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r14
pop rdi
pop rbp
ret
cmp rdi, 0x14
jae 0x140013617
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_SPIR_V_module_size_is_impossibly_small._n
jmp 0x1400135d4
shr rdi, 2
cmp dword [rdx], 0x7230203
je 0x140013636
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_Invalid_magic_number_of_module._n
jmp 0x1400135d4
mov eax, dword [rdx + 4]
cmp eax, 0x10600
jbe 0x140013653
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_SPIR_V_version_above_1.6_not_recognized._n
jmp 0x1400135d4
jne 0x140013678
cmp dword [rcx + 0x48], 0x403000
jae 0x14001382f
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_SPIR_V_1.6_is_only_supported_in_Vulkan_1.3_and_up._n
jmp 0x1400135d4
cmp eax, 0x10500
jne 0x1400136a2
cmp dword [rcx + 0x48], 0x402000
jae 0x14001382f
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_SPIR_V_1.5_is_only_supported_in_Vulkan_1.2_and_up._n
jmp 0x1400135d4
cmp eax, 0x10400
jb 0x1400137e3
cmp dword [rcx + 0x48], 0x402000
jae 0x140013780
mov ecx, 0x20
call fcn.140116d14
movups xmm0, xmmword [str.VK_KHR_spirv_1_4]
mov r10d, 0x1f
mov r8, rax
movabs rdx, 0xcbf29ce484222325
movabs rcx, 0x100000001b3
movups xmmword [rax], xmm0
mov byte [rax + 0x10], bl
lea r11d, [r10 - 0x1e]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx + r8]
inc rbx
xor rdx, rax
imul rdx, rcx
cmp rbx, 0x10
jb 0x140013700
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x18]
and rcx, rdx
add rcx, rcx
mov rdx, qword [rax + rcx*8 + 8]
cmp rdx, qword [rbp + 8]
je 0x14001377a
mov r9, qword [rax + rcx*8]
nop dword [rax]
nop word [rax + rax]
cmp qword [rdx + 0x28], 0x10
lea rcx, [rdx + 0x10]
mov rax, qword [rcx + 0x10]
jb 0x140013752
mov rcx, qword [rcx]
cmp rax, 0x10
jne 0x14001376a
mov rax, qword [r8]
cmp rax, qword [rcx]
jne 0x14001376a
mov rax, qword [r8 + 8]
cmp rax, qword [rcx + 8]
je 0x140013775
cmp rdx, r9
je 0x14001377a
mov rdx, qword [rdx + 8]
jmp 0x140013740
test rdx, rdx
jne 0x14001378a
movzx ebx, r11b
jmp 0x14001378c
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x20]
xor bl, bl
test r11b, 1
je 0x1400137c9
cmp r10, 0x10
jb 0x1400137c9
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x1400137c1
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013911
mov rcx, r8
call fcn.140116d50
test bl, bl
je 0x14001382f
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_Need_VK_KHR_spirv_1_4_or_Vulkan_1.2_for_SPIR_V_1.4._n
jmp 0x1400135d4
cmp eax, 0x10300
jb 0x140013809
cmp dword [rcx + 0x48], 0x401000
jae 0x14001382f
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_Need_Vulkan_1.1_for_SPIR_V_1.3._n
jmp 0x1400135d4
cmp eax, 0x10000
jbe 0x14001382f
cmp dword [rcx + 0x48], 0x401000
jae 0x14001382f
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_Need_Vulkan_1.1_for_SPIR_V_1.1_or_1.2._n
jmp 0x1400135d4
mov edx, 5
mov qword [rsp + 0x60], rsi
cmp edi, edx
jbe 0x1400138a7
nop dword [rax]
mov eax, edx
mov ecx, dword [r14 + rax*4]
movzx eax, cx
shr ecx, 0x10
test ecx, ecx
je 0x1400138e2
lea ebx, [rcx + rdx]
cmp ebx, edi
ja 0x1400138cf
cmp eax, 0x11
jne 0x14001389c
cmp ecx, 2
jne 0x1400138bc
lea eax, [rdx + 1]
mov rcx, rbp
mov edx, dword [r14 + rax*4]
mov esi, eax
call fcn.140013920
test al, al
jne 0x1400138a1
mov ebx, dword [r14 + rsi*4]
mov ecx, 2
call fcn.140121458
mov r8d, ebx
lea rdx, str.Fossilize_ERROR:_Capability__u_is_not_supported_on_this_device__ignoring_shader_module._n
mov rcx, rax
call fcn.1400020d0
jmp 0x1400138fb
cmp eax, 0x36
je 0x1400138a7
mov edx, ebx
cmp ebx, edi
jb 0x140013840
mov al, 1
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r14
pop rdi
pop rbp
ret
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_Instruction_length_for_OpCapability_is_wrong._n
jmp 0x1400138f3
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_Opcode_overflows_module._n
jmp 0x1400138f3
mov ecx, 2
call fcn.140121458
lea rdx, str.Fossilize_ERROR:_SPIR_V_opcodes_cannot_consume_0_words._n
mov rcx, rax
call fcn.1400020d0
mov ecx, 2
call fcn.140121458
mov rcx, rax
call fcn.140121814
xor al, al
jmp 0x1400138a9
call fcn.14011d39c
int3