Function at 0x14047f0f0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x14047f42e
mov rbx, rcx
dec rdx
or rdx, 1
bsr rax, rdx
xor eax, 0x3f
mov ecx, dword [0x14067c4b8]
sub ecx, eax
add cl, 0x30
mov esi, 1
shl rsi, cl
lea rax, [rbx + 0x18]
mov r13, qword [rbx + 8]
mov edx, 2
shl rdx, cl
mov qword [rsp + 0x68], rax
mov rcx, rax
mov r8, r13
call fcn.14047df60
lea rax, [rsi - 1]
mov qword [rbx + 0x30], rax
lea rdx, [rsp + 0x50]
mov rcx, rbx
mov r8d, 0xdf386715
mov r9d, 0x58b40253
call fcn.14048dcc0
mov rax, qword [rsp + 0x50]
mov qword [rax], rsi
mov rax, qword [rbx + 8]
mov rdi, qword [rax]
cmp rdi, r13
je 0x14047f41d
movabs r15, 0x100000001b3
mov qword [rsp + 0x58], rbx
jmp 0x14047f1c3
mov qword [rsi], r12
mov qword [r13], r12
mov r13, r14
cmp rdi, r14
je 0x14047f41d
mov r12, rdi
mov rdi, qword [rdi]
mov dword [rsp + 0x20], 0x66941ffc
mov rcx, r12
lea rsi, [rsp + 0x50]
mov rdx, rsi
lea r14, [rsp + 0x60]
mov r8, r14
mov r9d, 0xeeabbc4b
call fcn.14048e8d0
mov rbp, qword [rsp + 0x50]
movzx ecx, byte [rsp + 0x60]
mov r9d, dword [0x14067c4b0]
lea r8d, [r9 - 0x292ddc44]
add r9d, 0x63211beb
mov rdx, rsi
call fcn.14048f4c0
mov rax, qword [rsp + 0x50]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
imul rax, r15
movzx ecx, byte [r12 + 0x11]
xor rcx, rax
imul rcx, r15
movzx edx, byte [r12 + 0x12]
mov dword [rsp + 0x20], 0x92e2e0bf
mov r8, rsi
mov r9d, 0xfcf039b7
call fcn.1400a82b0
mov rcx, qword [rsp + 0x50]
mov rdx, rsi
mov r8d, 0x571abf92
mov r9d, 0xe07d8aec
call fcn.14048d280
mov rax, qword [rsp + 0x50]
movzx ecx, byte [r12 + 0x13]
mov rdx, rcx
not rdx
and rdx, rax
not eax
and eax, ecx
or rdx, rax
imul rdx, r15
movzx eax, byte [r12 + 0x14]
xor rax, rdx
imul rax, r15
movzx ecx, byte [r12 + 0x15]
mov rdx, rcx
not rdx
and rdx, rax
not eax
and eax, ecx
or rdx, rax
imul rdx, r15
movzx eax, byte [r12 + 0x16]
xor rax, rdx
imul rax, r15
movzx ecx, byte [r12 + 0x17]
xor rcx, rax
imul rcx, r15
mov rdx, qword [rbx + 0x30]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 0x51505ea6
mov dword [rsp + 0x38], 0x7ba083d4
mov r8, qword [rsp + 0x68]
mov r14, r13
mov r9, r13
call fcn.14048f470
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x60]
test al, 1
jne 0x14047f1b0
mov rbx, qword [r13]
mov rbp, qword [rbp]
cmp rbp, qword [rbx + 0x10]
jne 0x14047f390
mov rdx, qword [rbx]
cmp rdx, r12
je 0x14047f370
lea rax, [r12 + 8]
mov r8, qword [r12 + 8]
mov qword [r8], rdi
lea r9, [rdi + 8]
mov rcx, qword [rdi + 8]
mov qword [rcx], rdx
mov r10, qword [rdx + 8]
add rdx, 8
mov qword [r10], r12
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov dword [rsp + 0x38], 0x7602a27d
mov dword [rsp + 0x30], 0xfe954331
call fcn.14048ca60
mov rcx, r12
mov rdx, r13
mov r8d, 0x10bf46fa
mov r9d, 0x1ad5df71
call fcn.140172770
jmp 0x14047f413
mov r13, qword [rsp + 0x50]
nop word cs:[rax + rax]
cmp r13, rbx
je 0x14047f3ed
mov rbx, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
mov rcx, rbp
mov r8d, 0x65237a0a
mov r9d, 0x2f8161ee
call fcn.14035bec0
test al, 1
je 0x14047f3a0
mov rax, qword [rbx]
mov rcx, qword [r12 + 8]
mov qword [rcx], rdi
mov rdx, qword [rdi + 8]
mov qword [rdx], rax
mov r8, qword [rax + 8]
mov qword [r8], r12
mov qword [rax + 8], rdx
mov qword [rdi + 8], rcx
mov qword [r12 + 8], r8
jmp 0x14047f413
mov rax, qword [r12 + 8]
mov qword [rax], rdi
mov rcx, qword [rdi + 8]
mov qword [rcx], rbx
mov rdx, qword [rbx + 8]
mov qword [rdx], r12
mov qword [rbx + 8], rcx
mov qword [rdi + 8], rax
mov qword [r12 + 8], rdx
mov qword [rsi], r12
mov rbx, qword [rsp + 0x58]
jmp 0x14047f1b7
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 1
xor edx, edx
mov r8d, 0x633b4d1f
mov r9d, 0xa12b3de3
call fcn.14048ae30
mov rcx, rax
call fcn.1404eb9b4
int3