Function at 0x1401c6950
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x140a23bc8]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov eax, dword [rbp + 0x80]
xor edi, edi
mov r14, r9
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x70], r9
mov r9, r8
mov qword [rbp - 0x60], r8
mov rsi, rcx
mov qword [rbp - 0x58], rdx
mov r13d, edi
mov dword [rsp + 0x58], edi
mov r12d, edi
mov dword [rsp + 0x34], edi
mov dword [rcx + 0x1a8], eax
mov dword [rcx + 0x1ac], r14d
test r14d, r14d
je 0x1401c6a06
lea eax, [r14 + r14]
add rcx, 0x1e0
mov r8, rcx
mov edx, eax
mov ebx, eax
call fcn.1401c64c0
lea rcx, [rsi + 0x1f8]
mov edx, ebx
mov r8, rcx
call fcn.1401c64c0
lea rcx, [rsi + 0x210]
mov edx, ebx
mov r8, rcx
call fcn.1401c64c0
lea rcx, [rsi + 0x228]
mov edx, ebx
mov r8, rcx
call fcn.1401c64c0
mov r9, qword [rbp - 0x60]
mov qword [rsp + 0x118], r15
mov ecx, edi
mov dword [rsp + 0x38], ecx
movaps xmmword [rsp + 0x100], xmm6
test r14, r14
je 0x1401c711b
mov rax, rdi
lea r8, [rsi + 0x120]
movabs rdi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
mov rdx, qword [r8 + 0x30]
lea rax, [rax + rax*2]
mov r15d, dword [r9 + rax*4 + 8]
lea r11, [r9 + rax*4]
mov eax, dword [r9 + rax*4 + 4]
lea r14, [r8 + 8]
mov dword [rbp - 0x20], ecx
movzx ecx, byte [r11]
xor rcx, rdi
mov dword [rbp - 0x1c], eax
movzx eax, byte [r11 + 1]
movsd xmm6, qword [rbp - 0x20]
imul rcx, rbx
mov dword [rbp - 0x18], r15d
xor rcx, rax
mov qword [rbp - 0x68], r11
movzx eax, byte [r11 + 2]
imul rcx, rbx
xor rcx, rax
movzx eax, byte [r11 + 3]
imul rcx, rbx
xor rcx, rax
imul rcx, rbx
and rdx, rcx
mov rcx, qword [r8 + 0x18]
mov r8, qword [r14]
add rdx, rdx
mov r9, qword [rcx + rdx*8]
lea r10, [rcx + rdx*8]
mov rax, r9
cmp r9, r8
jne 0x1401c6ac1
mov rcx, r8
jmp 0x1401c6ac8
mov rcx, qword [r10 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401c6aec
mov ecx, dword [r11]
cmp dword [rax + 0x10], ecx
je 0x1401c6ada
mov rax, qword [rax]
jmp 0x1401c6ab7
cmp rax, r8
je 0x1401c6aec
mov qword [rbp - 0x50], rax
mov byte [rbp - 0x48], 0
jmp 0x1401c6b80
mov rbx, qword [r8]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea r9, [0x1401f5688]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x40], r11
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rdi, qword [rbx + 8]
mov rcx, r14
mov r8, rdi
call fcn.1401c5a20
mov rdx, qword [r14 + 8]
mov rcx, rax
movabs rax, 0x7fffffffffffffe
sub rax, rdx
cmp rax, 1
jb 0x1401c7527
lea rax, [rdx + 1]
mov qword [r14 + 8], rax
lea rdx, [rbp - 0x50]
mov qword [rbx + 8], rcx
mov qword [rdi], rcx
lea rcx, [rsi + 0x120]
mov r9, qword [r14]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
call fcn.1401c5e90
mov rax, qword [rbp - 0x50]
movabs rbx, 0x100000001b3
movabs rdi, 0xcbf29ce484222325
movsd qword [rax + 0x14], xmm6
mov dword [rax + 0x1c], r15d
movzx eax, byte [rbp - 0x1b]
movzx edx, byte [rbp - 0x1c]
mov rcx, qword [rsi + 0x50]
xor rdx, rdi
mov r8, qword [rsi + 0x28]
mov r10d, dword [rbp - 0x1c]
imul rdx, rbx
xor rdx, rax
movzx eax, byte [rbp - 0x1a]
imul rdx, rbx
xor rdx, rax
movzx eax, byte [rbp - 0x19]
imul rdx, rbx
xor rdx, rax
mov rax, qword [rsi + 0x38]
imul rdx, rbx
and rcx, rdx
add rcx, rcx
mov r9, qword [rax + rcx*8]
lea r11, [rax + rcx*8]
mov rdx, r9
cmp r9, r8
jne 0x1401c6be0
mov rax, r8
jmp 0x1401c6be7
mov rax, qword [r11 + 8]
mov rax, qword [rax]
cmp rdx, rax
je 0x1401c6bf7
cmp dword [rdx + 0x10], r10d
je 0x1401c6bfa
mov rdx, qword [rdx]
jmp 0x1401c6bd6
mov rdx, r8
cmp rdx, r8
jne 0x1401c6d40
mov rax, qword [rsi + 0x228]
mov r12d, r13d
mov ecx, r13d
inc r13d
mov dword [rsp + 0x58], r13d
mov dword [rax + rcx*4], r10d
movzx eax, byte [rbp - 0x1b]
movzx ecx, byte [rbp - 0x1c]
mov rdx, qword [rsi + 0x50]
xor rcx, rdi
mov r8, qword [rsi + 0x28]
imul rcx, rbx
xor rcx, rax
movzx eax, byte [rbp - 0x1a]
imul rcx, rbx
xor rcx, rax
movzx eax, byte [rbp - 0x19]
imul rcx, rbx
xor rcx, rax
imul rcx, rbx
and rdx, rcx
mov rcx, qword [rsi + 0x38]
add rdx, rdx
mov r9, qword [rcx + rdx*8]
lea r10, [rcx + rdx*8]
mov edx, dword [rbp - 0x1c]
mov rax, r9
cmp r9, r8
jne 0x1401c6c72
mov rcx, r8
jmp 0x1401c6c79
mov rcx, qword [r10 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401c6c9a
cmp dword [rax + 0x10], edx
je 0x1401c6c88
mov rax, qword [rax]
jmp 0x1401c6c68
cmp rax, r8
je 0x1401c6c9a
mov qword [rbp - 0x40], rax
mov byte [rbp - 0x38], 0
jmp 0x1401c6d31
mov rbx, qword [r8]
lea rax, [rbp - 0x1c]
mov qword [rsp + 0x40], rax
lea r9, [0x1401f5688]
lea rax, [rsp + 0x49]
mov rdx, rbx
mov qword [rsp + 0x28], rax
lea rcx, [rsi + 0x28]
mov rdi, qword [rbx + 8]
lea rax, [rsp + 0x40]
mov r8, rdi
mov qword [rsp + 0x20], rax
call fcn.1401c59e0
mov r8, qword [rsi + 0x30]
mov rdx, rax
movabs rax, 0xaaaaaaaaaaaaaa9
sub rax, r8
cmp rax, 1
jb 0x1401c7527
lea rax, [r8 + 1]
mov qword [rsi + 0x30], rax
lea rcx, [rsi + 0x20]
mov qword [rbx + 8], rdx
mov qword [rdi], rdx
lea rdx, [rbp - 0x40]
mov r9, qword [rsi + 0x28]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
call fcn.1401c5c70
mov rax, qword [rbp - 0x40]
movabs rbx, 0x100000001b3
movabs rdi, 0xcbf29ce484222325
mov dword [rax + 0x14], r12d
mov r12d, dword [rsp + 0x34]
nop word [rax + rax]
movzx eax, byte [rbp - 0x17]
movzx ecx, byte [rbp - 0x18]
mov rdx, qword [rsi + 0x90]
xor rcx, rdi
mov r8, qword [rsi + 0x68]
imul rcx, rbx
xor rcx, rax
movzx eax, byte [rbp - 0x16]
imul rcx, rbx
xor rcx, rax
movzx eax, byte [rbp - 0x15]
imul rcx, rbx
xor rcx, rax
mov rax, qword [rsi + 0x78]
imul rcx, rbx
and rdx, rcx
add rdx, rdx
mov r9, qword [rax + rdx*8]
lea r10, [rax + rdx*8]
mov edx, dword [rbp - 0x18]
mov rcx, r9
nop
cmp r9, r8
jne 0x1401c6d9a
mov rax, r8
jmp 0x1401c6da1
mov rax, qword [r10 + 8]
mov rax, qword [rax]
cmp rcx, rax
je 0x1401c6db0
cmp dword [rcx + 0x10], edx
je 0x1401c6db3
mov rcx, qword [rcx]
jmp 0x1401c6d90
mov rcx, r8
cmp rcx, r8
jne 0x1401c6e75
inc dword [rsp + 0x34]
lea r8, [rbp - 0x18]
lea rdx, [rsp + 0x60]
lea rcx, [rsi + 0x60]
call fcn.1401c7bc0
mov rcx, qword [rsi + 0x68]
mov rax, qword [rsp + 0x60]
cmp rax, rcx
jne 0x1401c6e69
mov r14, qword [rcx]
lea rax, [rbp - 0x18]
mov qword [rsp + 0x40], rax
lea r9, [0x1401f5688]
lea rax, [rsp + 0x4a]
mov rdx, r14
mov qword [rsp + 0x28], rax
lea rcx, [rsi + 0x68]
mov r15, qword [r14 + 8]
lea rax, [rsp + 0x40]
mov r8, r15
mov qword [rsp + 0x20], rax
call fcn.1401c59e0
mov rdx, qword [rsi + 0x70]
mov rcx, rax
movabs rax, 0xaaaaaaaaaaaaaa9
sub rax, rdx
cmp rax, 1
jb 0x1401c7527
lea rax, [rdx + 1]
mov qword [rsi + 0x70], rax
lea rdx, [rbp - 0x30]
mov qword [r14 + 8], rcx
mov qword [r15], rcx
lea rcx, [rsi + 0x60]
mov r9, qword [rsi + 0x68]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
call fcn.1401c5c70
mov rax, qword [rbp - 0x30]
jmp 0x1401c6e71
mov qword [rbp - 0x30], rax
mov byte [rbp - 0x28], 0
mov dword [rax + 0x14], r12d
mov rcx, qword [rsi + 0x168]
movabs r14, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsi + 0x160]
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r13d
cmp rdx, rax
jae 0x1401c6ec4
lea edx, [r13*2]
lea r8, [rsi + 0x160]
lea rcx, [rsi + 0x160]
call fcn.1401c6310
mov rcx, qword [rsi + 0x180]
mov rax, r14
sub rcx, qword [rsi + 0x178]
imul rcx
mov ecx, dword [rsp + 0x34]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, rcx
jae 0x1401c6f05
lea edx, [rcx + rcx]
lea rcx, [rsi + 0x178]
lea r8, [rsi + 0x178]
call fcn.1401c6310
lea r8, [rbp - 0x1c]
lea rdx, [rsp + 0x68]
lea rcx, [rsi + 0x20]
call fcn.1401c7bc0
mov rax, qword [rsp + 0x68]
mov r13, qword [rsi + 0x28]
cmp rax, r13
jne 0x1401c6fb2
mov r13, qword [r13]
lea rax, [rbp - 0x1c]
mov qword [rsp + 0x40], rax
lea r9, [0x1401f5688]
lea rax, [rsp + 0x30]
mov rdx, r13
mov qword [rsp + 0x28], rax
lea rcx, [rsi + 0x28]
mov r12, qword [r13 + 8]
lea rax, [rsp + 0x40]
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.1401c59e0
mov rdx, qword [rsi + 0x30]
mov rcx, rax
movabs rax, 0xaaaaaaaaaaaaaa9
sub rax, rdx
cmp rax, 1
jb 0x1401c7527
lea rax, [rdx + 1]
mov qword [rsi + 0x30], rax
lea rdx, [rsp + 0x78]
mov qword [r13 + 8], rcx
mov qword [r12], rcx
lea rcx, [rsi + 0x20]
mov r9, qword [rsi + 0x28]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
call fcn.1401c5c70
mov rax, qword [rsp + 0x78]
jmp 0x1401c6fbb
mov qword [rsp + 0x78], rax
mov byte [rbp - 0x80], 0
mov ecx, dword [rax + 0x14]
mov rax, qword [rsi + 0x160]
mov r13, qword [rbp - 0x68]
lea rdx, [rcx + rcx*2]
lea rcx, [rax + rdx*8]
mov rdx, qword [rax + rdx*8 + 8]
cmp qword [rcx + 0x10], rdx
je 0x1401c6fe9
mov eax, dword [r13]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x1401c6ff1
mov r8, r13
call fcn.140063080
lea r8, [rbp - 0x18]
lea rdx, [rsp + 0x50]
lea rcx, [rsi + 0x60]
call fcn.1401c7bc0
mov rax, qword [rsp + 0x50]
mov r15, qword [rsi + 0x68]
cmp rax, r15
jne 0x1401c709b
mov r15, qword [r15]
lea rax, [rbp - 0x18]
mov qword [rsp + 0x40], rax
lea r9, [0x1401f5688]
lea rax, [rsp + 0x31]
mov rdx, r15
mov qword [rsp + 0x28], rax
lea rcx, [rsi + 0x68]
mov r12, qword [r15 + 8]
lea rax, [rsp + 0x40]
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.1401c59e0
mov rdx, qword [rsi + 0x70]
mov rcx, rax
movabs rax, 0xaaaaaaaaaaaaaa9
sub rax, rdx
cmp rax, 1
jb 0x1401c7527
lea rax, [rdx + 1]
mov qword [rsi + 0x70], rax
lea rdx, [rbp - 0x78]
mov qword [r15 + 8], rcx
mov qword [r12], rcx
lea rcx, [rsi + 0x60]
mov r9, qword [rsi + 0x68]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
call fcn.1401c5c70
mov rax, qword [rbp - 0x78]
jmp 0x1401c70a3
mov qword [rbp - 0x78], rax
mov byte [rbp - 0x70], 0
mov ecx, dword [rax + 0x14]
mov rax, qword [rsi + 0x178]
lea rdx, [rcx + rcx*2]
lea rcx, [rax + rdx*8]
mov rdx, qword [rax + rdx*8 + 8]
cmp qword [rcx + 0x10], rdx
je 0x1401c70cd
mov eax, dword [r13]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x1401c70d5
mov r8, r13
call fcn.140063080
mov ecx, dword [rsp + 0x38]
lea r8, [rsi + 0x120]
mov r13d, dword [rsp + 0x58]
inc ecx
mov r12d, dword [rsp + 0x34]
movabs rbx, 0x100000001b3
mov r9, qword [rbp - 0x60]
movabs rdi, 0xcbf29ce484222325
mov eax, ecx
mov dword [rsi + 0x18], r13d
mov dword [rsp + 0x38], ecx
cmp rax, qword [rsp + 0x70]
jb 0x1401c6a43
xor edi, edi
mov rcx, qword [rsi + 0x68]
mov rax, qword [rcx]
cmp rax, rcx
je 0x1401c714e
nop word [rax + rax]
mov r9d, dword [rax + 0x14]
add r9d, dword [rsi + 0x18]
mov edx, dword [rax + 0x10]
mov r8, qword [rsi + 0x228]
mov dword [r8 + r9*4], edx
mov rax, qword [rax]
cmp rax, rcx
jne 0x1401c7130
mov edx, edi
test r13d, r13d
je 0x1401c72a5
cmp r13d, 0x10
jb 0x1401c726c
movdqa xmm2, xmmword [0x140203760]
lea eax, [r13 - 1]
mov ecx, eax
lea r10, [rsi + 0x1e0]
mov r8, qword [r10]
lea r11, [rsi + 0x1f8]
mov r9, qword [r11]
lea rcx, [r8 + rcx*4]
lea rax, [r9 + rax*4]
cmp r9, rcx
ja 0x1401c719b
cmp rax, r8
jae 0x1401c726c
cmp r9, r10
ja 0x1401c71a9
cmp rax, r10
jae 0x1401c726c
cmp r9, r11
ja 0x1401c71b7
cmp rax, r11
jae 0x1401c726c
cmp r8, r10
ja 0x1401c71c5
cmp rcx, r10
jae 0x1401c726c
cmp r8, r11
ja 0x1401c71d3
cmp rcx, r11
jae 0x1401c726c
mov r11d, r13d
and r11d, 0xfffffff0
movdqa xmm1, xmmword [0x1402318b0]
mov r10d, 8
nop dword [rax + rax]
lea ecx, [r10 - 4]
mov eax, r10d
movdqu xmmword [r9 + rdx*4], xmm1
movdqu xmmword [r9 + rcx*4], xmm1
movd xmm0, edx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movdqu xmmword [r8 + rdx*4], xmm0
add edx, 0x10
movd xmm0, ecx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movdqu xmmword [r8 + rcx*4], xmm0
lea ecx, [r10 + 4]
movd xmm0, r10d
add r10d, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movdqu xmmword [r8 + rax*4], xmm0
movd xmm0, ecx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movdqu xmmword [r9 + rax*4], xmm1
movdqu xmmword [r8 + rcx*4], xmm0
movdqu xmmword [r9 + rcx*4], xmm1
cmp edx, r11d
jb 0x1401c71f0
cmp edx, r13d
jae 0x1401c72a5
mov eax, edx
lea rcx, [rax*4]
nop dword [rax + rax]
mov rax, qword [rsi + 0x1e0]
lea rcx, [rcx + 4]
mov dword [rcx + rax - 4], edx
inc edx
mov rax, qword [rsi + 0x1f8]
mov dword [rcx + rax - 4], 1
cmp edx, r13d
jb 0x1401c7280
test r12d, r12d
je 0x1401c72dc
nop word [rax + rax]
mov ecx, dword [rsi + 0x18]
mov rax, qword [rsi + 0x1e0]
add ecx, edi
inc edi
lea rdx, [rcx*4]
mov dword [rdx + rax], ecx
mov rax, qword [rsi + 0x1f8]
mov dword [rdx + rax], 1
cmp edi, r12d
jb 0x1401c72b0
mov rdi, qword [rsi + 0x128]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1401c7493
lea r13, [rsi + 0x20]
lea r15, [r13 + 8]
nop word [rax + rax]
lea r14, [rbx + 0x18]
mov rcx, r13
mov r8, r14
lea rdx, [rsp + 0x70]
call fcn.1401c7bc0
mov rcx, qword [r15]
mov rax, qword [rsp + 0x70]
cmp rax, rcx
jne 0x1401c73a0
mov qword [rsp + 0x50], r14
lea rax, [rsp + 0x31]
mov r14, qword [rcx]
lea r9, [0x1401f5688]
mov qword [rsp + 0x28], rax
mov rdx, r14
lea rax, [rsp + 0x50]
mov rcx, r15
mov qword [rsp + 0x20], rax
mov r12, qword [r14 + 8]
mov r8, r12
call fcn.1401c59e0
mov rdx, qword [r15 + 8]
mov rcx, rax
movabs rax, 0xaaaaaaaaaaaaaa9
sub rax, rdx
cmp rax, 1
jb 0x1401c751a
lea rax, [rdx + 1]
mov qword [r15 + 8], rax
lea rdx, [rbp - 0x78]
mov qword [r14 + 8], rcx
mov qword [r12], rcx
mov rcx, r13
mov r9, qword [r15]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
call fcn.1401c5c70
mov rax, qword [rbp - 0x78]
jmp 0x1401c73a8
mov qword [rbp - 0x78], rax
mov byte [rbp - 0x70], 0
mov eax, dword [rax + 0x14]
lea r12, [rbx + 0x1c]
mov r8, r12
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x68]
lea rcx, [rsi + 0x60]
call fcn.1401c7bc0
mov rcx, qword [rsi + 0x68]
mov rax, qword [rsp + 0x68]
cmp rax, rcx
jne 0x1401c7465
mov qword [rsp + 0x50], r12
lea r9, [0x1401f5688]
mov r12, qword [rcx]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], rcx
mov rdx, r12
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
lea rcx, [rsi + 0x68]
mov rax, qword [r12 + 8]
mov r8, rax
mov qword [rsp + 0x60], rax
call fcn.1401c59e0
mov rdx, qword [rsi + 0x70]
mov rcx, rax
movabs rax, 0xaaaaaaaaaaaaaa9
sub rax, rdx
cmp rax, 1
jb 0x1401c751a
lea rax, [rdx + 1]
mov qword [rsi + 0x70], rax
lea rdx, [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov qword [r12 + 8], rcx
mov qword [rax], rcx
lea rcx, [rsi + 0x60]
mov r9, qword [rsi + 0x68]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
call fcn.1401c5c70
mov rax, qword [rsp + 0x78]
jmp 0x1401c746e
mov qword [rsp + 0x78], rax
mov byte [rbp - 0x80], 0
mov r8d, dword [rsi + 0x18]
mov rcx, rsi
add r8d, dword [rax + 0x14]
mov edx, dword [rsp + 0x38]
call fcn.1401c7cd0
mov rbx, qword [rbx]
cmp rbx, rdi
je 0x1401c7493
lea r13, [rsi + 0x20]
jmp 0x1401c7300
cmp byte [rbp + 0x88], 0
jne 0x1401c74a5
lea rdx, [rsi + 0x1b0]
jmp 0x1401c74df
lea rcx, [rsi + 0x1c8]
call fcn.1401c7710
mov rdi, qword [rsi + 0x1b8]
mov rbx, qword [rsi + 0x1b0]
cmp rbx, rdi
je 0x1401c74d8
mov rdx, rbx
mov rcx, rsi
call fcn.1401c7de0
add rbx, 0x18
cmp rbx, rdi
jne 0x1401c74c4
lea rdx, [rsi + 0x1c8]
mov rcx, qword [rbp - 0x58]
call fcn.1401c6840
mov rax, qword [rbp - 0x58]
movaps xmm6, xmmword [rsp + 0x100]
mov r15, qword [rsp + 0x118]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401777c0
add rsp, 0x120
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.list_T__too_long
call fcn.140155cc8
int3
lea rcx, str.list_T__too_long
call fcn.140155cc8
int3