Function at 0x14039fec0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x1403a035c
mov r14, rcx
lea r8, [rcx + 0x18]
dec rdx
or rdx, 1
bsr rcx, rdx
xor rcx, 0xffffffffffffffc0
add rcx, 0x41
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x38], rbp
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x48], 0x4234b77d
mov dword [rsp + 0x40], 0x98de6492
lea r9, [rsp + 0x88]
mov rdx, r14
mov qword [rsp + 0x80], r8
call fcn.1403b0530
mov r9, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov r12, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 0x4f464971
mov dword [rsp + 0x38], 0xfeadaf7a
mov qword [rsp + 0x78], rdx
mov r8, r14
call fcn.1403af370
test al, 1
jne 0x1403a0348
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x68], r12
jmp 0x14039ffec
mov qword [rbx + r14*8], r13
mov rcx, r13
mov rdx, rbp
mov r8d, 0xb17cb41a
mov r9d, 0x4b9729fd
call fcn.1400ae210
mov rbp, r15
mov r15, qword [rsp + 0x60]
cmp r15, r12
je 0x1403a0348
mov r13, r15
mov dword [rsp + 0x20], 0x63b8ede4
mov rcx, r15
lea rdi, [rsp + 0x58]
mov rdx, rdi
mov r8, rbp
mov r9d, 0x66941ffc
call fcn.1403aed00
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0x50]
movzx ecx, byte [rsi]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
mov dword [rsp + 0x28], 0xe1cbb3c1
mov dword [rsp + 0x20], 0xee3acbe0
mov rdx, r15
mov r8, rdi
mov r9, rbp
call fcn.1403b0040
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
movzx ecx, byte [rcx]
mov edx, eax
xor edx, ecx
and edx, ecx
xor rcx, rax
and rcx, rax
or rcx, rdx
movabs rdi, 0x100000001b3
imul rcx, rdi
movzx ebx, byte [r15 + 0x12]
not rbx
mov rax, rcx
and rax, rbx
or rbx, rcx
not rbx
or rbx, rax
imul rbx, rdi
movzx eax, byte [r15 + 0x13]
mov ecx, ebx
not ecx
xor rbx, rax
and ecx, eax
not rbx
or rbx, rcx
not rbx
or rbx, rcx
imul rbx, rdi
mov rcx, r15
mov r15, rbp
mov rdx, rbp
mov r8d, 0xe1b5c1b1
mov r9d, 0x7bb76a8
call fcn.1403b01d0
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax]
mov rcx, rbx
not rcx
not rax
mov rdx, rcx
xor rdx, rax
and rdx, rcx
and rax, rbx
or rax, rdx
imul rax, rdi
movzx ecx, byte [r13 + 0x15]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [r13 + 0x16]
mov rdx, rcx
xor rdx, rax
and rdx, rcx
not rcx
xor rax, rcx
not rax
and rax, rcx
or rdx, rax
mov rax, qword [0x1405794f8]
movabs rcx, 0x4119cf5e97ce936f
add rax, rcx
imul rdx, rax
movzx ecx, byte [r13 + 0x17]
xor rcx, rdx
imul rcx, rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rdx, rcx
xor rdx, rax
not rax
xor rcx, rax
and rcx, rax
or rcx, rdx
not rcx
mov rax, qword [rsp + 0x80]
mov rbx, qword [rax]
lea r14, [rcx + rcx]
shl rcx, 4
lea rbp, [rbx + rcx]
add rbp, 8
mov rdi, qword [rbx + rcx]
cmp rdi, r12
je 0x14039ffc0
mov r12, qword [rbp]
mov rsi, qword [rsi]
cmp rsi, qword [r12 + 0x10]
jne 0x1403a0260
mov r12, qword [r12]
mov rcx, r12
mov rdx, r13
mov r8d, 0xdf7f5d51
mov r9d, 0xbd0373ef
call fcn.1400ada00
test al, 1
jne 0x1403a022c
mov rbx, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
mov qword [rbx], rcx
mov r14, r15
mov rdx, r15
mov r8d, 0xfe954331
mov r9d, 0x66b4dd3b
call fcn.1400ae910
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rdi]
mov qword [rsi], r12
mov dword [rsp + 0x20], 0x83a6530
mov rcx, r12
lea rdx, [rsp + 0x58]
mov r8, r15
mov r9d, 0x5d58d3eb
call fcn.1400adce0
mov r9, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov dword [rsp + 0x28], 0x34628e36
mov dword [rsp + 0x20], 0xca495c8d
mov rcx, r13
mov rdx, r12
mov r8, rsi
call fcn.1400ae8e0
mov qword [rdi], rbx
mov qword [r13 + 8], r12
mov rcx, r13
mov rdx, r15
mov r8d, 0xe8a89d0e
mov r9d, 0x226783b3
call fcn.1400ae210
mov rax, qword [rsp + 0x50]
mov qword [rbp], rax
mov rbp, r15
mov r12, qword [rsp + 0x68]
jmp 0x14039ffde
mov rbp, r15
mov r15, qword [rsp + 0x60]
nop dword [rax + rax]
cmp rdi, r12
je 0x1403a02f0
mov r12, qword [r12 + 8]
mov rcx, r12
mov rdx, rbp
mov r8d, 0x591a136
mov r9d, 0xdebecf2b
call fcn.1400adc70
mov rax, qword [rsp + 0x50]
cmp rsi, qword [rax]
jne 0x1403a0270
mov rsi, qword [r12]
lea rcx, [r13 + 8]
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x30], 0x6056d4e
mov dword [rsp + 0x28], 0xef5b4a51
mov rdx, r15
lea r8, [rsp + 0x70]
lea r9, [rsp + 0x58]
call fcn.1403aedd0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov qword [rdx], rsi
mov r8, qword [rsi + 8]
mov qword [r8], r13
mov qword [rsi + 8], rdx
mov qword [rcx], rax
mov qword [r13 + 8], r8
jmp 0x1403a033a
mov rsi, qword [r13 + 8]
mov qword [rsi], r15
mov rdi, qword [r15 + 8]
mov qword [rdi], r12
mov dword [rsp + 0x28], 0xadfd0ce7
mov dword [rsp + 0x20], 0x7696e56f
mov rcx, r12
mov rdx, r13
lea r8, [rsp + 0x58]
mov r9, rbp
call fcn.1403afcc0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rdi
mov qword [r15 + 8], rsi
mov qword [r13 + 8], rcx
mov qword [rbx + r14*8], r13
mov r12, qword [rsp + 0x68]
cmp r15, r12
jne 0x14039ffec
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
mov edx, 1
mov r8d, 0x1302fded
call fcn.1403a9e50
mov rcx, rax
call fcn.1404071f4
int3