Function at 0x14013bed0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa0
mov rax, qword [0x1402d4040]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r13, r9
mov rdi, rdx
mov qword [rbp - 0x21], rdx
mov ebx, 0xffffffff
mov eax, ebx
lea r9, [0x14028011c]
lea r8, str.BackendSettings_DX12
lea r14, [0x14028bec0]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013bf20
not eax
mov esi, dword [rbp + 0x7f]
mov ecx, esi
shl ecx, 6
mov edx, esi
shr edx, 2
add eax, ecx
add edx, 0x9e3779b9
add eax, edx
xor esi, eax
mov byte [rbp + 0xf], 0
test rdi, rdi
je 0x14013bfde
cmp byte [rdi], 0
je 0x14013bfde
mov rcx, rdi
call fcn.1400946b0
mov rcx, qword [0x1402dc618]
mov rax, qword [rcx + 0x4148]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4148]
movss xmm0, dword [rcx + 0x3a6c]
addss xmm0, dword [rax + 0x184]
movss dword [rax + 0x184], xmm0
addss xmm0, dword [rax + 0x58]
addss xmm0, dword [rax + 0x188]
movss dword [rax + 0x140], xmm0
mov rcx, rdi
call fcn.140022100
mov ecx, 0x400
call fcn.1400163c0
test al, al
je 0x14013bfde
lea rdx, str.DX12_Settings
lea rcx, [0x1402641f4]
call fcn.140026740
lea rdx, str.numSRVDescriptors
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.numSRVDescriptors
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c013
mov rax, qword [rax]
mov dword [rbp + 7], 0x64
xor r12d, r12d
mov dword [rsp + 0x30], r12d
lea r15, [0x14026476c]
mov qword [rsp + 0x28], r15
lea rcx, [rbp + 7]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, r13
lea edx, [r12 + 4]
mov rcx, rax
call fcn.14009e7b0
movzx edi, al
mov ecx, 0x400
call fcn.1400163c0
test al, al
je 0x14013c06e
lea rdx, str.The_number_of_descriptors_in_the_internal_SRV_heap
lea rcx, [0x1402641f4]
call fcn.140026740
or byte [rbp + 0xf], dil
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.numRTVDescriptors
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.numRTVDescriptors
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c0b0
mov rax, qword [rax]
mov dword [rbp + 7], 0x64
lea r8, [r13 + 4]
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r15
lea rcx, [rbp + 7]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea edx, [r9 + 4]
mov rcx, rax
call fcn.14009e7b0
movzx edi, al
mov ecx, 0x400
call fcn.1400163c0
test al, al
je 0x14013c101
lea rdx, str.The_number_of_descriptors_in_the_internal_RTV_heap
lea rcx, [0x1402641f4]
call fcn.140026740
or byte [rbp + 0xf], dil
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.numDSVDescriptors
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.numDSVDescriptors
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c143
mov rax, qword [rax]
mov dword [rbp + 7], 0x64
lea r8, [r13 + 8]
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r15
lea rcx, [rbp + 7]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea edx, [r9 + 4]
mov rcx, rax
call fcn.14009e7b0
movzx edi, al
mov ecx, 0x400
call fcn.1400163c0
test al, al
je 0x14013c194
lea rdx, str.The_number_of_descriptors_in_the_internal_DSV_heap
lea rcx, [0x1402641f4]
call fcn.140026740
or byte [rbp + 0xf], dil
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.shaderCompiler
lea rcx, [rbp - 0x41]
call fcn.1401137d0
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.shaderCompiler
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c1d5
mov rax, qword [rax]
lea r9, [r13 + 0xc]
mov rdx, rax
call fcn.14013bac0
or byte [rbp + 0xf], al
lea rcx, [rbp - 0x41]
call fcn.1400050e0
mov eax, ebx
lea r9, [0x14027d305]
lea r8, str.shaderModelCs
nop dword [rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c200
not eax
mov r12d, esi
shl r12d, 6
mov ecx, esi
shr ecx, 2
add r12d, ecx
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelCs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c253
mov rax, qword [rax]
lea r15, [r13 + 0x10]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r15
lea rcx, str.The_default_shader_model_to_use_for_compute_shaders
mov qword [rsp + 0x20], rcx
mov r9, rax
lea r8, [rbp + 0xf]
xor edx, edx
lea rcx, [0x1402dc670]
call fcn.14011aca0
mov r14d, eax
cmp byte [rbp + 0xf], 0
je 0x14013c2a0
cmp edi, 0x9bca5295
jne 0x14013c2a0
call fcn.140143df0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
cmp r14d, 1
lea r14, [0x14028bec0]
jne 0x14013c336
mov eax, ebx
lea r8, str.shaderModelCs
lea r9, [0x14027d305]
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c2d0
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelCs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c314
mov rax, qword [rax]
mov dword [rsp + 0x20], edi
mov r9, r15
lea r8, str.The_default_shader_model_to_use_for_compute_shaders
mov rdx, rax
call fcn.140116c00
or byte [rbp + 0xf], al
lea rcx, [rbp - 0x41]
call fcn.1400050e0
mov eax, ebx
lea r9, [0x14027d315]
lea r8, str.shaderModelVs
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c350
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelVs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c394
mov rax, qword [rax]
lea r15, [r13 + 0x30]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r15
lea rcx, str.The_default_shader_model_to_use_for_vertex_shaders
mov qword [rsp + 0x20], rcx
mov r9, rax
lea r8, [rbp + 0xf]
xor edx, edx
lea rcx, [0x1402dc670]
call fcn.14011aca0
mov r14d, eax
cmp byte [rbp + 0xf], 0
je 0x14013c3e1
cmp edi, 0x9bca5295
jne 0x14013c3e1
call fcn.140143df0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
cmp r14d, 1
lea r14, [0x14028bec0]
jne 0x14013c476
mov eax, ebx
lea r8, str.shaderModelVs
lea r9, [0x14027d315]
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c410
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelVs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c454
mov rax, qword [rax]
mov dword [rsp + 0x20], edi
mov r9, r15
lea r8, str.The_default_shader_model_to_use_for_vertex_shaders
mov rdx, rax
call fcn.140116c00
or byte [rbp + 0xf], al
lea rcx, [rbp - 0x41]
call fcn.1400050e0
mov eax, ebx
lea r9, [0x14027d325]
lea r8, str.shaderModelPs
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c490
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelPs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c4d4
mov rax, qword [rax]
lea r15, [r13 + 0x50]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r15
lea rcx, str.The_default_shader_model_to_use_for_pixel_shaders
mov qword [rsp + 0x20], rcx
mov r9, rax
lea r8, [rbp + 0xf]
xor edx, edx
lea rcx, [0x1402dc670]
call fcn.14011aca0
mov r14d, eax
cmp byte [rbp + 0xf], 0
je 0x14013c521
cmp edi, 0x9bca5295
jne 0x14013c521
call fcn.140143df0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
cmp r14d, 1
lea r14, [0x14028bec0]
jne 0x14013c5b6
mov eax, ebx
lea r8, str.shaderModelPs
lea r9, [0x14027d325]
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c550
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelPs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c594
mov rax, qword [rax]
mov dword [rsp + 0x20], edi
mov r9, r15
lea r8, str.The_default_shader_model_to_use_for_pixel_shaders
mov rdx, rax
call fcn.140116c00
or byte [rbp + 0xf], al
lea rcx, [rbp - 0x41]
call fcn.1400050e0
mov eax, ebx
lea r9, [0x14027d345]
lea r8, str.shaderModelRayShaders
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c5d0
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelRayShaders
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c614
mov rax, qword [rax]
lea r15, [r13 + 0x70]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r15
lea rcx, str.The_default_shader_model_to_use_for_ray_shaders
mov qword [rsp + 0x20], rcx
mov r9, rax
lea r8, [rbp + 0xf]
xor edx, edx
lea rcx, [0x1402dc670]
call fcn.14011aca0
mov r14d, eax
cmp byte [rbp + 0xf], 0
je 0x14013c661
cmp edi, 0x9bca5295
jne 0x14013c661
call fcn.140143df0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
cmp r14d, 1
lea r14, [0x14028bec0]
jne 0x14013c6f6
mov eax, ebx
lea r8, str.shaderModelRayShaders
lea r9, [0x14027d345]
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c690
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelRayShaders
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c6d4
mov rax, qword [rax]
mov dword [rsp + 0x20], edi
mov r9, r15
lea r8, str.The_default_shader_model_to_use_for_ray_shaders
mov rdx, rax
call fcn.140116c00
or byte [rbp + 0xf], al
lea rcx, [rbp - 0x41]
call fcn.1400050e0
mov eax, ebx
lea r9, [0x14027d35d]
lea r8, str.shaderModelAs
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c710
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelAs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c754
mov rax, qword [rax]
lea r15, [r13 + 0x90]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r15
lea rcx, str.The_default_shader_model_to_use_for_amplification_shaders
mov qword [rsp + 0x20], rcx
mov r9, rax
lea r8, [rbp + 0xf]
xor edx, edx
lea rcx, [0x1402dc670]
call fcn.14011aca0
mov r14d, eax
cmp byte [rbp + 0xf], 0
je 0x14013c7a4
cmp edi, 0x9bca5295
jne 0x14013c7a4
call fcn.140143df0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
cmp r14d, 1
lea r14, [0x14028bec0]
jne 0x14013c836
mov eax, ebx
lea r8, str.shaderModelAs
lea r9, [0x14027d35d]
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c7d0
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelAs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c814
mov rax, qword [rax]
mov dword [rsp + 0x20], edi
mov r9, r15
lea r8, str.The_default_shader_model_to_use_for_amplification_shaders
mov rdx, rax
call fcn.140116c00
or byte [rbp + 0xf], al
lea rcx, [rbp - 0x41]
call fcn.1400050e0
mov eax, ebx
lea r9, [0x14027d375]
lea r8, str.shaderModelMs
nop word [rax + rax]
movsx edx, byte [r8]
mov ecx, eax
xor rdx, rcx
movzx ecx, dl
shr eax, 8
xor eax, dword [r14 + rcx*4]
inc r8
cmp r8, r9
jne 0x14013c850
not eax
lea edi, [r12 - 0x61c88647]
add edi, eax
xor edi, esi
lea rdx, str.shaderModelMs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c894
mov rax, qword [rax]
lea r15, [r13 + 0xb0]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r15
lea rcx, str.The_default_shader_model_to_use_for_mesh_shaders
mov qword [rsp + 0x20], rcx
mov r9, rax
lea r8, [rbp + 0xf]
xor edx, edx
lea rcx, [0x1402dc670]
call fcn.14011aca0
mov r14d, eax
cmp byte [rbp + 0xf], 0
je 0x14013c8e4
cmp edi, 0x9bca5295
jne 0x14013c8e4
call fcn.140143df0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
cmp r14d, 1
jne 0x14013c975
lea r8, str.shaderModelMs
lea r14, [0x14028bec0]
lea r9, [0x14027d375]
nop dword [rax]
movsx ecx, byte [r8]
mov eax, ebx
xor rcx, rax
movzx eax, cl
shr ebx, 8
xor ebx, dword [r14 + rax*4]
inc r8
cmp r8, r9
jne 0x14013c910
not ebx
add ebx, 0x9e3779b9
add ebx, r12d
xor ebx, esi
lea rdx, str.shaderModelMs
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c953
mov rax, qword [rax]
mov dword [rsp + 0x20], ebx
mov r9, r15
lea r8, str.The_default_shader_model_to_use_for_mesh_shaders
mov rdx, rax
call fcn.140116c00
or byte [rbp + 0xf], al
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.DXC_HLSL_2021
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.DXC_HLSL_2021
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013c9aa
mov rax, qword [rax]
lea rdx, [r13 + 0xd0]
mov rcx, rax
call fcn.1400979f0
movzx ebx, al
mov ecx, 0x400
call fcn.1400163c0
test al, al
je 0x14013c9dd
lea rdx, str.When_using_DXC__use_HLSL_2021.__https:__github.com_microsoft_DirectXShaderCompiler_wiki_HLSL_2021
lea rcx, [0x1402641f4]
call fcn.140026740
or byte [rbp + 0xf], bl
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.AgilitySDKRequired
lea rcx, [rbp - 0x41]
call fcn.1401137d0
nop
lea rcx, [rbp - 0x41]
call fcn.1400050e0
lea rdx, str.AgilitySDKRequired
lea rcx, [rbp - 0x19]
call fcn.1401137d0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14013ca1e
mov rax, qword [rax]
lea rdx, [r13 + 0xd1]
mov rcx, rax
call fcn.1400979f0
movzx ebx, al
mov ecx, 0x400
call fcn.1400163c0
test al, al
je 0x14013ca51
lea rdx, str.True_if_the_agility_SDK_is_required_in_DX12._Can_be_set_to_true_in_the_editor__but_can_also_be_set_to_true_by_the_compiler.
lea rcx, [0x1402641f4]
call fcn.140026740
or byte [rbp + 0xf], bl
lea rcx, [rbp - 0x19]
call fcn.1400050e0
mov rax, qword [rbp - 0x21]
test rax, rax
je 0x14013cac1
cmp byte [rax], 0
je 0x14013cac1
mov rcx, qword [0x1402dc618]
mov rax, qword [rcx + 0x4148]
dec dword [rax + 0x130]
mov rax, qword [rcx + 0x4148]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4148]
movss xmm0, dword [rax + 0x184]
subss xmm0, dword [rcx + 0x3a6c]
movss dword [rax + 0x184], xmm0
addss xmm0, dword [rax + 0x58]
addss xmm0, dword [rax + 0x188]
movss dword [rax + 0x140], xmm0
movzx eax, byte [rbp + 0xf]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140244f00
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret