Function at 0x1400397b0
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 + 0x2d8], 0
mov r15, r9
mov rbx, qword [rbp + 0x77]
mov rsi, r8
movsxd r9, edx
mov rdi, rcx
je 0x140039952
cmp dword [rcx + 0x2c0], 1
je 0x140039952
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 0x1400398e2
mov rcx, qword [rcx]
cmp rsi, qword [rax + 0x10]
je 0x1400398d2
cmp rax, rcx
je 0x1400398e2
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x1400398c3
test rax, rax
cmove rax, rdx
cmp rax, rdx
jne 0x140039ba2
mov r8d, 0x18
lea rdx, str._0x
lea rcx, [rbp - 0x11]
call fcn.140031820
mov r8, rsi
lea rdx, str._016llx
lea rcx, [rbp + 7]
call fcn.140031820
mov r9, qword [rdi + 0x18]
lea rcx, [rbp - 0x11]
mov edx, 1
lea r8d, [rdx + 0x27]
call fcn.140124a38
cmp rax, 0x28
jne 0x140039952
mov r14d, dword [rbp + 0x7f]
test r14b, 1
je 0x140039970
cmp rbx, 0x10
jb 0x140039952
mov r9, qword [rdi + 0x18]
lea edx, [rax - 0x27]
mov r8, rbx
mov rcx, r15
call fcn.140124a38
cmp rax, rbx
je 0x140039b81
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 0x140039add
mov ecx, ebx
call fcn.140042580
mov r9, qword [rdi + 0x2d0]
mov esi, eax
cmp r9, rsi
jae 0x1400399d2
mov rcx, qword [rdi + 0x2c8]
mov edx, esi
call fcn.140124c08
test rax, rax
je 0x1400399b5
mov qword [rdi + 0x2c8], rax
mov r9d, esi
mov qword [rdi + 0x2d0], rsi
jmp 0x1400399d2
mov rcx, qword [rdi + 0x2c8]
call fcn.140123a80
xor r9d, r9d
mov qword [rdi + 0x2c8], r9
mov qword [rdi + 0x2d0], r9
mov rcx, qword [rdi + 0x2c8]
test rcx, rcx
je 0x140039952
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.1400420a0
test eax, eax
jne 0x140039952
mov esi, dword [rbp + 0x57]
mov dword [rbp - 0x21], esi
test r14b, 8
je 0x140039a40
mov rdx, qword [rdi + 0x2c8]
mov r8d, esi
xor ecx, ecx
call fcn.1400425c0
mov ecx, eax
mov dword [rbp - 0x19], eax
jmp 0x140039a43
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.140124a38
cmp rax, 0x10
jne 0x140039952
mov r9, qword [rdi + 0x18]
lea edx, [rax - 0xf]
mov rcx, qword [rdi + 0x2c8]
mov r8, rsi
call fcn.140124a38
cmp rax, rsi
jmp 0x14003994c
xor r9d, r9d
test r14b, 8
je 0x140039af6
mov r8, rbx
mov rdx, r15
xor ecx, ecx
call fcn.1400425c0
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.140124a38
cmp rax, 0x10
jne 0x140039952
mov r9, qword [rdi + 0x18]
lea edx, [rax - 0xf]
mov r8, rbx
mov rcx, r15
call fcn.140124a38
cmp rax, rbx
jne 0x140039952
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.140032a50
mov al, 1
jmp 0x140039954