Function at 0x140029600
Capabilities:
Hash data using fnv
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
cmp byte [rcx + 0x298], 0
mov r15, r9
mov rbx, qword [rbp + 0x77]
mov rsi, r8
movsxd r9, edx
mov rdi, rcx
je 0x1400297a2
cmp dword [rcx + 0x280], 1
je 0x1400297a2
movabs r10, 0x100000001b3
movzx edx, sil
movabs rax, 0xcbf29ce484222325
mov r8, r9
xor rdx, rax
shl r8, 6
imul rdx, r10
add r8, rcx
mov rax, rsi
shr rax, 8
movzx ecx, al
mov rax, rsi
xor rdx, rcx
shr rax, 0x10
imul rdx, r10
movzx ecx, al
lea r12, [r8 + 0x40]
xor rdx, rcx
mov rax, rsi
imul rdx, r10
shr rax, 0x18
movzx ecx, al
mov rax, rsi
xor rdx, rcx
shr rax, 0x20
imul rdx, r10
movzx ecx, al
mov rax, rsi
xor rdx, rcx
shr rax, 0x28
imul rdx, r10
movzx ecx, al
mov rax, rsi
xor rdx, rcx
shr rax, 0x30
imul rdx, r10
movzx ecx, al
mov rax, rsi
xor rdx, rcx
shr rax, 0x38
mov rcx, qword [r8 + 0x70]
imul rdx, r10
xor rdx, rax
imul rdx, r10
and rcx, rdx
mov rdx, qword [r8 + 0x48]
shl rcx, 4
add rcx, qword [r8 + 0x58]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x140029732
mov rcx, qword [rcx]
cmp rsi, qword [rax + 0x10]
je 0x140029722
cmp rax, rcx
je 0x140029732
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x140029713
test rax, rax
cmove rax, rdx
cmp rax, rdx
jne 0x1400299f2
mov r8d, 0x18
lea rdx, str._0x
lea rcx, [rbp - 0x11]
call fcn.1400215e0
mov r8, rsi
lea rdx, str._016llx
lea rcx, [rbp + 7]
call fcn.1400215e0
mov r9, qword [rdi + 0x18]
lea rcx, [rbp - 0x11]
mov edx, 1
lea r8d, [rdx + 0x27]
call fcn.1400fa568
cmp rax, 0x28
jne 0x1400297a2
mov r14d, dword [rbp + 0x7f]
test r14b, 1
je 0x1400297c0
cmp rbx, 0x10
jb 0x1400297a2
mov r9, qword [rdi + 0x18]
lea edx, [rax - 0x27]
mov r8, rbx
mov rcx, r15
call fcn.1400fa568
cmp rax, rbx
je 0x1400299d1
xor al, al
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
test r14b, 2
je 0x14002992d
mov ecx, ebx
call fcn.140031b90
mov r9, qword [rdi + 0x290]
mov esi, eax
cmp r9, rsi
jae 0x140029822
mov rcx, qword [rdi + 0x288]
mov edx, esi
call fcn.1400fa738
test rax, rax
je 0x140029805
mov qword [rdi + 0x288], rax
mov r9d, esi
mov qword [rdi + 0x290], rsi
jmp 0x140029822
mov rcx, qword [rdi + 0x288]
call fcn.1400f95e0
xor r9d, r9d
mov qword [rdi + 0x288], r9
mov qword [rdi + 0x290], r9
mov rcx, qword [rdi + 0x288]
test rcx, rcx
je 0x1400297a2
mov eax, r14d
mov dword [rbp + 0x57], r9d
and eax, 4
lea rdx, [rbp + 0x57]
add eax, eax
xorps xmm0, xmm0
or eax, 1
mov r9d, ebx
mov r8, r15
mov dword [rsp + 0x20], eax
movups xmmword [rbp - 0x21], xmm0
call fcn.1400316b0
test eax, eax
jne 0x1400297a2
mov esi, dword [rbp + 0x57]
mov dword [rbp - 0x21], esi
test r14b, 8
je 0x140029890
mov rdx, qword [rdi + 0x288]
mov r8d, esi
xor ecx, ecx
call fcn.140031bd0
mov ecx, eax
mov dword [rbp - 0x19], eax
jmp 0x140029893
mov ecx, dword [rbp - 0x19]
movzx eax, byte [rbp - 0x21]
mov edx, 1
mov r9, qword [rdi + 0x18]
mov byte [rbp - 0x39], al
mov eax, esi
shr eax, 8
mov byte [rbp - 0x38], al
lea r8d, [rdx + 0xf]
mov eax, esi
mov byte [rbp - 0x2d], bl
shr eax, 0x10
mov byte [rbp - 0x37], al
mov eax, esi
shr eax, 0x18
mov byte [rbp - 0x36], al
movzx eax, byte [rbp - 0x19]
mov byte [rbp - 0x31], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x30], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x2f], al
mov eax, ebx
shr eax, 8
mov byte [rbp - 0x2c], al
mov eax, ebx
shr ecx, 0x18
shr eax, 0x10
mov byte [rbp - 0x2e], cl
lea rcx, [rbp - 0x39]
shr ebx, 0x18
mov byte [rbp - 0x2b], al
mov dword [rbp - 0x35], 2
mov byte [rbp - 0x2a], bl
call fcn.1400fa568
cmp rax, 0x10
jne 0x1400297a2
mov r9, qword [rdi + 0x18]
lea edx, [rax - 0xf]
mov rcx, qword [rdi + 0x288]
mov r8, rsi
call fcn.1400fa568
cmp rax, rsi
jmp 0x14002979c
xor r9d, r9d
test r14b, 8
je 0x140029946
mov r8, rbx
mov rdx, r15
xor ecx, ecx
call fcn.140031bd0
mov r9d, eax
mov eax, r9d
mov byte [rbp - 0x31], r9b
shr eax, 8
mov edx, ebx
shr edx, 0x10
mov r8d, ebx
shr r8d, 8
mov ecx, ebx
shr ecx, 0x18
mov byte [rbp - 0x30], al
mov eax, r9d
shr r9d, 0x18
mov byte [rbp - 0x37], dl
mov byte [rbp - 0x2b], dl
mov edx, 1
mov byte [rbp - 0x38], r8b
mov byte [rbp - 0x36], cl
shr eax, 0x10
mov byte [rbp - 0x2e], r9b
mov r9, qword [rdi + 0x18]
mov byte [rbp - 0x2c], r8b
lea r8d, [rdx + 0xf]
mov byte [rbp - 0x2a], cl
lea rcx, [rbp - 0x39]
mov byte [rbp - 0x39], bl
mov dword [rbp - 0x35], 1
mov byte [rbp - 0x2f], al
mov byte [rbp - 0x2d], bl
call fcn.1400fa568
cmp rax, 0x10
jne 0x1400297a2
mov r9, qword [rdi + 0x18]
lea edx, [rax - 0xf]
mov r8, rbx
mov rcx, r15
call fcn.1400fa568
cmp rax, rbx
jne 0x1400297a2
xorps xmm0, xmm0
lea r9, [rbp - 0x39]
xor eax, eax
lea r8, [rbp + 0x67]
lea rdx, [rbp - 0x21]
mov qword [rbp - 0x29], rax
mov rcx, r12
movups xmmword [rbp - 0x39], xmm0
call fcn.140022de0
mov al, 1
jmp 0x1400297a4