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

Disassembly:
mov rcx, qword [rcx]
jmp 0x140008640
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
cmp byte [rcx + 0xa69], 0
mov r14, rdx
movaps xmmword [rsp + 0x30], xmm6
mov rsi, rcx
movaps xmmword [rsp + 0x20], xmm7
jne 0x140008c25
mov ecx, 0x20
call fcn.1400ec60c
movups xmm0, xmmword [str.VK_KHR_create_renderpass2]
mov rdi, rax
movabs rdx, 0xcbf29ce484222325
movabs r8, 0x100000001b3
movups xmmword [rax], xmm0
movsd xmm1, qword [0x1401235d8]
movsd qword [rax + 0x10], xmm1
movzx ecx, byte [0x1401235e0]
mov byte [rax + 0x18], cl
xor ecx, ecx
mov byte [rax + 0x19], 0
nop
movzx eax, byte [rcx + rdi]
inc rcx
xor rdx, rax
imul rdx, r8
cmp rcx, 0x19
jb 0x1400086c0
mov rbp, qword [rsi + 0x30]
mov rax, qword [rsi + 0x18]
and rbp, rdx
add rbp, rbp
mov rbx, qword [rax + rbp*8 + 8]
cmp rbx, qword [rsi + 8]
je 0x140008c49
mov rbp, qword [rax + rbp*8]
nop word [rax + rax]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x140008712
mov rdx, qword [rdx]
cmp rax, 0x19
jne 0x140008727
mov r8, rax
mov rcx, rdi
call fcn.1400ee510
test eax, eax
je 0x140008736
cmp rbx, rbp
je 0x140008c49
mov rbx, qword [rbx + 8]
jmp 0x140008700
mov edx, 0x20
mov rcx, rdi
call fcn.1400ec648
test rbx, rbx
je 0x140008c56
mov rdx, qword [r14 + 8]
mov rcx, rsi
call fcn.1400078c0
test al, al
je 0x140008c56
xor edi, edi
cmp dword [r14 + 0x14], edi
jbe 0x140008a48
nop dword [rax]
mov ecx, dword [r14 + 0x20]
xor ebx, ebx
movd xmm7, edi
pshufd xmm7, xmm7, 0
test ecx, ecx
je 0x1400089d7
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x80], rcx
lea r13, [rax + 8]
lea r14, [rax + 0x38]
nop dword [rax + rax]
mov eax, dword [r14 - 0x10]
test eax, eax
je 0x1400087e8
mov r9, qword [r14]
mov r8d, eax
mov rcx, qword [r14 - 8]
add rcx, 0x10
lea rdx, [r9 + 0x10]
nop word [rax + rax]
mov eax, ebx
bts eax, 7
cmp dword [rcx], edi
cmovne eax, ebx
mov ebx, eax
test r9, r9
je 0x1400087da
cmp dword [rdx], edi
jne 0x1400087da
bts ebx, 7
add rcx, 0x20
add rdx, 0x20
sub r8, 1
jne 0x1400087c0
mov r10d, dword [r14 - 0x1c]
xor r11d, r11d
test r10d, r10d
je 0x140008949
cmp r10d, 8
jb 0x14000891b
mov r15, qword [r14 - 0x18]
mov r12d, r10d
movdqa xmm6, xmmword [0x140123700]
and r12d, 0xfffffff8
xorps xmm5, xmm5
xorps xmm4, xmm4
mov ebp, 2
mov r9d, r11d
lea r8d, [rbp + 1]
shl r8, 5
lea ecx, [rbp - 1]
shl rcx, 5
add r11d, 8
shl r9, 5
mov edx, ebp
movd xmm1, dword [r8 + r15 + 0x10]
lea r8d, [rbp + 4]
movd xmm0, dword [rcx + r15 + 0x10]
lea ecx, [rbp + 2]
movd xmm3, dword [r9 + r15 + 0x10]
lea r9d, [rbp + 5]
punpckldq xmm3, xmm0
movdqa xmm0, xmm6
por xmm0, xmm5
shl rdx, 5
shl r9, 5
shl r8, 5
shl rcx, 5
movd xmm2, dword [rdx + r15 + 0x10]
lea edx, [rbp + 3]
punpckldq xmm2, xmm1
add ebp, 8
movd xmm1, dword [r9 + r15 + 0x10]
punpcklqdq xmm3, xmm2
movd xmm2, dword [r8 + r15 + 0x10]
pcmpeqd xmm3, xmm7
pand xmm0, xmm3
shl rdx, 5
punpckldq xmm2, xmm1
pandn xmm3, xmm5
movdqa xmm5, xmm0
por xmm5, xmm3
movd xmm3, dword [rcx + r15 + 0x10]
movd xmm0, dword [rdx + r15 + 0x10]
punpckldq xmm3, xmm0
movdqa xmm0, xmm4
punpcklqdq xmm3, xmm2
por xmm0, xmm6
pcmpeqd xmm3, xmm7
pand xmm0, xmm3
pandn xmm3, xmm4
movdqa xmm4, xmm0
por xmm4, xmm3
cmp r11d, r12d
jb 0x140008820
por xmm4, xmm5
movdqa xmm0, xmm4
psrldq xmm0, 8
por xmm4, xmm0
movdqa xmm0, xmm4
psrldq xmm0, 4
por xmm4, xmm0
movd eax, xmm4
or ebx, eax
cmp r11d, r10d
jae 0x140008949
mov r8, qword [r14 - 0x18]
mov ecx, r11d
shl rcx, 5
sub r10d, r11d
mov edx, r10d
nop dword [rax]
mov eax, ebx
lea rcx, [rcx + 0x20]
or eax, 1
cmp dword [r8 + rcx - 0x10], edi
cmovne eax, ebx
mov ebx, eax
sub rdx, 1
jne 0x140008930
mov rax, qword [r13 + 0x38]
test rax, rax
je 0x14000895b
cmp dword [rax + 0x10], edi
jne 0x14000895b
bts ebx, 9
mov rcx, qword [r13]
mov rax, rcx
test rcx, rcx
je 0x14000898e
cmp dword [rcx], 0x3b9dd359
je 0x14000897a
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x140008967
jmp 0x140008993
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x14000898e
cmp dword [rdx + 0x10], edi
jne 0x14000898e
bts ebx, 9
jmp 0x140008993
test rax, rax
je 0x1400089b8
cmp dword [rax], 0x3b9e3cd0
je 0x1400089a6
mov rax, qword [rax + 8]
test rax, rax
jne 0x140008993
jmp 0x1400089b8
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400089b8
cmp dword [rcx + 0x10], edi
jne 0x1400089b8
bts ebx, 0x1e
add r14, 0x58
add r13, 0x58
sub qword [rsp + 0x80], 1
jne 0x1400087a0
mov r14, qword [rsp + 0x88]
mov eax, edi
mov rcx, rsi
imul rbp, rax, 0x38
add rbp, qword [r14 + 0x18]
mov rdx, qword [rbp + 8]
call fcn.1400078c0
test al, al
je 0x140008c56
mov edx, dword [rbp + 0x2c]
mov rcx, rsi
call fcn.1400065d0
test al, al
je 0x140008c56
mov edx, dword [rbp + 0x30]
mov rcx, rsi
call fcn.1400065d0
test al, al
je 0x140008c56
test ebx, ebx
je 0x140008a3c
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x140008a3c
mov rax, qword [rcx]
mov r8d, ebx
mov edx, dword [rbp + 0x14]
call qword [rax + 8]
test al, al
je 0x140008c56
inc edi
cmp edi, dword [r14 + 0x14]
jb 0x140008770
xor r15d, r15d
cmp dword [r14 + 0x20], r15d
jbe 0x140008bb1
nop word [rax + rax]
mov eax, r15d
mov rcx, rsi
imul rbx, rax, 0x58
add rbx, qword [r14 + 0x28]
mov rdx, qword [rbx + 8]
call fcn.1400078c0
test al, al
je 0x140008c56
xor ebp, ebp
cmp dword [rbx + 0x28], ebp
jbe 0x140008b06
nop word [rax + rax]
mov r14, qword [rbx + 0x30]
mov rcx, rsi
mov edi, ebp
shl rdi, 5
mov rdx, qword [r14 + rdi + 8]
call fcn.1400078c0
test al, al
je 0x140008c56
mov edx, dword [r14 + rdi + 0x14]
mov rcx, rsi
call fcn.1400065d0
test al, al
je 0x140008c56
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x140008af7
add rdi, rax
mov rcx, rsi
mov rdx, qword [rdi + 8]
call fcn.1400078c0
test al, al
je 0x140008c56
mov edx, dword [rdi + 0x14]
mov rcx, rsi
call fcn.1400065d0
test al, al
je 0x140008c56
inc ebp
cmp ebp, dword [rbx + 0x28]
jb 0x140008a90
mov r14, qword [rsp + 0x88]
xor ebp, ebp
cmp dword [rbx + 0x1c], ebp
jbe 0x140008b48
nop dword [rax]
mov edi, ebp
mov rcx, rsi
shl rdi, 5
add rdi, qword [rbx + 0x20]
mov rdx, qword [rdi + 8]
call fcn.1400078c0
test al, al
je 0x140008c56
mov edx, dword [rdi + 0x14]
mov rcx, rsi
call fcn.1400065d0
test al, al
je 0x140008c56
inc ebp
cmp ebp, dword [rbx + 0x1c]
jb 0x140008b10
mov rdi, qword [rbx + 0x40]
test rdi, rdi
je 0x140008b78
mov rdx, qword [rdi + 8]
mov rcx, rsi
call fcn.1400078c0
test al, al
je 0x140008c56
mov edx, dword [rdi + 0x14]
mov rcx, rsi
call fcn.1400065d0
test al, al
je 0x140008c56
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140008ba4
mov ecx, dword [rsi + 0xa60]
xor edx, edx
mov eax, 1
shl eax, cl
cmp ecx, 0x20
cmovb edx, eax
dec edx
and edx, r8d
cmp edx, r8d
jne 0x140008c56
inc r15d
cmp r15d, dword [r14 + 0x20]
jb 0x140008a60
xor ebx, ebx
cmp dword [r14 + 0x30], ebx
jbe 0x140008be4
nop dword [rax]
lea rdx, [rbx + rbx*2]
mov rcx, rsi
shl rdx, 4
add rdx, qword [r14 + 0x38]
mov rdx, qword [rdx + 8]
call fcn.1400078c0
test al, al
je 0x140008c56
inc ebx
cmp ebx, dword [r14 + 0x30]
jb 0x140008bc0
mov r9d, dword [r14 + 0x40]
xor edx, edx
test r9d, r9d
je 0x140008c25
mov r10, qword [r14 + 0x48]
mov ecx, dword [rsi + 0xa60]
nop dword [rax]
mov r8d, dword [r10 + rdx*4]
cmp ecx, 0x20
jb 0x140008c0d
xor eax, eax
jmp 0x140008c14
mov eax, 1
shl eax, cl
dec eax
and eax, r8d
cmp eax, r8d
jne 0x140008c56
inc edx
cmp edx, r9d
jb 0x140008c00
mov al, 1
mov rbx, qword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x20]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 0x20
mov rcx, rdi
call fcn.1400ec648
xor al, al
jmp 0x140008c27