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

Disassembly:
mov rcx, qword [rcx]
jmp 0x140012210
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
cmp dword [rdx + 0x10], 0
mov r14, rdx
movaps xmmword [rsp + 0x30], xmm6
mov rsi, rcx
movaps xmmword [rsp + 0x20], xmm7
jne 0x1400122da
cmp byte [rcx + 0xfd1], 0
jne 0x140012869
mov ecx, 0x20
call fcn.140116b34
movups xmm0, xmmword [str.VK_KHR_create_renderpass2]
mov rdi, rax
movabs rdx, 0xcbf29ce484222325
movabs r8, 0x100000001b3
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14014de48]
movsd qword [rax + 0x10], xmm1
movzx ecx, byte [0x14014de50]
mov byte [rax + 0x18], cl
xor ecx, ecx
mov byte [rax + 0x19], 0
nop dword [rax + rax]
movzx eax, byte [rcx + rdi]
inc rcx
xor rdx, rax
imul rdx, r8
cmp rcx, 0x19
jb 0x1400122a0
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]
jne 0x1400122fe
mov edx, 0x20
mov rcx, rdi
call fcn.140116b70
xor al, al
mov rbx, qword [rsp + 0x80]
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 rbp, qword [rax + rbp*8]
nop dword [rax]
nop word [rax + rax]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x140012322
mov rdx, qword [rdx]
cmp rax, 0x19
jne 0x140012337
mov r8, rax
mov rcx, rdi
call fcn.140118a40
test eax, eax
je 0x140012342
cmp rbx, rbp
je 0x1400122cd
mov rbx, qword [rbx + 8]
jmp 0x140012310
mov edx, 0x20
mov rcx, rdi
call fcn.140116b70
test rbx, rbx
je 0x1400122da
mov rdx, qword [r14 + 8]
mov rcx, rsi
call fcn.1400102e0
test al, al
je 0x1400122da
xor edi, edi
cmp dword [r14 + 0x14], edi
jbe 0x140012658
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [r14 + 0x20]
xor ebx, ebx
movd xmm7, edi
pshufd xmm7, xmm7, 0
test ecx, ecx
je 0x1400125e7
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x90], rcx
lea r13, [rax + 8]
lea r14, [rax + 0x38]
nop dword [rax + rax]
mov eax, dword [r14 - 0x10]
test eax, eax
je 0x1400123f8
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 0x1400123ea
cmp dword [rdx], edi
jne 0x1400123ea
bts ebx, 7
add rcx, 0x20
add rdx, 0x20
sub r8, 1
jne 0x1400123d0
mov r10d, dword [r14 - 0x1c]
xor r11d, r11d
test r10d, r10d
je 0x140012559
cmp r10d, 8
jb 0x14001252b
mov r15, qword [r14 - 0x18]
mov r12d, r10d
movdqa xmm6, xmmword [0x14014dee0]
and r12d, 0xfffffff8
xorps xmm4, xmm4
xorps xmm5, xmm5
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, xmm4
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, xmm4
movdqa xmm4, xmm0
por xmm4, xmm3
movd xmm3, dword [rcx + r15 + 0x10]
movd xmm0, dword [rdx + r15 + 0x10]
punpckldq xmm3, xmm0
movdqa xmm0, xmm6
punpcklqdq xmm3, xmm2
por xmm0, xmm5
pcmpeqd xmm3, xmm7
pand xmm0, xmm3
pandn xmm3, xmm5
movdqa xmm5, xmm0
por xmm5, xmm3
cmp r11d, r12d
jb 0x140012430
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 0x140012559
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 0x140012540
mov rax, qword [r13 + 0x38]
test rax, rax
je 0x14001256b
cmp dword [rax + 0x10], edi
jne 0x14001256b
bts ebx, 9
mov rcx, qword [r13]
mov rax, rcx
test rcx, rcx
je 0x14001259e
cmp dword [rcx], 0x3b9dd359
je 0x14001258a
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x140012577
jmp 0x1400125a3
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x14001259e
cmp dword [rdx + 0x10], edi
jne 0x14001259e
bts ebx, 9
jmp 0x1400125a3
test rax, rax
je 0x1400125c8
cmp dword [rax], 0x3b9e3cd0
je 0x1400125b6
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400125a3
jmp 0x1400125c8
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400125c8
cmp dword [rcx + 0x10], edi
jne 0x1400125c8
bts ebx, 0x1e
add r14, 0x58
add r13, 0x58
sub qword [rsp + 0x90], 1
jne 0x1400123b0
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.1400102e0
test al, al
je 0x1400122da
mov edx, dword [rbp + 0x2c]
mov rcx, rsi
call fcn.14000df90
test al, al
je 0x1400122da
mov edx, dword [rbp + 0x30]
mov rcx, rsi
call fcn.14000df90
test al, al
je 0x1400122da
test ebx, ebx
je 0x14001264c
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x14001264c
mov rax, qword [rcx]
mov r8d, ebx
mov edx, dword [rbp + 0x14]
call qword [rax + 8]
test al, al
je 0x1400122da
inc edi
cmp edi, dword [r14 + 0x14]
jb 0x140012380
xor r15d, r15d
cmp dword [r14 + 0x20], r15d
jbe 0x1400127c1
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.1400102e0
test al, al
je 0x1400122da
xor ebp, ebp
cmp dword [rbx + 0x28], ebp
jbe 0x140012716
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.1400102e0
test al, al
je 0x1400122da
mov edx, dword [r14 + rdi + 0x14]
mov rcx, rsi
call fcn.14000df90
test al, al
je 0x1400122da
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x140012707
add rdi, rax
mov rcx, rsi
mov rdx, qword [rdi + 8]
call fcn.1400102e0
test al, al
je 0x1400122da
mov edx, dword [rdi + 0x14]
mov rcx, rsi
call fcn.14000df90
test al, al
je 0x1400122da
inc ebp
cmp ebp, dword [rbx + 0x28]
jb 0x1400126a0
mov r14, qword [rsp + 0x88]
xor ebp, ebp
cmp dword [rbx + 0x1c], ebp
jbe 0x140012758
nop dword [rax]
mov edi, ebp
mov rcx, rsi
shl rdi, 5
add rdi, qword [rbx + 0x20]
mov rdx, qword [rdi + 8]
call fcn.1400102e0
test al, al
je 0x1400122da
mov edx, dword [rdi + 0x14]
mov rcx, rsi
call fcn.14000df90
test al, al
je 0x1400122da
inc ebp
cmp ebp, dword [rbx + 0x1c]
jb 0x140012720
mov rdi, qword [rbx + 0x40]
test rdi, rdi
je 0x140012788
mov rdx, qword [rdi + 8]
mov rcx, rsi
call fcn.1400102e0
test al, al
je 0x1400122da
mov edx, dword [rdi + 0x14]
mov rcx, rsi
call fcn.14000df90
test al, al
je 0x1400122da
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400127b4
mov ecx, dword [rsi + 0xe38]
xor edx, edx
mov eax, 1
shl eax, cl
cmp ecx, 0x20
cmovb edx, eax
dec edx
and edx, r8d
cmp edx, r8d
jne 0x1400122da
inc r15d
cmp r15d, dword [r14 + 0x20]
jb 0x140012670
xor ebx, ebx
cmp dword [r14 + 0x30], ebx
jbe 0x140012828
nop dword [rax]
lea rdx, [rbx + rbx*2]
shl rdx, 4
add rdx, qword [r14 + 0x38]
mov eax, dword [rdx + 0x28]
test eax, 0xfffffff4
jne 0x1400122da
test al, 8
je 0x1400127fb
cmp dword [rsi + 0xc40], 0
je 0x1400122da
test al, 2
je 0x14001280c
cmp dword [rsi + 0x4b8], 0
je 0x1400122da
mov rdx, qword [rdx + 8]
mov rcx, rsi
call fcn.1400102e0
test al, al
je 0x1400122da
inc ebx
cmp ebx, dword [r14 + 0x30]
jb 0x1400127d0
mov r9d, dword [r14 + 0x40]
xor edx, edx
test r9d, r9d
je 0x140012869
mov r10, qword [r14 + 0x48]
mov ecx, dword [rsi + 0xe38]
nop dword [rax]
mov r8d, dword [r10 + rdx*4]
cmp ecx, 0x20
jb 0x14001284d
xor eax, eax
jmp 0x140012854
mov eax, 1
shl eax, cl
dec eax
and eax, r8d
cmp eax, r8d
jne 0x1400122da
inc edx
cmp edx, r9d
jb 0x140012840
mov al, 1
jmp 0x1400122dc