Function at 0x140029bd0
Capabilities:
Encode data using xor
Hash data using fnv
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov rax, qword [0x14009fef0]
xor rax, rsp
mov qword [rbp], rax
mov r15, r8
mov qword [rbp - 0x80], r8
mov r12, rdx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
mov rdx, r9
lea rcx, [rbp - 0x40]
call fcn.140029140
nop
xor eax, eax
mov qword [r12], rax
mov qword [r12 + 8], rax
mov dword [r12 + 0x10], eax
mov r9, r15
lea edx, [rax + 4]
lea r8d, [rax + 1]
lea rcx, [r12 + 0x10]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
movsxd rcx, dword [r12 + 0x10]
mov eax, 4
mul rcx
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.14005bbb0
mov qword [r12], rax
mov eax, dword [r12 + 0x10]
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
movsxd rcx, eax
mov eax, 4
mul rcx
mov rdi, rax
cmovo rdi, rbx
mov rcx, rdi
call fcn.14005bbb0
mov rbx, rax
mov r8, rdi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
xor edi, edi
mov dword [rbx], edi
mov qword [r12 + 8], rbx
mov r14d, edi
mov dword [rsp + 0x20], edi
cmp dword [r12 + 0x10], edi
jle 0x14002a0b9
mov qword [rsp + 0x28], rdi
nop
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov eax, dword [rbp - 0x70]
inc eax
movsxd rcx, eax
call fcn.14005bbb0
mov rbx, rax
movsxd r8, dword [rbp - 0x70]
mov r9, r15
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
movsxd rax, dword [rbp - 0x70]
mov byte [rax + rbx], 0
mov eax, r14d
neg eax
sbb r13d, r13d
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
mov r8d, 0x1c
lea rdx, str.Textures_Missing_Texture.png
lea rcx, [rbp - 0x68]
call fcn.14000d170
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rdi
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x140029d60
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14000d170
lea r8, [rsp + 0x50]
mov r9, qword [rsp + 0x68]
cmp r9, 0x10
setae r12b
mov rsi, qword [rsp + 0x50]
cmovae r8, rsi
movabs rdx, 0xcbf29ce484222325
mov rcx, rdi
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x140029dd9
movabs r14, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r14
inc rcx
cmp rcx, rdi
jb 0x140029dc0
mov r14d, dword [rsp + 0x20]
mov rcx, qword [rbp - 0x10]
and rcx, rdx
mov rax, rcx
add rax, rax
mov rdx, qword [rbp - 0x28]
mov rbx, qword [rdx + rax*8 + 8]
mov r15, qword [rbp - 0x38]
cmp rbx, r15
je 0x140029e50
add rcx, rcx
mov r14, qword [rdx + rcx*8]
nop
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140029e12
mov rdx, qword [rdx]
lea rcx, [rsp + 0x50]
test r12b, r12b
cmovne rcx, rsi
cmp rdi, rax
jne 0x140029e2f
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140029e3a
cmp rbx, r14
je 0x140029e46
mov rbx, qword [rbx + 8]
jmp 0x140029e00
mov r9, qword [rsp + 0x68]
mov r14d, dword [rsp + 0x20]
jmp 0x140029e52
mov r9, qword [rsp + 0x68]
mov r14d, dword [rsp + 0x20]
xor ebx, ebx
mov rdi, r15
test rbx, rbx
cmovne rdi, rbx
test r12b, r12b
je 0x140029e96
lea rdx, [r9 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140029e8a
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a0a4
mov rcx, rsi
call fcn.14005bb7c
mov r15, qword [rbp - 0x38]
cmp rdi, r15
je 0x140029ed1
mov r13d, dword [rdi + 0x30]
lea rdx, [rdi + 0x38]
lea rax, [rbp - 0x68]
cmp rax, rdx
je 0x140029ec3
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140029eba
mov rdx, qword [rdx]
lea rcx, [rbp - 0x68]
call fcn.14000a520
cmp r13d, 0x1000000
jae 0x140029ed1
bts r13d, 0x18
mov r15, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x68]
test r14d, r14d
jle 0x14002a00d
lea rcx, [rbp - 0x68]
cmp r15, 0x10
setae bl
cmovae rcx, rsi
lea rdx, str.NO_TEXTURE
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14002a00d
mov rax, qword [rsp + 0x70]
mov r12, qword [rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
lea r14, [rbp - 0x68]
test bl, bl
cmovne r14, rsi
mov rdi, qword [rbp - 0x58]
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
ja 0x14002a0e5
mov qword [rsp + 0x48], 0xf
cmp rdi, 0x10
jae 0x140029f64
mov qword [rsp + 0x40], rdi
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x30], xmm0
jmp 0x140029ff4
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x140029f83
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140029faa
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140029fcc
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14002a0eb
mov rcx, rax
call fcn.14005bb40
mov rcx, rax
test rax, rax
je 0x14002a0ab
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140029fd6
test rcx, rcx
je 0x140029fd6
call fcn.14005bb40
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov r8d, r13d
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.14003d240
mov ecx, eax
mov r14d, dword [rsp + 0x20]
jmp 0x14002a010
mov ecx, r13d
mov r12, qword [rsp + 0x78]
mov rax, qword [r12]
mov rdi, qword [rsp + 0x28]
mov dword [rdi + rax], ecx
movsxd rcx, r14d
sar rcx, 5
mov rax, qword [r12 + 8]
lea rdx, [rax + rcx*4]
and r13d, 0xff000000
xor eax, eax
cmp r13d, 0xff000000
setb al
mov ecx, r14d
and ecx, 0x1f
shl eax, cl
or dword [rdx], eax
cmp r15, 0x10
jb 0x14002a081
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14002a079
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002a0b2
mov rcx, rsi
call fcn.14005bb7c
inc r14d
mov dword [rsp + 0x20], r14d
add rdi, 4
mov qword [rsp + 0x28], rdi
cmp r14d, dword [r12 + 0x10]
jge 0x14002a0b9
mov r15, qword [rbp - 0x80]
xor edi, edi
jmp 0x140029cd0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rbp - 0x40]
call fcn.140029af0
mov rax, r12
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14005bb20
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140001990
nop
call fcn.1400018f0
int3