Function at 0x14001e7b0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xb8
mov rdi, r9
mov r15, r8
mov r13, rcx
mov eax, dword [r9]
test rax, rax
jne 0x14001e7f0
xor ecx, ecx
mov qword [rbp - 0x59], rcx
jmp 0x14001e822
lea rbx, [rax + rax*2]
shl rbx, 4
mov r8d, 0x10
mov rdx, rbx
call fcn.140010970
mov rcx, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x14001e820
mov r8, rbx
xor edx, edx
call fcn.1400eee20
mov rcx, qword [rbp - 0x59]
mov eax, dword [rdi]
movabs rbx, 0xffffffffffff
mov rsi, qword [rdi + 8]
and rsi, rbx
shl rax, 4
add rax, rsi
cmp rsi, rax
je 0x14001f02c
lea r12, [rcx + 0x14]
lea rcx, str.flags
movabs r14, 0xffff000000000000
mov edi, 0x405
mov dword [r12 - 0x14], 0x12
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov word [rbp - 0x63], di
mov rax, qword [rbp - 0x69]
and rax, r14
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 5
lea r8, [rbp - 0x71]
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.14000af80
mov eax, dword [rsi]
shl rax, 5
mov rcx, qword [rsi + 8]
and rcx, rbx
add rax, rcx
mov rcx, qword [rbp - 0x39]
cmp rcx, rax
je 0x14001e8b5
add rcx, 0x10
jmp 0x14001e8c6
xorps xmm0, xmm0
movups xmmword [0x1401bc408], xmm0
lea rcx, [0x1401bc408]
mov eax, dword [rcx]
mov dword [r12 - 4], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov word [rbp - 0x63], di
mov rax, qword [rbp - 0x69]
and rax, r14
lea rcx, str.stage
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 5
lea r8, [rbp - 0x71]
lea rdx, [rbp - 0x31]
mov rcx, rsi
call fcn.14000af80
mov eax, dword [rsi]
shl rax, 5
mov rcx, qword [rsi + 8]
and rcx, rbx
add rax, rcx
mov rcx, qword [rbp - 0x31]
cmp rcx, rax
je 0x14001e923
add rcx, 0x10
jmp 0x14001e934
xorps xmm0, xmm0
movups xmmword [0x1401bc408], xmm0
lea rcx, [0x1401bc408]
mov eax, dword [rcx]
mov dword [r12], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov word [rbp - 0x63], di
mov rax, qword [rbp - 0x69]
and rax, r14
lea rcx, str.name
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 4
lea r8, [rbp - 0x71]
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.14000af80
mov edi, dword [rsi]
mov rbx, qword [rsi + 8]
mov eax, edi
shl rax, 5
mov rcx, rbx
movabs r14, 0xffffffffffff
and rcx, r14
add rax, rcx
mov rcx, qword [rbp - 0x29]
cmp rcx, rax
je 0x14001e99f
add rcx, 0x10
jmp 0x14001e9b6
xorps xmm0, xmm0
movups xmmword [0x1401bc408], xmm0
lea rcx, [0x1401bc408]
mov edi, dword [rsi]
mov rbx, qword [rsi + 8]
mov eax, 0x1000
test word [rcx + 0xe], ax
je 0x14001e9ce
movsx eax, byte [rcx + 0xd]
mov ecx, 0xd
sub ecx, eax
jmp 0x14001e9d0
mov ecx, dword [rcx]
mov r14d, ecx
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov eax, 0x405
mov word [rbp - 0x63], ax
mov rax, qword [rbp - 0x69]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.name
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 4
lea r8, [rbp - 0x71]
lea rdx, [rbp - 0x21]
mov rcx, rsi
call fcn.14000af80
mov ecx, edi
shl rcx, 5
movabs rdx, 0xffffffffffff
and rbx, rdx
add rcx, rbx
mov rax, qword [rbp - 0x21]
cmp rax, rcx
je 0x14001ea3e
lea rdi, [rax + 0x10]
jmp 0x14001ea4f
xorps xmm0, xmm0
movups xmmword [0x1401bc408], xmm0
lea rdi, [0x1401bc408]
mov eax, 0x1000
test word [rdi + 0xe], ax
jne 0x14001ea61
mov rdi, qword [rdi + 8]
and rdi, rdx
lea rdx, [r14 + 1]
mov r8d, 0x10
mov rcx, r13
call fcn.140010970
mov rbx, rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
call fcn.1400ee610
mov byte [r14 + rbx], 0
mov qword [r12 + 0xc], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov edi, 0x405
mov word [rbp - 0x63], di
mov rax, qword [rbp - 0x69]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.specializationInfo
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 0x12
lea r8, [rbp - 0x71]
lea rdx, [rbp - 0x19]
mov rcx, rsi
call fcn.14000af80
mov ebx, dword [rsi]
shl rbx, 5
mov rax, qword [rsi + 8]
movabs r14, 0xffffffffffff
and rax, r14
add rbx, rax
cmp qword [rbp - 0x19], rbx
je 0x14001eb6a
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov word [rbp - 0x63], di
mov rax, qword [rbp - 0x69]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.specializationInfo
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 0x12
lea r8, [rbp - 0x71]
lea rdx, [rbp - 0x11]
mov rcx, rsi
call fcn.14000af80
mov rax, qword [rbp - 0x11]
cmp rax, rbx
je 0x14001eb44
lea rdx, [rax + 0x10]
jmp 0x14001eb55
xorps xmm0, xmm0
movups xmmword [0x1401bc408], xmm0
lea rdx, [0x1401bc408]
lea r8, [r12 + 0x14]
mov rcx, r13
call fcn.14001e4e0
test al, al
je 0x14001f091
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov word [rbp - 0x63], di
mov rax, qword [rbp - 0x69]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.pNext
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 5
lea r8, [rbp - 0x71]
lea rdx, [rbp - 9]
mov rcx, rsi
call fcn.14000af80
mov ebx, dword [rsi]
shl rbx, 5
mov rax, qword [rsi + 8]
and rax, r14
add rbx, rax
cmp qword [rbp - 9], rbx
je 0x14001ec37
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov word [rbp - 0x63], di
mov rax, qword [rbp - 0x69]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.pNext
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 5
lea r8, [rbp - 0x71]
lea rdx, [rbp - 1]
mov rcx, rsi
call fcn.14000af80
mov rax, qword [rbp - 1]
cmp rax, rbx
je 0x14001ec11
lea rdx, [rax + 0x10]
jmp 0x14001ec22
xorps xmm0, xmm0
movups xmmword [0x1401bc408], xmm0
lea rdx, [0x1401bc408]
lea r8, [r12 - 0xc]
mov rcx, r13
call fcn.1400191b0
test al, al
je 0x14001f091
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
mov word [rbp - 0x63], di
mov rax, qword [rbp - 0x69]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.module
or rax, rcx
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x71], 6
lea r8, [rbp - 0x71]
lea rdx, [rbp + 7]
mov rcx, rsi
call fcn.14000af80
mov eax, dword [rsi]
shl rax, 5
mov rcx, qword [rsi + 8]
mov rbx, r14
and rcx, rbx
add rax, rcx
mov rcx, qword [rbp + 7]
cmp rcx, rax
je 0x14001ec9a
add rcx, 0x10
jmp 0x14001ecab
xorps xmm0, xmm0
movups xmmword [0x1401bc408], xmm0
lea rcx, [0x1401bc408]
mov edi, 0x1000
test word [rcx + 0xe], di
jne 0x14001ecbd
mov rcx, qword [rcx + 8]
and rcx, rbx
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400f6b50
mov r14, rax
mov qword [rbp + 0x5f], rax
test rax, rax
je 0x14001f002
cmp byte [r13 + 0x1c9], 0
je 0x14001f002
movzx ecx, r14b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
mov qword [rbp - 0x71], rcx
mov rax, r14
shr rax, 8
movzx edx, al
xor rdx, rcx
imul rdx, r8
mov rax, r14
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r14
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r14
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r14
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r14
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r14
shr rax, 0x38
xor rdx, rax
imul rdx, r8
and rdx, qword [r13 + 0xf8]
add rdx, rdx
mov rax, qword [r13 + 0xe0]
mov rbx, qword [rax + rdx*8 + 8]
mov rcx, qword [r13 + 0xd0]
cmp rbx, rcx
je 0x14001edc1
mov rax, qword [rax + rdx*8]
cmp r14, qword [rbx + 0x10]
je 0x14001edc3
nop dword [rax]
cmp rbx, rax
je 0x14001edc1
mov rbx, qword [rbx + 8]
cmp r14, qword [rbx + 0x10]
jne 0x14001edb0
jmp 0x14001edc3
xor ebx, ebx
test rbx, rbx
cmove rbx, rcx
cmp rbx, rcx
jne 0x14001eff6
mov qword [rbp - 0x61], 0
test r15, r15
je 0x14001f095
mov rax, qword [r15]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rbp - 0x61]
mov r8, r14
mov edx, 4
mov rcx, r15
call qword [rax + 0x10]
test al, al
je 0x14001f095
mov rbx, qword [rbp - 0x61]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x51], xmm0
xor r15d, r15d
mov qword [rbp - 0x41], r15
test rbx, rbx
je 0x14001ee98
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x14001f0b4
cmp rbx, rdi
jb 0x14001ee6b
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x14001f0ae
call fcn.1400ec60c
test rax, rax
je 0x14001f0a8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14001ee76
mov rcx, rbx
call fcn.1400ec60c
mov rdi, rax
mov qword [rbp - 0x51], rdi
lea r15, [rdi + rbx]
mov qword [rbp - 0x41], r15
mov r8, rbx
xor edx, edx
mov rcx, rdi
call fcn.1400eee20
mov rbx, r15
mov qword [rbp - 0x49], rbx
jmp 0x14001eea0
mov rbx, qword [rbp - 0x49]
mov rdi, qword [rbp - 0x51]
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rcx]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x61]
mov r8, r14
mov edx, 4
call qword [rax + 0x10]
test al, al
je 0x14001f04d
sub rbx, rdi
mov qword [rsp + 0x20], rbx
mov r9, rdi
mov r8, qword [rbp + 0x6f]
mov rbx, qword [rbp + 0x67]
mov rdx, rbx
mov rcx, r13
call fcn.1400113a0
test al, al
je 0x14001f05d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x68]
movzx ecx, byte [rbp + 0x60]
xor rcx, qword [rbp - 0x71]
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp + 0x61]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x62]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x63]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x64]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x65]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x66]
xor rcx, rax
imul rcx, rdx
and rcx, qword [r13 + 0xf8]
add rcx, rcx
mov rax, qword [r13 + 0xe0]
mov rbx, qword [rax + rcx*8 + 8]
mov rdx, qword [r13 + 0xd0]
cmp rbx, rdx
je 0x14001f04d
mov rax, qword [rax + rcx*8]
cmp r14, qword [rbx + 0x10]
je 0x14001ef95
cmp rbx, rax
je 0x14001f04d
mov rbx, qword [rbx + 8]
cmp r14, qword [rbx + 0x10]
jne 0x14001ef82
test rbx, rbx
cmove rbx, rdx
cmp rbx, rdx
je 0x14001f04d
test rdi, rdi
je 0x14001efdd
sub r15, rdi
mov rax, rdi
cmp r15, 0x1000
jb 0x14001efd2
add r15, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f0a8
mov rdx, r15
mov rcx, rdi
call fcn.1400ec648
mov r15, qword [rbp + 0x6f]
mov rax, qword [rbx + 0x18]
mov qword [r12 + 4], rax
movabs rbx, 0xffffffffffff
jmp 0x14001f007
mov rcx, qword [rbp + 0x67]
mov rax, qword [rcx]
call qword [rax + 0x68]
jmp 0x14001efe1
mov qword [r12 + 4], r14
add rsi, 0x10
add r12, 0x30
mov rdi, qword [rbp + 0x77]
mov ecx, dword [rdi]
shl rcx, 4
mov rax, qword [rdi + 8]
and rax, rbx
add rcx, rax
cmp rsi, rcx
jne 0x14001e847
mov rax, qword [rbp + 0x7f]
mov rcx, qword [rbp - 0x59]
mov qword [rax], rcx
mov al, 1
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, r14
lea rcx, str.Shader_module
call fcn.140011250
nop
test rdi, rdi
je 0x14001f091
sub r15, rdi
mov rax, rdi
cmp r15, 0x1000
jb 0x14001f086
add r15, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f0a8
mov rdx, r15
mov rcx, rdi
call fcn.1400ec648
xor al, al
jmp 0x14001f039
mov rdx, r14
lea rcx, str.Shader_module
call fcn.140011250
xor al, al
jmp 0x14001f039
call fcn.1400f2c0c
int3
call fcn.140001b10
int3
call fcn.1400026c0
int3