Function at 0x140009130
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 0x14000918e
lea ecx, [rbx + 2]
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_SPIR_V_module_size_is_not_aligned_to_4_bytes._n
mov rcx, rax
call fcn.140002150
mov ecx, 2
call fcn.1400f6cc8
mov rcx, rax
call fcn.1400f7084
xor al, al
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r14
pop rdi
pop rbp
ret
cmp rdi, 0x14
jae 0x1400091a7
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_SPIR_V_module_size_is_impossibly_small._n
jmp 0x140009164
shr rdi, 2
cmp dword [rdx], 0x7230203
je 0x1400091c6
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_Invalid_magic_number_of_module._n
jmp 0x140009164
mov eax, dword [rdx + 4]
cmp eax, 0x10500
jbe 0x1400091e3
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_SPIR_V_version_above_1.5_not_recognized._n
jmp 0x140009164
jne 0x140009208
cmp dword [rcx + 0x48], 0x402000
jae 0x140009369
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_SPIR_V_1.5_is_only_supported_in_Vulkan_1.2_and_up._n
jmp 0x140009164
cmp eax, 0x10400
jb 0x140009343
cmp dword [rcx + 0x48], 0x402000
jae 0x1400092e0
mov ecx, 0x20
call fcn.1400ec60c
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 + rax]
movzx eax, byte [rbx + r8]
inc rbx
xor rdx, rax
imul rdx, rcx
cmp rbx, 0x10
jb 0x140009260
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 0x1400092da
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 0x1400092b2
mov rcx, qword [rcx]
cmp rax, 0x10
jne 0x1400092ca
mov rax, qword [r8]
cmp rax, qword [rcx]
jne 0x1400092ca
mov rax, qword [r8 + 8]
cmp rax, qword [rcx + 8]
je 0x1400092d5
cmp rdx, r9
je 0x1400092da
mov rdx, qword [rdx + 8]
jmp 0x1400092a0
test rdx, rdx
jne 0x1400092ea
movzx ebx, r11b
jmp 0x1400092ec
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x20]
xor bl, bl
test r11b, 1
je 0x140009329
cmp r10, 0x10
jb 0x140009329
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x140009321
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009451
mov rcx, r8
call fcn.1400ec648
test bl, bl
je 0x140009369
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_Need_VK_KHR_spirv_1_4_or_Vulkan_1.2_for_SPIR_V_1.4._n
jmp 0x140009164
cmp eax, 0x10300
jb 0x140009369
cmp dword [rcx + 0x48], 0x401000
jae 0x140009369
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_Need_Vulkan_1.1_for_SPIR_V_1.3._n
jmp 0x140009164
mov edx, 5
mov qword [rsp + 0x60], rsi
cmp edi, edx
jbe 0x1400093e7
nop word [rax + rax]
mov eax, edx
mov ecx, dword [r14 + rax*4]
movzx eax, cx
shr ecx, 0x10
test ecx, ecx
je 0x140009422
lea ebx, [rcx + rdx]
cmp ebx, edi
ja 0x14000940f
cmp eax, 0x11
jne 0x1400093dc
cmp ecx, 2
jne 0x1400093fc
lea eax, [rdx + 1]
mov rcx, rbp
mov edx, dword [r14 + rax*4]
mov esi, eax
call fcn.140009460
test al, al
jne 0x1400093e1
mov ebx, dword [r14 + rsi*4]
mov ecx, 2
call fcn.1400f6cc8
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.140002150
jmp 0x14000943b
cmp eax, 0x36
je 0x1400093e7
mov edx, ebx
cmp ebx, edi
jb 0x140009380
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.1400f6cc8
lea rdx, str.Fossilize_ERROR:_Instruction_length_for_OpCapability_is_wrong._n
jmp 0x140009433
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_Opcode_overflows_module._n
jmp 0x140009433
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_SPIR_V_opcodes_cannot_consume_0_words._n
mov rcx, rax
call fcn.140002150
mov ecx, 2
call fcn.1400f6cc8
mov rcx, rax
call fcn.1400f7084
xor al, al
jmp 0x1400093e9
call fcn.1400f2c0c
int3