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

Disassembly:
mov rcx, qword [rcx]
jmp 0x14000ad90
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.0x14000b378.1
cmp byte [rcx + 0xfd1], r12b
je 0x14000adde
mov al, 1
jmp 0x14000aea7
movabs rbx, 0x100000001b3
movabs r14, 0xcbf29ce484222325
test al, 1
je 0x14000aedb
mov ecx, 0x20
call fcn.140116b34
movups xmm0, xmmword [str.VK_KHR_push_descriptor]
mov rsi, rax
mov rdx, r14
movups xmmword [rax], xmm0
mov ecx, dword [0x14014d738]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x14014d73c]
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 0x14000ae30
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 0x14000aec2
mov r15, qword [rax + r15*8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x14000ae73
mov rdx, qword [rdx]
cmp rax, 0x16
jne 0x14000ae88
mov r8, rax
mov rcx, rsi
call fcn.140118a40
test eax, eax
je 0x14000ae93
cmp rbx, r15
je 0x14000aec2
mov rbx, qword [rbx + 8]
jmp 0x14000ae61
mov edx, 0x20
mov rcx, rsi
call fcn.140116b70
test rbx, rbx
jne 0x14000aed1
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.140116b70
jmp case.0x14000b378.1
movabs rbx, 0x100000001b3
test byte [r13 + 0x10], 2
je 0x14000afac
mov ecx, 0x20
call fcn.140116b34
movups xmm0, xmmword [str.VK_EXT_descriptor_indexing]
mov rsi, rax
mov rdx, r14
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14014d0b8]
movsd qword [rax + 0x10], xmm1
movzx ecx, word [0x14014d0c0]
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 0x14000af20
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 0x14000aec2
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 0x14000af72
mov rdx, qword [rdx]
cmp rax, 0x1a
jne 0x14000af87
mov r8, rax
mov rcx, rsi
call fcn.140118a40
test eax, eax
je 0x14000af96
cmp rbx, r15
je 0x14000aec2
mov rbx, qword [rbx + 8]
jmp 0x14000af60
mov edx, 0x20
mov rcx, rsi
call fcn.140116b70
test rbx, rbx
je case.0x14000b378.1
mov eax, dword [r13 + 0x10]
test al, 0x30
je 0x14000b0db
cmp dword [rdi + 0xc08], r12d
je case.0x14000b378.1
test al, 1
je 0x14000b0db
cmp dword [rdi + 0xc14], r12d
je 0x14000b08c
mov ecx, 0x20
call fcn.140116b34
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 [0x14014d738]
mov dword [rsi + 0x10], eax
movzx eax, word [0x14014d73c]
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 0x14000b020
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 0x14000b094
mov r14, qword [rax + rcx*8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x14000b063
mov rdx, qword [rdx]
cmp rax, 0x16
jne 0x14000b078
mov r8, rax
mov rcx, rsi
call fcn.140118a40
test eax, eax
je 0x14000b083
cmp rbx, r14
je 0x14000b094
mov rbx, qword [rbx + 8]
jmp 0x14000b051
test rbx, rbx
je 0x14000b094
xor bl, bl
jmp 0x14000b096
mov r15, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x60]
mov bl, 1
test r12b, 1
je 0x14000b0d3
cmp r15, 0x10
jb 0x14000b0d3
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14000b0cb
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000b60d
mov rcx, rsi
call fcn.140116b70
test bl, bl
jne case.0x14000b378.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 0x14000b111
nop
cmp dword [rbx], 0x3b9d3ee8
je 0x14000b120
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x14000b100
xor ebx, ebx
test r8, r8
je 0x14000b132
nop dword [rax + rax]
cmp dword [r8], 0x3ba0251a
je 0x14000b135
mov r8, qword [r8 + 8]
test r8, r8
jne 0x14000b120
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 0x14000b4ba
mov r9, qword [r13 + 0x18]
lea r10, [0x140000000]
mov r13d, dword [rbp - 0x54]
jmp 0x14000b16b
mov r9, qword [r14 + 0x18]
test rbx, rbx
je 0x14000b185
cmp esi, dword [rbx + 0x10]
jae 0x14000b185
mov rax, qword [rbx + 0x18]
mov ecx, esi
test byte [rax + rsi*4], 1
je 0x14000b185
mov dl, 1
jmp 0x14000b189
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 0x14000b2e0
je 0x14000b2a9
cmp eax, 0xa
ja case.0x14000b378.1
mov ecx, dword [r10 + rax*4 + 0xb614]
add rcx, r10
jmp rcx
test dl, dl
je 0x14000b1d1
cmp dword [rdi + 0x5a4], 0
je case.0x14000b378.1
lea rax, [rbp - 0x58]
jmp 0x14000b48a
test dl, dl
je 0x14000b1eb
cmp dword [rdi + 0x598], 0
je case.0x14000b378.1
lea rax, [rbp - 0x54]
jmp 0x14000b48a
test dl, dl
je 0x14000b205
cmp dword [rdi + 0x59c], 0
je case.0x14000b378.1
lea rax, [rbp - 0x60]
jmp 0x14000b48a
test dl, dl
je 0x14000b205
cmp dword [rdi + 0x5a8], 0
je case.0x14000b378.1
lea rax, [rbp - 0x60]
jmp 0x14000b48a
test dl, dl
je 0x14000b239
cmp dword [rdi + 0x5ac], 0
je case.0x14000b378.1
lea rax, [rbp - 0x5c]
jmp 0x14000b48a
test dl, dl
je 0x14000b239
cmp dword [rdi + 0x5a0], 0
je case.0x14000b378.1
lea rax, [rbp - 0x5c]
jmp 0x14000b48a
test dl, dl
je 0x14000b26d
cmp dword [rdi + 0x59c], 0
je case.0x14000b378.1
lea rax, [rbp - 0x4c]
jmp 0x14000b48a
test dl, dl
jne case.0x14000b378.1
lea rax, [rbp - 0x50]
jmp 0x14000b48a
test dl, dl
jne case.0x14000b378.1
lea rax, [rbp - 0x48]
jmp 0x14000b48a
test dl, dl
jne case.0x14000b378.1
lea rax, [rbp - 0x44]
jmp 0x14000b48a
cmp dword [rdi + 0x7c0], 0
je case.0x14000b378.1
mov ecx, dword [r9 + 8]
cmp ecx, dword [rdi + 0xd78]
ja case.0x14000b378.1
test dl, dl
je 0x14000b494
cmp dword [rdi + 0x7c4], 0
je case.0x14000b378.1
jmp 0x14000b494
cmp eax, 0x3b9d13f0
je 0x14000b468
cmp eax, 0x3ba02518
jne case.0x14000b378.1
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
cmp dword [rdi + 0xb28], eax
je case.0x14000b378.1
test r8, r8
je case.0x14000b378.1
cmp esi, dword [r8 + 0x10]
jae case.0x14000b378.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 0x14000b42c
mov rsi, qword [rcx + 8]
nop dword [rax]
movsxd rcx, dword [rsi + r10*4]
cmp ecx, 7
ja case.0x14000b378.1
mov rax, rcx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0xb640]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
test dl, dl
je 0x14000b38b
cmp dword [rdi + 0x5a4], 0
je case.0x14000b378.1
mov r15d, 1
jmp 0x14000b41d
test dl, dl
je 0x14000b3a7
cmp dword [rdi + 0x598], 0
je case.0x14000b378.1
mov r14d, 1
jmp 0x14000b41d
test dl, dl
je 0x14000b3c0
cmp dword [rdi + 0x59c], 0
je case.0x14000b378.1
mov r9d, 1
jmp 0x14000b41d
test dl, dl
je 0x14000b3c0
cmp dword [rdi + 0x5a8], 0
je case.0x14000b378.1
mov r9d, 1
jmp 0x14000b41d
test dl, dl
je 0x14000b3f2
cmp dword [rdi + 0x5a0], 0
je case.0x14000b378.1
mov r11d, 1
jmp 0x14000b41d
test dl, dl
je 0x14000b3f2
cmp dword [rdi + 0x5ac], 0
je case.0x14000b378.1
mov r11d, 1
jmp 0x14000b41d
mov r9d, 1
mov byte [rbp + 0x50], r9b
inc r10d
cmp r10d, r12d
jb 0x14000b350
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 0x14000b494
test dl, dl
je 0x14000b479
cmp dword [rdi + 0x6e0], 0
je case.0x14000b378.1
cmp dword [rdi + 0x6d0], 0
je case.0x14000b378.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 0x14000b167
mov ecx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x34]
mov r10d, dword [r14 + 0x10]
jmp 0x14000b4be
mov r13d, dword [rbp - 0x54]
test al, al
je 0x14000b547
mov eax, dword [rdi + 0xcb4]
cmp dword [rbp - 0x48], eax
ja case.0x14000b378.1
mov eax, dword [rdi + 0xcbc]
cmp dword [rbp - 0x44], eax
ja case.0x14000b378.1
cmp r13d, dword [rdi + 0xcb0]
ja case.0x14000b378.1
mov eax, dword [rdi + 0xcb8]
cmp dword [rbp - 0x58], eax
ja case.0x14000b378.1
mov edx, dword [rbp - 0x60]
cmp edx, dword [rdi + 0xcc0]
ja case.0x14000b378.1
cmp dword [rbp - 0x5c], eax
ja case.0x14000b378.1
mov eax, dword [rdi + 0xcac]
cmp dword [rbp - 0x4c], eax
ja case.0x14000b378.1
mov eax, dword [rdi + 0xcc8]
cmp dword [rbp - 0x50], eax
ja case.0x14000b378.1
cmp ecx, dword [rdi + 0xea4]
jbe 0x14000b5c9
jmp case.0x14000b378.1
mov eax, dword [rdi + 0x1f0]
cmp dword [rbp - 0x48], eax
ja case.0x14000b378.1
mov eax, dword [rdi + 0x1f8]
cmp dword [rbp - 0x44], eax
ja case.0x14000b378.1
cmp r13d, dword [rdi + 0x1ec]
ja case.0x14000b378.1
mov edx, dword [rbp - 0x58]
cmp edx, dword [rdi + 0x1f4]
ja case.0x14000b378.1
mov edx, dword [rbp - 0x60]
cmp edx, dword [rdi + 0x1fc]
ja case.0x14000b378.1
mov edx, dword [rbp - 0x5c]
cmp edx, dword [rdi + 0x200]
ja case.0x14000b378.1
mov eax, dword [rdi + 0x1e8]
cmp dword [rbp - 0x4c], eax
ja case.0x14000b378.1
mov eax, dword [rdi + 0x204]
cmp dword [rbp - 0x50], eax
ja case.0x14000b378.1
cmp ecx, dword [rdi + 0xea0]
ja case.0x14000b378.1
test r10b, 1
je 0x14000b5dc
cmp r9d, dword [rdi + 0xec0]
ja case.0x14000b378.1
cmp byte [rbp + 0x50], 0
je 0x14000b5fc
mov rcx, qword [rdi + 0x40]
test rcx, rcx
je 0x14000b5fc
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 0x10]
test al, al
je case.0x14000b378.1
mov rdx, qword [r14 + 8]
mov rcx, rdi
call fcn.1400102e0
jmp 0x14000aea7
call fcn.14011d1bc
int3