Function at 0x140056080
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1400560a0
call fcn.1401c4280
mov qword [rsi + 0x18], 0
mov rdi, qword [rsi + 0x38]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400560c8
nop dword [rax]
lea rdx, [rbx + 0x18]
mov rcx, qword [0x14069e990]
call fcn.1401d27b0
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1400560b0
mov rax, qword [rsi + 0x40]
test rax, rax
je 0x1400561bc
mov r8, qword [rsi + 0x38]
mov rcx, qword [rsi + 0x68]
shr rcx, 3
cmp rcx, rax
jbe 0x1400560f7
lea rcx, [rsi + 0x30]
mov rdx, qword [r8]
call 0x140056300
jmp 0x1400561bc
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rcx, qword [r8]
test rcx, rcx
je 0x140056125
nop word [rax + rax]
mov rdi, qword [rcx]
mov edx, 0x60
call fcn.14015511c
mov rcx, rdi
test rdi, rdi
jne 0x140056110
mov rax, qword [rsi + 0x38]
mov qword [rax], rax
mov rax, qword [rsi + 0x38]
mov qword [rax + 8], rax
mov qword [rsi + 0x40], 0
mov rdx, qword [rsi + 0x48]
mov rax, qword [rsi + 0x50]
cmp rdx, rax
je 0x1400561bc
mov rcx, qword [rsi + 0x38]
mov r9, rax
sub r9, rdx
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jae 0x140056162
mov r8, rdx
jmp 0x1400561b0
shr r9, 3
inc r9
mov r10, r9
and r10, 0xfffffffffffffffc
lea r8, [rdx + r10*8]
movq xmm0, rcx
pshufd xmm0, xmm0, 0x44
xor r11d, r11d
nop word cs:[rax + rax]
movdqu xmmword [rdx + r11*8], xmm0
movdqu xmmword [rdx + r11*8 + 0x10], xmm0
add r11, 4
cmp r10, r11
jne 0x140056190
cmp r9, r10
je 0x1400561bc
nop dword [rax + rax]
mov qword [r8], rcx
add r8, 8
cmp r8, rax
jne 0x1400561b0
mov rdi, qword [rsi + 0x78]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400561e8
nop dword [rax + rax]
lea rdx, [rbx + 0x18]
mov rcx, qword [0x14069e990]
call fcn.1401d27b0
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1400561d0
mov rax, qword [rsi + 0x80]
test rax, rax
je 0x1400562ec
mov r8, qword [rsi + 0x78]
mov rcx, qword [rsi + 0xa8]
shr rcx, 3
cmp rcx, rax
jbe 0x140056222
add rsi, 0x70
mov rdx, qword [r8]
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp 0x140056300
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rcx, qword [r8]
test rcx, rcx
je 0x140056255
nop word cs:[rax + rax]
mov rdi, qword [rcx]
mov edx, 0x60
call fcn.14015511c
mov rcx, rdi
test rdi, rdi
jne 0x140056240
mov rax, qword [rsi + 0x78]
mov qword [rax], rax
mov rax, qword [rsi + 0x78]
mov qword [rax + 8], rax
mov qword [rsi + 0x80], 0
mov rdx, qword [rsi + 0x88]
mov rax, qword [rsi + 0x90]
cmp rdx, rax
je 0x1400562ec
mov rcx, qword [rsi + 0x78]
mov r9, rax
sub r9, rdx
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jae 0x14005629b
mov r8, rdx
jmp 0x1400562e0
shr r9, 3
inc r9
mov r10, r9
and r10, 0xfffffffffffffffc
lea r8, [rdx + r10*8]
movq xmm0, rcx
pshufd xmm0, xmm0, 0x44
xor r11d, r11d
nop word [rax + rax]
movdqu xmmword [rdx + r11*8], xmm0
movdqu xmmword [rdx + r11*8 + 0x10], xmm0
add r11, 4
cmp r10, r11
jne 0x1400562c0
cmp r9, r10
je 0x1400562ec
nop dword [rax + rax]
mov qword [r8], rcx
add r8, 8
cmp r8, rax
jne 0x1400562e0
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 rbx, rdx
cmp rdx, r8
je 0x1400563ed
mov rsi, r8
mov rdi, rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x30], rax
mov rdx, qword [rcx + 0x18]
movzx eax, byte [rbx + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r8, 0x100000001b3
imul rax, r8
movzx ecx, byte [rbx + 0x11]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbx + 0x12]
xor rax, rcx
imul rax, r8
movzx ecx, byte [rbx + 0x13]
xor rcx, rax
imul rcx, r8
and rcx, qword [rdi + 0x30]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x38], rax
lea rax, [rcx + rcx]
lea r8, [rcx*2 + 1]
mov qword [rsp + 0x40], r8
shl rcx, 4
lea rbp, [rdx + rcx]
mov r13, qword [rdx + rcx]
mov qword [rsp + 0x28], rdx
mov r12, qword [rdx + rax*8 + 8]
mov r15, rbx
jmp 0x1400563b5
cmp r15, rsi
je 0x1400563df
mov r14, r15
mov r15, qword [r15]
mov edx, 0x60
mov rcx, r14
call fcn.14015511c
dec qword [rdi + 0x10]
cmp r14, r12
je 0x140056404
cmp r15, rsi
jne 0x1400563b0
cmp r13, rbx
jne 0x1400563b0
mov qword [rbp], rsi
mov rax, qword [rsp + 0x38]
mov qword [rax], rsi
mov qword [rsi + 8], rax
jmp 0x1400563f0
mov rsi, rbx
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x38]
cmp r13, rbx
jne 0x140056417
mov rax, qword [rsp + 0x30]
mov qword [rbp], rax
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
mov qword [rcx + rdx*8], rax
cmp r15, rsi
je 0x1400563df
movzx eax, byte [r15 + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs rdx, 0x100000001b3
imul rax, rdx
movzx ecx, byte [r15 + 0x11]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [r15 + 0x12]
xor rax, rcx
imul rax, rdx
movzx ebp, byte [r15 + 0x13]
xor rbp, rax
imul rbp, rdx
and rbp, qword [rdi + 0x30]
lea rax, [rbp*2]
lea r14, [rbp*2 + 1]
shl rbp, 4
mov rcx, qword [rsp + 0x28]
add rbp, rcx
mov r12, qword [rcx + rax*8 + 8]
nop word cs:[rax + rax]
mov rbx, r15
mov r15, qword [r15]
mov edx, 0x60
mov rcx, rbx
call fcn.14015511c
dec qword [rdi + 0x10]
cmp rbx, r12
je 0x1400564c6
cmp r15, rsi
jne 0x1400564a0
jmp 0x1400563db
mov rax, qword [rsp + 0x30]
mov qword [rbp], rax
mov rcx, qword [rsp + 0x28]
mov qword [rcx + r14*8], rax
cmp r15, rsi
jne 0x14005642a
jmp 0x1400563df