Function at 0x1401ca2f0
Capabilities:
Hash data using fnv

Disassembly:
test r8d, r8d
je 0x1401ca8d4
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov qword [rbp - 0x19], 0xfffffffffffffffe
mov rax, rcx
xor ecx, ecx
mov dword [rbp - 0x71], ecx
lea r10, [rax + 0x100]
mov qword [rbp - 0x41], r10
add rax, 8
mov qword [rbp - 0x51], rax
movzx esi, byte [rbp + 0x77]
movzx r14d, byte [rbp + 0x77]
movzx r15d, byte [rbp + 0x77]
movzx ebx, byte [rbp + 0x77]
movzx r12d, byte [rbp + 0x77]
movzx edi, byte [rbp + 0x77]
nop
lea r13, [rdx + rcx*8]
mov eax, dword [r13]
shr eax, 1
mov dword [rbp - 0x79], eax
mov rax, qword [r13]
shr rax, 0x21
add eax, 0x20000000
mov dword [rsp + 0x38], eax
movzx r9d, sil
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x11]
mov rcx, r10
call fcn.1401c8d20
movzx r9d, r14b
lea r8, [rsp + 0x38]
lea rdx, [rbp - 1]
mov rcx, qword [rbp - 0x41]
call fcn.1401c8d20
mov eax, dword [rbp - 0x79]
mov r8d, eax
mov dword [rsp + 0x30], eax
mov r9d, dword [rsp + 0x38]
mov dword [rsp + 0x34], r9d
movabs rcx, 0x100000001
test qword [r13], rcx
je 0x1401ca3e0
mov r8d, r9d
mov dword [rsp + 0x30], r9d
mov r9d, eax
mov dword [rsp + 0x34], eax
nop dword [rax + rax]
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsp + 0x31]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x32]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x33]
xor rdx, rax
imul rdx, rcx
mov rax, qword [rbp + 0x67]
mov rcx, qword [rax + 0x30]
and rcx, rdx
shl rcx, 4
mov r11, qword [rax + 0x18]
mov r10, qword [r11 + rcx]
mov rax, r10
lea r13, [rcx + 8]
mov rcx, qword [rbp - 0x51]
mov rdx, qword [rcx]
cmp r10, rdx
jne 0x1401ca452
mov rcx, rdx
jmp 0x1401ca459
mov rcx, qword [r11 + r13]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401ca498
cmp dword [rax + 0x10], r8d
je 0x1401ca469
mov rax, qword [rax]
jmp 0x1401ca448
cmp rax, rdx
je 0x1401ca498
lea rcx, [rax + 0x18]
mov rdx, qword [rcx + 8]
cmp qword [rcx + 0x10], rdx
je 0x1401ca489
mov dword [rdx], r9d
add qword [rcx + 8], 4
jmp 0x1401ca655
lea r8, [rsp + 0x34]
call fcn.1401c84c0
jmp 0x1401ca655
mov dword [rsp + 0x38], r9d
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], 0
movzx r9d, r15b
lea r8, [rbp - 0x7d]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x69]
call fcn.140065250
nop
movzx edx, byte [rsp + 0x30]
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsp + 0x31]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x32]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x33]
xor rdx, rax
imul rdx, rcx
mov rax, qword [rbp + 0x67]
mov rcx, qword [rax + 0x30]
and rcx, rdx
shl rcx, 4
mov r9, qword [rax + 0x18]
mov r8, qword [r9 + rcx]
mov rax, r8
lea r10, [rcx + 8]
mov r11, qword [rbp - 0x51]
mov rdx, qword [r11]
nop dword [rax]
cmp r8, rdx
jne 0x1401ca53a
mov rcx, rdx
jmp 0x1401ca541
mov rcx, qword [r10 + r9]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401ca566
mov ecx, dword [rsp + 0x30]
cmp dword [rax + 0x10], ecx
je 0x1401ca554
mov rax, qword [rax]
jmp 0x1401ca530
cmp rax, rdx
je 0x1401ca566
mov qword [rbp - 0x39], rax
mov byte [rbp - 0x31], 0
jmp 0x1401ca5ee
lea rax, [rsp + 0x30]
mov qword [rbp - 0x79], rax
mov r13, qword [rdx]
mov rax, qword [r13 + 8]
mov qword [rbp - 0x49], rax
lea rcx, [rbp + 0x7f]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x79]
mov qword [rsp + 0x20], rcx
lea r9, [0x1401f5688]
mov r8, rax
mov rdx, r13
mov rcx, r11
call fcn.1401c83e0
mov r8, qword [rbp - 0x51]
mov rdx, qword [r8 + 8]
movabs rcx, 0x555555555555554
sub rcx, rdx
cmp rcx, 1
jb 0x1401ca8d5
lea rcx, [rdx + 1]
mov qword [r8 + 8], rcx
mov qword [r13 + 8], rax
mov rcx, qword [rbp - 0x49]
mov qword [rcx], rax
mov r9, qword [r8]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x39]
mov rcx, qword [rbp + 0x67]
call fcn.1401c8b20
mov rax, qword [rbp - 0x39]
lea rcx, [rax + 0x18]
lea rax, [rbp - 0x69]
mov r13, qword [rbp - 0x69]
cmp rcx, rax
je 0x1401ca610
movzx r9d, bl
mov r8, qword [rbp - 0x61]
mov rdx, r13
call fcn.140036a90
nop
test r13, r13
je 0x1401ca655
mov rax, qword [rbp - 0x59]
sub rax, r13
sar rax, 2
lea rdx, [rax*4]
mov rax, r13
cmp rdx, 0x1000
jb 0x1401ca64d
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401ca8e2
mov rcx, r13
call fcn.140177360
mov r8d, dword [rsp + 0x34]
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsp + 0x35]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x36]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x37]
xor rdx, rax
imul rdx, rcx
mov r13, qword [rbp + 0x67]
mov rcx, qword [r13 + 0x70]
and rcx, rdx
shl rcx, 4
mov r10, qword [r13 + 0x58]
mov r9, qword [r10 + rcx]
mov rax, r9
lea r11, [rcx + 8]
mov rdx, qword [r13 + 0x48]
nop
cmp r9, rdx
jne 0x1401ca6ca
mov rcx, rdx
jmp 0x1401ca6d1
mov rcx, qword [r11 + r10]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401ca713
cmp dword [rax + 0x10], r8d
je 0x1401ca6e1
mov rax, qword [rax]
jmp 0x1401ca6c0
cmp rax, rdx
je 0x1401ca713
lea rcx, [rax + 0x18]
mov rdx, qword [rcx + 8]
cmp qword [rcx + 0x10], rdx
je 0x1401ca704
mov eax, dword [rsp + 0x30]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x1401ca8a7
lea r8, [rsp + 0x30]
call fcn.1401c84c0
jmp 0x1401ca8a7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], 0
movzx r9d, r12b
lea r8, [rbp - 0x7d]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x69]
call fcn.140065250
nop
mov r8d, dword [rsp + 0x34]
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsp + 0x35]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x36]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x37]
xor rdx, rax
imul rdx, rcx
mov rcx, qword [r13 + 0x70]
and rcx, rdx
shl rcx, 4
mov r10, qword [r13 + 0x58]
mov r9, qword [rcx + r10]
mov rax, r9
lea r11, [rcx + 8]
mov rdx, qword [r13 + 0x48]
cmp r9, rdx
jne 0x1401ca7b2
mov rcx, rdx
jmp 0x1401ca7b9
mov rcx, qword [r11 + r10]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401ca7db
cmp dword [rax + 0x10], r8d
je 0x1401ca7c9
mov rax, qword [rax]
jmp 0x1401ca7a8
cmp rax, rdx
je 0x1401ca7db
mov qword [rbp - 0x29], rax
mov byte [rbp - 0x21], 0
jmp 0x1401ca869
lea rax, [rsp + 0x34]
mov qword [rbp - 0x49], rax
mov r13, qword [rdx]
mov rax, qword [r13 + 8]
mov qword [rbp - 0x79], rax
lea rcx, [rbp - 0x7d]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x20], rcx
lea r9, [0x1401f5688]
mov r8, rax
mov rdx, r13
mov rcx, qword [rbp + 0x67]
add rcx, 0x48
call fcn.1401c83e0
mov r10, qword [rbp + 0x67]
mov r8, qword [r10 + 0x50]
movabs rdx, 0x555555555555554
sub rdx, r8
cmp rdx, 1
jb 0x1401ca8e8
lea rdx, [r8 + 1]
mov qword [r10 + 0x50], rdx
mov qword [r13 + 8], rax
mov rdx, qword [rbp - 0x79]
mov qword [rdx], rax
mov r9, qword [r10 + 0x48]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x29]
lea rcx, [r10 + 0x40]
call fcn.1401c8b20
mov rax, qword [rbp - 0x29]
lea rcx, [rax + 0x18]
lea rax, [rbp - 0x69]
mov r13, qword [rbp - 0x69]
cmp rcx, rax
je 0x1401ca88b
movzx r9d, dil
mov r8, qword [rbp - 0x61]
mov rdx, r13
call fcn.140036a90
nop
test r13, r13
je 0x1401ca8a7
mov r8, qword [rbp - 0x59]
sub r8, r13
sar r8, 2
mov rdx, r13
lea rcx, [rbp - 0x69]
call fcn.14003f040
mov ecx, dword [rbp - 0x71]
inc ecx
mov dword [rbp - 0x71], ecx
cmp ecx, dword [rbp + 0x77]
jae 0x1401ca8c1
mov r10, qword [rbp - 0x41]
mov rdx, qword [rbp + 0x6f]
jmp 0x1401ca360
add rsp, 0xd8
pop r15
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
nop
call fcn.14019862c
nop
lea rcx, str.list_T__too_long
call fcn.140155cc8
int3