Function at 0x140013400
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 0x14001345e
lea ecx, [rbx + 2]
call fcn.140121190
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.140121190
mov rcx, rax
call fcn.14012154c
xor al, al
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r14
pop rdi
pop rbp
ret
cmp rdi, 0x14
jae 0x140013477
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_SPIR_V_module_size_is_impossibly_small._n
jmp 0x140013434
shr rdi, 2
cmp dword [rdx], 0x7230203
je 0x140013496
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_Invalid_magic_number_of_module._n
jmp 0x140013434
mov eax, dword [rdx + 4]
cmp eax, 0x10600
jbe 0x1400134b3
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_SPIR_V_version_above_1.6_not_recognized._n
jmp 0x140013434
jne 0x1400134d8
cmp dword [rcx + 0x48], 0x403000
jae 0x14001368f
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_SPIR_V_1.6_is_only_supported_in_Vulkan_1.3_and_up._n
jmp 0x140013434
cmp eax, 0x10500
jne 0x140013502
cmp dword [rcx + 0x48], 0x402000
jae 0x14001368f
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_SPIR_V_1.5_is_only_supported_in_Vulkan_1.2_and_up._n
jmp 0x140013434
cmp eax, 0x10400
jb 0x140013643
cmp dword [rcx + 0x48], 0x402000
jae 0x1400135e0
mov ecx, 0x20
call fcn.140116b34
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 0x140013560
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 0x1400135da
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 0x1400135b2
mov rcx, qword [rcx]
cmp rax, 0x10
jne 0x1400135ca
mov rax, qword [r8]
cmp rax, qword [rcx]
jne 0x1400135ca
mov rax, qword [r8 + 8]
cmp rax, qword [rcx + 8]
je 0x1400135d5
cmp rdx, r9
je 0x1400135da
mov rdx, qword [rdx + 8]
jmp 0x1400135a0
test rdx, rdx
jne 0x1400135ea
movzx ebx, r11b
jmp 0x1400135ec
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x20]
xor bl, bl
test r11b, 1
je 0x140013629
cmp r10, 0x10
jb 0x140013629
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x140013621
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013771
mov rcx, r8
call fcn.140116b70
test bl, bl
je 0x14001368f
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_Need_VK_KHR_spirv_1_4_or_Vulkan_1.2_for_SPIR_V_1.4._n
jmp 0x140013434
cmp eax, 0x10300
jb 0x140013669
cmp dword [rcx + 0x48], 0x401000
jae 0x14001368f
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_Need_Vulkan_1.1_for_SPIR_V_1.3._n
jmp 0x140013434
cmp eax, 0x10000
jbe 0x14001368f
cmp dword [rcx + 0x48], 0x401000
jae 0x14001368f
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_Need_Vulkan_1.1_for_SPIR_V_1.1_or_1.2._n
jmp 0x140013434
mov edx, 5
mov qword [rsp + 0x60], rsi
cmp edi, edx
jbe 0x140013707
nop dword [rax]
mov eax, edx
mov ecx, dword [r14 + rax*4]
movzx eax, cx
shr ecx, 0x10
test ecx, ecx
je 0x140013742
lea ebx, [rcx + rdx]
cmp ebx, edi
ja 0x14001372f
cmp eax, 0x11
jne 0x1400136fc
cmp ecx, 2
jne 0x14001371c
lea eax, [rdx + 1]
mov rcx, rbp
mov edx, dword [r14 + rax*4]
mov esi, eax
call fcn.140013780
test al, al
jne 0x140013701
mov ebx, dword [r14 + rsi*4]
mov ecx, 2
call fcn.140121190
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 0x14001375b
cmp eax, 0x36
je 0x140013707
mov edx, ebx
cmp ebx, edi
jb 0x1400136a0
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.140121190
lea rdx, str.Fossilize_ERROR:_Instruction_length_for_OpCapability_is_wrong._n
jmp 0x140013753
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_Opcode_overflows_module._n
jmp 0x140013753
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_SPIR_V_opcodes_cannot_consume_0_words._n
mov rcx, rax
call fcn.1400020d0
mov ecx, 2
call fcn.140121190
mov rcx, rax
call fcn.14012154c
xor al, al
jmp 0x140013709
call fcn.14011d1bc
int3