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

Disassembly:
mov rcx, qword [rcx]
jmp 0x14000af30
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov eax, dword [rdx + 0x10]
xor r12d, r12d
mov dword [rbp + 0x50], r12d
mov r13, rdx
mov byte [rbp + 0x50], r12b
mov rdi, rcx
test eax, 0xffffffcc
jne case.0x14000b518.1
cmp byte [rcx + 0xfd1], r12b
je 0x14000af7e
mov al, 1
jmp 0x14000b047
movabs rbx, 0x100000001b3
movabs r14, 0xcbf29ce484222325
test al, 1
je 0x14000b07b
mov ecx, 0x20
call fcn.140116d14
movups xmm0, xmmword [str.VK_KHR_push_descriptor]
mov rsi, rax
mov rdx, r14
movups xmmword [rax], xmm0
mov ecx, dword [0x14014e738]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x14014e73c]
mov word [rax + 0x14], cx
xor ecx, ecx
mov byte [rax + 0x16], r12b
nop
movzx eax, byte [rcx + rsi]
inc rcx
xor rdx, rax
imul rdx, rbx
cmp rcx, 0x16
jb 0x14000afd0
mov r15, qword [rdi + 0x30]
mov rax, qword [rdi + 0x18]
and r15, rdx
add r15, r15
mov rbx, qword [rax + r15*8 + 8]
cmp rbx, qword [rdi + 8]
je 0x14000b062
mov r15, qword [rax + r15*8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x14000b013
mov rdx, qword [rdx]
cmp rax, 0x16
jne 0x14000b028
mov r8, rax
mov rcx, rsi
call fcn.140118c20
test eax, eax
je 0x14000b033
cmp rbx, r15
je 0x14000b062
mov rbx, qword [rbx + 8]
jmp 0x14000b001
mov edx, 0x20
mov rcx, rsi
call fcn.140116d50
test rbx, rbx
jne 0x14000b071
xor al, al
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 0x20
mov rcx, rsi
call fcn.140116d50
jmp case.0x14000b518.1
movabs rbx, 0x100000001b3
test byte [r13 + 0x10], 2
je 0x14000b14c
mov ecx, 0x20
call fcn.140116d14
movups xmm0, xmmword [str.VK_EXT_descriptor_indexing]
mov rsi, rax
mov rdx, r14
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14014e0b8]
movsd qword [rax + 0x10], xmm1
movzx ecx, word [0x14014e0c0]
mov word [rax + 0x18], cx
xor ecx, ecx
mov byte [rax + 0x1a], r12b
nop
movzx eax, byte [rcx + rsi]
inc rcx
xor rdx, rax
imul rdx, rbx
cmp rcx, 0x1a
jb 0x14000b0c0
mov r15, qword [rdi + 0x30]
mov rax, qword [rdi + 0x18]
and r15, rdx
add r15, r15
mov rbx, qword [rax + r15*8 + 8]
cmp rbx, qword [rdi + 8]
je 0x14000b062
mov r15, qword [rax + r15*8]
nop word [rax + rax]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x14000b112
mov rdx, qword [rdx]
cmp rax, 0x1a
jne 0x14000b127
mov r8, rax
mov rcx, rsi
call fcn.140118c20
test eax, eax
je 0x14000b136
cmp rbx, r15
je 0x14000b062
mov rbx, qword [rbx + 8]
jmp 0x14000b100
mov edx, 0x20
mov rcx, rsi
call fcn.140116d50
test rbx, rbx
je case.0x14000b518.1
mov eax, dword [r13 + 0x10]
test al, 0x30
je 0x14000b27b
cmp dword [rdi + 0xc08], r12d
je case.0x14000b518.1
test al, 1
je 0x14000b27b
cmp dword [rdi + 0xc14], r12d
je 0x14000b22c
mov ecx, 0x20
call fcn.140116d14
movups xmm0, xmmword [str.VK_KHR_push_descriptor]
mov rsi, rax
mov r15d, 0x1f
xor ecx, ecx
movabs rdx, 0x100000001b3
movups xmmword [rax], xmm0
mov eax, dword [0x14014e738]
mov dword [rsi + 0x10], eax
movzx eax, word [0x14014e73c]
mov word [rsi + 0x14], ax
mov byte [rsi + 0x16], r12b
lea r12d, [r15 - 0x1e]
nop
movzx eax, byte [rcx + rsi]
inc rcx
xor r14, rax
imul r14, rdx
cmp rcx, 0x16
jb 0x14000b1c0
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x18]
and rcx, r14
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [rdi + 8]
je 0x14000b234
mov r14, qword [rax + rcx*8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x14000b203
mov rdx, qword [rdx]
cmp rax, 0x16
jne 0x14000b218
mov r8, rax
mov rcx, rsi
call fcn.140118c20
test eax, eax
je 0x14000b223
cmp rbx, r14
je 0x14000b234
mov rbx, qword [rbx + 8]
jmp 0x14000b1f1
test rbx, rbx
je 0x14000b234
xor bl, bl
jmp 0x14000b236
mov r15, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x60]
mov bl, 1
test r12b, 1
je 0x14000b273
cmp r15, 0x10
jb 0x14000b273
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14000b26b
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000b7ad
mov rcx, rsi
call fcn.140116d50
test bl, bl
jne case.0x14000b518.1
mov r8, qword [r13 + 8]
xor ecx, ecx
xor r9d, r9d
mov dword [rbp - 0x40], ecx
mov dword [rbp + 0x58], r9d
xorps xmm0, xmm0
mov rbx, r8
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
test r8, r8
je 0x14000b2b1
nop
cmp dword [rbx], 0x3b9d3ee8
je 0x14000b2c0
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x14000b2a0
xor ebx, ebx
test r8, r8
je 0x14000b2d2
nop dword [rax + rax]
cmp dword [r8], 0x3ba0251a
je 0x14000b2d5
mov r8, qword [r8 + 8]
test r8, r8
jne 0x14000b2c0
xor r8d, r8d
mov r10d, dword [r13 + 0x10]
xor esi, esi
mov r14, qword [rbp + 0x48]
mov eax, r10d
shr eax, 1
and al, 1
mov dword [rbp - 0x38], esi
mov dword [rbp - 0x34], eax
cmp dword [r13 + 0x14], ecx
jbe 0x14000b65a
mov r9, qword [r13 + 0x18]
lea r10, [0x140000000]
mov r13d, dword [rbp - 0x54]
jmp 0x14000b30b
mov r9, qword [r14 + 0x18]
test rbx, rbx
je 0x14000b325
cmp esi, dword [rbx + 0x10]
jae 0x14000b325
mov rax, qword [rbx + 0x18]
mov ecx, esi
test byte [rax + rsi*4], 1
je 0x14000b325
mov dl, 1
jmp 0x14000b329
xor dl, dl
mov ecx, esi
lea rax, [rcx + rcx*2]
lea r9, [r9 + rax*8]
movsxd rax, dword [r9 + 4]
mov qword [rbp - 8], r9
cmp eax, 0x3b9ce510
jg 0x14000b480
je 0x14000b449
cmp eax, 0xa
ja case.0x14000b518.1
mov ecx, dword [r10 + rax*4 + 0xb7b4]
add rcx, r10
jmp rcx
test dl, dl
je 0x14000b371
cmp dword [rdi + 0x5a4], 0
je case.0x14000b518.1
lea rax, [rbp - 0x58]
jmp 0x14000b62a
test dl, dl
je 0x14000b38b
cmp dword [rdi + 0x598], 0
je case.0x14000b518.1
lea rax, [rbp - 0x54]
jmp 0x14000b62a
test dl, dl
je 0x14000b3a5
cmp dword [rdi + 0x59c], 0
je case.0x14000b518.1
lea rax, [rbp - 0x60]
jmp 0x14000b62a
test dl, dl
je 0x14000b3a5
cmp dword [rdi + 0x5a8], 0
je case.0x14000b518.1
lea rax, [rbp - 0x60]
jmp 0x14000b62a
test dl, dl
je 0x14000b3d9
cmp dword [rdi + 0x5ac], 0
je case.0x14000b518.1
lea rax, [rbp - 0x5c]
jmp 0x14000b62a
test dl, dl
je 0x14000b3d9
cmp dword [rdi + 0x5a0], 0
je case.0x14000b518.1
lea rax, [rbp - 0x5c]
jmp 0x14000b62a
test dl, dl
je 0x14000b40d
cmp dword [rdi + 0x59c], 0
je case.0x14000b518.1
lea rax, [rbp - 0x4c]
jmp 0x14000b62a
test dl, dl
jne case.0x14000b518.1
lea rax, [rbp - 0x50]
jmp 0x14000b62a
test dl, dl
jne case.0x14000b518.1
lea rax, [rbp - 0x48]
jmp 0x14000b62a
test dl, dl
jne case.0x14000b518.1
lea rax, [rbp - 0x44]
jmp 0x14000b62a
cmp dword [rdi + 0x7c0], 0
je case.0x14000b518.1
mov ecx, dword [r9 + 8]
cmp ecx, dword [rdi + 0xd78]
ja case.0x14000b518.1
test dl, dl
je 0x14000b634
cmp dword [rdi + 0x7c4], 0
je case.0x14000b518.1
jmp 0x14000b634
cmp eax, 0x3b9d13f0
je 0x14000b608
cmp eax, 0x3ba02518
jne case.0x14000b518.1
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
cmp dword [rdi + 0xb28], eax
je case.0x14000b518.1
test r8, r8
je case.0x14000b518.1
cmp esi, dword [r8 + 0x10]
jae case.0x14000b518.1
mov r14d, dword [rbp - 0x24]
xor r10d, r10d
mov r15d, dword [rbp - 0x28]
mov r11d, dword [rbp - 0x2c]
mov r9d, dword [rbp - 0x30]
shl rcx, 4
add rcx, qword [r8 + 0x18]
mov r12d, dword [rcx]
test r12d, r12d
je 0x14000b5cc
mov rsi, qword [rcx + 8]
nop dword [rax]
movsxd rcx, dword [rsi + r10*4]
cmp ecx, 7
ja case.0x14000b518.1
mov rax, rcx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0xb7e0]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
test dl, dl
je 0x14000b52b
cmp dword [rdi + 0x5a4], 0
je case.0x14000b518.1
mov r15d, 1
jmp 0x14000b5bd
test dl, dl
je 0x14000b547
cmp dword [rdi + 0x598], 0
je case.0x14000b518.1
mov r14d, 1
jmp 0x14000b5bd
test dl, dl
je 0x14000b560
cmp dword [rdi + 0x59c], 0
je case.0x14000b518.1
mov r9d, 1
jmp 0x14000b5bd
test dl, dl
je 0x14000b560
cmp dword [rdi + 0x5a8], 0
je case.0x14000b518.1
mov r9d, 1
jmp 0x14000b5bd
test dl, dl
je 0x14000b592
cmp dword [rdi + 0x5a0], 0
je case.0x14000b518.1
mov r11d, 1
jmp 0x14000b5bd
test dl, dl
je 0x14000b592
cmp dword [rdi + 0x5ac], 0
je case.0x14000b518.1
mov r11d, 1
jmp 0x14000b5bd
mov r9d, 1
mov byte [rbp + 0x50], r9b
inc r10d
cmp r10d, r12d
jb 0x14000b4f0
mov esi, dword [rbp - 0x38]
mov rax, qword [rbp - 8]
lea r10, [0x140000000]
mov ecx, dword [rax + 8]
mov eax, ecx
imul eax, r9d
add dword [rbp - 0x60], eax
mov eax, ecx
imul eax, r11d
add dword [rbp - 0x5c], eax
mov eax, ecx
imul eax, r14d
mov r14, qword [rbp + 0x48]
add r13d, eax
mov eax, ecx
imul eax, r15d
mov dword [rbp - 0x54], r13d
add dword [rbp - 0x58], eax
jmp 0x14000b634
test dl, dl
je 0x14000b619
cmp dword [rdi + 0x6e0], 0
je case.0x14000b518.1
cmp dword [rdi + 0x6d0], 0
je case.0x14000b518.1
lea rax, [rbp - 0x40]
mov ecx, dword [r9 + 8]
add dword [rax], ecx
mov r13d, dword [rbp - 0x54]
mov r9d, dword [rbp + 0x58]
inc esi
add r9d, ecx
mov dword [rbp - 0x38], esi
mov dword [rbp + 0x58], r9d
cmp esi, dword [r14 + 0x14]
jb 0x14000b307
mov ecx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x34]
mov r10d, dword [r14 + 0x10]
jmp 0x14000b65e
mov r13d, dword [rbp - 0x54]
test al, al
je 0x14000b6e7
mov eax, dword [rdi + 0xcb4]
cmp dword [rbp - 0x48], eax
ja case.0x14000b518.1
mov eax, dword [rdi + 0xcbc]
cmp dword [rbp - 0x44], eax
ja case.0x14000b518.1
cmp r13d, dword [rdi + 0xcb0]
ja case.0x14000b518.1
mov eax, dword [rdi + 0xcb8]
cmp dword [rbp - 0x58], eax
ja case.0x14000b518.1
mov edx, dword [rbp - 0x60]
cmp edx, dword [rdi + 0xcc0]
ja case.0x14000b518.1
cmp dword [rbp - 0x5c], eax
ja case.0x14000b518.1
mov eax, dword [rdi + 0xcac]
cmp dword [rbp - 0x4c], eax
ja case.0x14000b518.1
mov eax, dword [rdi + 0xcc8]
cmp dword [rbp - 0x50], eax
ja case.0x14000b518.1
cmp ecx, dword [rdi + 0xea4]
jbe 0x14000b769
jmp case.0x14000b518.1
mov eax, dword [rdi + 0x1f0]
cmp dword [rbp - 0x48], eax
ja case.0x14000b518.1
mov eax, dword [rdi + 0x1f8]
cmp dword [rbp - 0x44], eax
ja case.0x14000b518.1
cmp r13d, dword [rdi + 0x1ec]
ja case.0x14000b518.1
mov edx, dword [rbp - 0x58]
cmp edx, dword [rdi + 0x1f4]
ja case.0x14000b518.1
mov edx, dword [rbp - 0x60]
cmp edx, dword [rdi + 0x1fc]
ja case.0x14000b518.1
mov edx, dword [rbp - 0x5c]
cmp edx, dword [rdi + 0x200]
ja case.0x14000b518.1
mov eax, dword [rdi + 0x1e8]
cmp dword [rbp - 0x4c], eax
ja case.0x14000b518.1
mov eax, dword [rdi + 0x204]
cmp dword [rbp - 0x50], eax
ja case.0x14000b518.1
cmp ecx, dword [rdi + 0xea0]
ja case.0x14000b518.1
test r10b, 1
je 0x14000b77c
cmp r9d, dword [rdi + 0xec0]
ja case.0x14000b518.1
cmp byte [rbp + 0x50], 0
je 0x14000b79c
mov rcx, qword [rdi + 0x40]
test rcx, rcx
je 0x14000b79c
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 0x10]
test al, al
je case.0x14000b518.1
mov rdx, qword [r14 + 8]
mov rcx, rdi
call fcn.140010480
jmp 0x14000b047
call fcn.14011d39c
int3