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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x118]
sub rsp, 0x218
mov rax, qword [0x140424b58]
xor rax, rsp
mov qword [rbp + 0x108], rax
mov rsi, r8
mov qword [rbp - 0x68], r8
mov r15, rcx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x48], rcx
mov rbx, qword [rbp + 0x180]
mov qword [rsp + 0x68], rbx
call fcn.14010d0c0
nop
lea rax, vtable.Assimp::FBX::Geometry.0
mov qword [r15], rax
xor r14d, r14d
mov qword [r15 + 0x38], r14
lea r9, str.Deformer
mov r8, qword [r15 + 0x30]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14010eb90
nop
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
cmp rbx, rdi
je 0x140118062
nop word [rax + rax]
mov qword [rsp + 0x20], r14
mov r9, rsi
lea r8, str.Skin____Geometry
xor edx, edx
mov rcx, qword [rbx]
call fcn.140114df0
test rax, rax
jne 0x140118059
add rbx, 8
cmp rbx, rdi
jne 0x140118030
jmp 0x14011805d
mov qword [r15 + 0x38], rax
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x1401180ab
mov rax, qword [rbp - 0x80]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1401180a2
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401180a2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1401a68e0
nop
lea rax, vtable.Assimp::FBX::MeshGeometry.0
mov qword [r15], rax
xor ebx, ebx
mov qword [r15 + 0x40], rbx
mov qword [r15 + 0x48], rbx
mov qword [r15 + 0x50], rbx
lea r12, [r15 + 0x58]
mov qword [r12], rbx
mov qword [r12 + 8], rbx
mov qword [r12 + 0x10], rbx
lea r14, [r15 + 0x70]
mov qword [r14], rbx
mov qword [r14 + 8], rbx
mov qword [r14 + 0x10], rbx
mov qword [r15 + 0x88], rbx
mov qword [r15 + 0x90], rbx
mov qword [r15 + 0x98], rbx
mov qword [r15 + 0xa0], rbx
mov qword [r15 + 0xa8], rbx
mov qword [r15 + 0xb0], rbx
mov qword [r15 + 0xb8], rbx
mov qword [r15 + 0xc0], rbx
mov qword [r15 + 0xc8], rbx
mov qword [r15 + 0xd0], rbx
mov qword [r15 + 0xd8], rbx
mov qword [r15 + 0xe0], rbx
lea rcx, [r15 + 0xe8]
lea rax, [fcn.140023380]
mov qword [rsp + 0x20], rax
lea r9, [0x140040390]
lea edx, [rbx + 0x20]
lea r8d, [rbx + 8]
call fcn.14032b670
nop
lea rcx, [r15 + 0x1e8]
lea rax, [fcn.140023490]
mov qword [rsp + 0x20], rax
lea r9, [0x1400223f0]
lea edx, [rbx + 0x18]
lea r8d, [rbx + 8]
call fcn.14032b670
nop
lea rcx, [r15 + 0x2a8]
lea rax, [fcn.1400326e0]
mov qword [rsp + 0x20], rax
lea r9, [0x1400223f0]
lea edx, [rbx + 0x18]
lea r8d, [rbx + 8]
call fcn.14032b670
nop
lea r13, [r15 + 0x368]
mov qword [r13], rbx
mov qword [r13 + 8], rbx
mov qword [r13 + 0x10], rbx
mov qword [r15 + 0x380], rbx
mov qword [r15 + 0x388], rbx
mov qword [r15 + 0x390], rbx
lea rax, [r15 + 0x398]
mov qword [rbp - 0x50], rax
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov rdi, qword [rsi + 0x20]
test rdi, rdi
je 0x140118aef
mov eax, 0xf
mov qword [rbp + 0x100], rax
mov qword [rbp + 0xf8], 8
movabs rax, 0x7365636974726556
mov qword [rbp + 0xe8], rax
mov byte [rbp + 0xf0], bl
mov r8, rsi
lea rdx, [rbp + 0xe8]
mov rcx, rdi
call fcn.14011cf90
mov rsi, rax
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x14011827f
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14011827a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14011827a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a68e0
mov qword [rbp + 0xf8], rbx
mov edx, 0xf
mov qword [rbp + 0x100], rdx
mov byte [rbp + 0xe8], 0
mov qword [rbp + 0xd8], rbx
mov qword [rbp + 0xe0], rdx
mov byte [rbp + 0xc8], 0
lea ecx, [rdx + 0x11]
call fcn.14032af80
mov rcx, rax
mov qword [rbp + 0xd8], 0x12
mov qword [rbp + 0xe0], 0x1f
movups xmm0, xmmword [str.PolygonVertexIndex]
movups xmmword [rax], xmm0
movzx eax, word [0x140363aa8]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0
mov qword [rbp + 0xc8], rcx
mov r8, qword [rbp - 0x68]
lea rdx, [rbp + 0xc8]
mov rcx, rdi
call fcn.14011cf90
mov qword [rbp - 0x78], rax
mov rdx, qword [rbp + 0xe0]
cmp rdx, 0x10
jb 0x14011834a
inc rdx
mov rcx, qword [rbp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140118345
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140118345
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a68e0
mov qword [rbp + 0xd8], rbx
mov edx, 0xf
mov qword [rbp + 0xe0], rdx
mov byte [rbp + 0xc8], 0
mov qword [rbp + 0xc0], rdx
mov ecx, 5
mov qword [rbp + 0xb8], rcx
mov eax, dword [str.Layer]
mov dword [rbp + 0xa8], eax
movzx eax, byte [0x140363ab0]
mov byte [rbp + 0xac], al
mov byte [rbp + 0xad], 0
lea r8, [rbp + 0xa8]
xor edx, edx
movabs r9, 0xcbf29ce484222325
movabs r10, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
xor r9, rax
imul r9, r10
inc rdx
cmp rdx, rcx
jb 0x1401183c0
lea r8, [rbp + 0xa8]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.140117cf0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xor ebx, ebx
mov qword [rsp + 0x60], rbx
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.14011ebc0
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x50], rax
jne 0x1401184aa
lea rcx, str.encountered_mesh_with_no_vertices
call fcn.140104ee0
nop
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x140118484
mov rcx, qword [rsp + 0x60]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 2
mov rax, r8
cmp rdx, 0x1000
jb 0x14011847b
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118aca
mov rcx, r8
call fcn.1401a68e0
nop
mov rax, r15
mov rcx, qword [rbp + 0x108]
xor rcx, rsp
call fcn.14032b620
add rsp, 0x218
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbx
mov rdx, qword [rbp - 0x78]
lea rcx, [rsp + 0x38]
call fcn.14011daa0
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
cmp r10, r8
jne 0x140118541
lea rcx, str.encountered_mesh_with_no_faces
call fcn.140104ee0
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140118422
mov rax, qword [rsp + 0x48]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140118529
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118a4f
call fcn.1401a68e0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbx
jmp 0x140118422
mov r9, r8
sub r9, r10
sar r9, 2
mov rcx, qword [r12 + 0x10]
sub rcx, qword [r12]
movabs rsi, 0x2aaaaaaaaaaaaaab
mov rax, rsi
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jbe 0x14011859e
movabs rax, 0x1555555555555555
cmp r9, rax
ja 0x140118b12
mov rdx, r9
mov rcx, r12
call fcn.140038e70
mov r8, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
sub r8, r10
sar r8, 2
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 1
mov rax, qword [r14 + 0x10]
sub rax, qword [r14]
sar rax, 2
cmp rdx, rax
jbe 0x1401185e0
movabs rax, 0x3fffffffffffffff
cmp rdx, rax
ja 0x140118b18
mov rcx, r14
call fcn.1400283e0
mov rcx, qword [rsp + 0x58]
sub rcx, qword [rsp + 0x50]
mov rax, rsi
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rcx, [r15 + 0x380]
call fcn.14011abc0
mov dword [rsp + 0x30], ebx
mov rcx, qword [rsp + 0x58]
sub rcx, qword [rsp + 0x50]
mov rax, rsi
imul rcx
mov rbx, rdx
sar rbx, 1
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov rdi, qword [r13 + 8]
mov rdx, qword [r13]
mov rcx, rdi
sub rcx, rdx
sar rcx, 2
cmp rbx, rcx
jae 0x14011864e
lea rax, [rdx + rbx*4]
mov qword [r13 + 8], rax
jmp 0x140118690
jbe 0x140118690
mov rax, qword [r13 + 0x10]
sub rax, rdx
sar rax, 2
cmp rbx, rax
jbe 0x140118672
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, r13
call fcn.140031600
jmp 0x140118690
sub rbx, rcx
je 0x14011868c
mov r8, rbx
shl r8, 2
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
lea rdi, [rdi + rbx*4]
mov qword [r13 + 8], rdi
mov rdx, qword [rsp + 0x40]
sub rdx, qword [rsp + 0x38]
sar rdx, 2
lea rcx, [r15 + 0x398]
call fcn.14011abc0
mov r10, qword [rsp + 0x58]
mov rcx, r10
mov r8, qword [rsp + 0x50]
sub rcx, r8
mov rax, rsi
imul rcx
mov rcx, rdx
sar rcx, 1
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov qword [rbp - 0x58], rcx
xor esi, esi
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x60], rax
cmp rbx, rax
je 0x14011879f
nop dword [rax]
mov r15d, dword [rbx]
mov eax, r15d
not eax
test r15d, r15d
cmovns eax, r15d
movsxd rdi, eax
cmp rdi, rcx
jae 0x140118b1e
lea rax, [rdi + rdi*2]
lea r8, [r8 + rax*4]
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x14011873d
mov eax, dword [r8]
mov dword [rdx], eax
mov eax, dword [r8 + 4]
mov dword [rdx + 4], eax
mov eax, dword [r8 + 8]
mov dword [rdx + 8], eax
lea rax, [rdx + 0xc]
mov qword [r12 + 8], rax
jmp 0x140118745
mov rcx, r12
call fcn.140030a40
inc esi
mov dword [rsp + 0x30], esi
mov rax, qword [r13]
inc dword [rax + rdi*4]
test r15d, r15d
jns 0x140118779
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x14011876a
mov dword [rdx], esi
add qword [r14 + 8], 4
jmp 0x140118777
lea r8, [rsp + 0x30]
mov rcx, r14
call fcn.140021930
xor esi, esi
add rbx, 4
mov r8, qword [rsp + 0x50]
cmp rbx, qword [rbp - 0x60]
je 0x140118791
mov rcx, qword [rbp - 0x58]
jmp 0x1401186f0
mov r10, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x38]
mov r15, qword [rbp - 0x70]
xor r9d, r9d
sub r10, r8
movabs r12, 0x2aaaaaaaaaaaaaab
mov rax, r12
imul r10
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, r9d
lea rsi, [r15 + 0x380]
je 0x1401187f8
nop
mov rax, qword [rsi]
mov dword [rax + rcx*4], r9d
mov rax, qword [r13]
add r9d, dword [rax + rcx*4]
mov dword [rax + rcx*4], 0
inc rcx
cmp rcx, rdx
jb 0x1401187d0
mov r8, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
xor r11d, r11d
mov rdi, qword [rsp + 0x40]
cmp rbx, rdi
je 0x14011885a
mov r15, qword [rbp - 0x50]
nop dword [rax]
mov ecx, dword [rbx]
mov r10d, r11d
inc r11d
mov eax, ecx
not eax
test ecx, ecx
cmovns eax, ecx
movsxd r9, eax
mov r8, qword [r13]
mov rax, qword [rsi]
mov ecx, dword [r8 + r9*4]
mov edx, dword [rax + r9*4]
add edx, ecx
lea eax, [rcx + 1]
mov dword [r8 + r9*4], eax
mov rax, qword [r15]
mov dword [rax + rdx*4], r10d
add rbx, 4
cmp rbx, rdi
jne 0x140118810
mov r8, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
mov r15, qword [rbp - 0x70]
mov rdi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
cmp rdi, r14
je 0x140118a15
lea rbx, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov esi, 0xc
mov r13, qword [rsp + 0x68]
nop
mov rcx, qword [rdi + 0x30]
mov rcx, qword [rcx + 8]
lea rdx, [rsp + 0x68]
mov rcx, qword [rcx]
call fcn.14011d7a0
mov ecx, eax
mov rdx, qword [rsp + 0x68]
test rdx, rdx
jne 0x140118ad1
mov rax, qword [r13]
cmp byte [rax + 1], dl
jne 0x14011892a
test ecx, ecx
je 0x14011892a
call fcn.1400f2f10
test al, al
jne 0x1401189fc
mov edx, 1
lea rcx, [rbp - 0x40]
call fcn.140081480
nop
lea rdx, str.ignoring_additional_geometry_layers
lea rcx, [rbp - 0x40]
call fcn.140073ad0
nop
lea rcx, [rbp - 0x40]
call fcn.140104d00
nop
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x40], rbx
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 0x44], edx
lea rcx, [rbp - 0x38]
call fcn.14004cb90
lea rcx, [rbp - 0x30]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x48]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x1401189fc
mov rcx, qword [rdi + 0x30]
call fcn.14011d0d0
mov r10, rax
mov ecx, 0xf
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xb8], rsi
movsd xmm0, qword [str.LayerElement]
movsd qword [rbp + 0xa8], xmm0
mov eax, dword [0x140363b58]
mov dword [rbp + 0xb0], eax
mov byte [rbp + 0xb4], 0
lea rdx, [rbp + 0xa8]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test rsi, rsi
je 0x1401189a8
movabs r14, 0x100000001b3
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r14
inc rcx
cmp rcx, rsi
jb 0x140118990
mov r14, qword [rsp + 0x78]
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0xc8]
mov rcx, r10
call fcn.140117cf0
mov rbx, qword [rbp + 0xc8]
mov rsi, qword [rbp + 0xd0]
cmp rbx, rsi
je 0x1401189f0
mov rcx, qword [rbx + 0x30]
call fcn.14011d0d0
mov rdx, rax
mov rcx, r15
call fcn.1401193b0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
jne 0x1401189d1
lea rbx, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov esi, 0xc
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r14
jne 0x140118880
mov r8, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x140118a75
mov rax, qword [rsp + 0x48]
sub rax, rbx
sar rax, 2
lea rdx, [rax*4]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140118a56
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140118a56
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1401a68e0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], 0
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x140118484
mov rcx, qword [rsp + 0x60]
sub rcx, r8
mov rax, r12
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 2
mov rax, r8
cmp rdx, 0x1000
jb 0x14011847b
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14011847b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rbp + 0xa8]
call fcn.1400223b0
nop
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp + 0xa8]
call fcn.1401115c0
nop
lea rdx, str.failed_to_read_Geometry_object__class:_Mesh___no_data_scope_found
lea rcx, [rbp + 0xa8]
call fcn.1400223b0
nop
xor edx, edx
lea rcx, [rbp + 0xa8]
call fcn.1401115c0
nop
call fcn.1400072d0
int3
call fcn.1400072d0
int3
lea rdx, str.polygon_vertex_index_out_of_range
lea rcx, [rbp + 0xa8]
call fcn.1400223b0
nop
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp + 0xa8]
call fcn.1401115c0
int3