Function at 0x14012fe60
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14012ffcc
mov rsi, rcx
mov r8, qword [rcx + 8]
mov rcx, qword [rcx + 0x38]
shr rcx, 3
cmp rcx, rax
jbe 0x14012fe9a
mov rdx, qword [r8]
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp 0x1401301e0
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rdi, qword [r8]
test rdi, rdi
je 0x14012fed1
nop dword [rax]
mov rbx, qword [rdi]
lea rcx, [rdi + 0x10]
call fcn.140130440
mov edx, 0x58
mov rcx, rdi
call fcn.140141034
mov rdi, rbx
test rbx, rbx
jne 0x14012feb0
mov rax, qword [rsi + 8]
mov qword [rax], rax
mov rax, qword [rsi + 8]
mov qword [rax + 8], rax
mov qword [rsi + 0x10], 0
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x20]
cmp rax, rcx
je 0x14012ffcc
mov rdx, qword [rsi + 8]
mov r9, rcx
sub r9, rax
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jb 0x14012ffc0
shr r9, 3
inc r9
mov r8, r9
and r8, 0xfffffffffffffffc
movq xmm0, rdx
pshufd xmm0, xmm0, 0x44
lea rbx, [r8 - 4]
mov rsi, rbx
shr rsi, 2
inc rsi
mov r10d, esi
and r10d, 3
cmp rbx, 0xc
jae 0x14012ff48
xor edi, edi
jmp 0x14012ff89
and rsi, 0xfffffffffffffffc
xor edi, edi
nop
movdqu xmmword [rax + rdi*8], xmm0
movdqu xmmword [rax + rdi*8 + 0x10], xmm0
movdqu xmmword [rax + rdi*8 + 0x20], xmm0
movdqu xmmword [rax + rdi*8 + 0x30], xmm0
movdqu xmmword [rax + rdi*8 + 0x40], xmm0
movdqu xmmword [rax + rdi*8 + 0x50], xmm0
movdqu xmmword [rax + rdi*8 + 0x60], xmm0
movdqu xmmword [rax + rdi*8 + 0x70], xmm0
add rdi, 0x10
add rsi, 0xfffffffffffffffc
jne 0x14012ff50
test r10, r10
je 0x14012ffb4
lea rdi, [rax + rdi*8]
add rdi, 0x10
shl r10, 5
xor esi, esi
nop dword [rax]
movdqu xmmword [rdi + rsi - 0x10], xmm0
movdqu xmmword [rdi + rsi], xmm0
add rsi, 0x20
cmp r10, rsi
jne 0x14012ffa0
cmp r9, r8
je 0x14012ffcc
lea rax, [rax + r8*8]
nop dword [rax]
mov qword [rax], rdx
add rax, 8
cmp rax, rcx
jne 0x14012ffc0
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r12, rdx
cmp rdx, r8
je 0x140130310
mov rsi, r8
mov r14, rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x28], rax
mov rdx, qword [rcx + 0x18]
mov rax, qword [r12 + 8]
mov qword [rsp + 0x30], rax
movzx eax, byte [r12 + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs rbp, 0x100000001b3
imul rax, rbp
movzx ecx, byte [r12 + 0x11]
xor rcx, rax
imul rcx, rbp
movzx eax, byte [r12 + 0x12]
xor rax, rcx
imul rax, rbp
movzx ecx, byte [r12 + 0x13]
xor rcx, rax
imul rcx, rbp
movzx eax, byte [r12 + 0x14]
xor rax, rcx
imul rax, rbp
movzx ecx, byte [r12 + 0x15]
xor rcx, rax
imul rcx, rbp
movzx eax, byte [r12 + 0x16]
xor rax, rcx
imul rax, rbp
movzx ecx, byte [r12 + 0x17]
xor rcx, rax
imul rcx, rbp
and rcx, qword [r14 + 0x30]
lea rax, [rcx + rcx]
lea rbp, [rcx + rcx]
inc rbp
mov qword [rsp + 0x40], rbp
shl rcx, 4
lea r15, [rdx + rcx]
mov rcx, qword [rdx + rcx]
mov qword [rsp + 0x38], rcx
cmp rcx, r12
setne bpl
mov qword [rsp + 0x20], rdx
mov r13, qword [rdx + rax*8 + 8]
mov rbx, r12
nop
mov rdi, rbx
mov rbx, qword [rbx]
lea rcx, [rdi + 0x10]
call fcn.140130440
mov edx, 0x58
mov rcx, rdi
call fcn.140141034
dec qword [r14 + 0x10]
cmp rdi, r13
je 0x140130318
cmp rbx, rsi
setne al
or al, bpl
cmp al, 1
jne 0x140130418
cmp rbx, rsi
jne 0x1401302d0
jmp 0x14013041b
mov rsi, r12
jmp 0x140130427
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], r12
jne 0x14013032c
mov rax, qword [rsp + 0x28]
mov qword [r15], rax
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x40]
mov qword [rcx + rdx*8], rax
cmp rbx, rsi
je 0x14013041b
movzx eax, byte [rbx + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs rdx, 0x100000001b3
imul rax, rdx
movzx ecx, byte [rbx + 0x11]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x12]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [rbx + 0x13]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x14]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [rbx + 0x15]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x16]
xor rax, rcx
imul rax, rdx
movzx r15d, byte [rbx + 0x17]
xor r15, rax
imul r15, rdx
and r15, qword [r14 + 0x30]
lea rax, [r15 + r15]
lea r12, [r15 + r15]
inc r12
shl r15, 4
mov rcx, qword [rsp + 0x20]
add r15, rcx
mov rbp, qword [rcx + rax*8 + 8]
mov rdi, rbx
mov rbx, qword [rbx]
lea rcx, [rdi + 0x10]
call fcn.140130440
mov edx, 0x58
mov rcx, rdi
call fcn.140141034
dec qword [r14 + 0x10]
cmp rdi, rbp
je 0x1401303fc
cmp rbx, rsi
jne 0x1401303d0
jmp 0x140130418
mov rax, qword [rsp + 0x28]
mov qword [r15], rax
mov rcx, qword [rsp + 0x20]
mov qword [rcx + r12*8], rax
cmp rbx, rsi
jne 0x140130343
jmp 0x14013041b
mov qword [r15], rsi
mov rax, qword [rsp + 0x30]
mov qword [rax], rsi
mov qword [rsi + 8], rax
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret