Function at 0x140269520
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov r14, qword [rcx + 0x18]
add rdx, r14
jae 0x140269548
mov cl, 1
call fcn.1402407e0
mov rbx, rax
jmp 0x140269751
mov rsi, qword [rcx + 8]
lea r8, [rsi + 1]
mov rax, r8
shr rax, 3
mov r13, r8
and r13, 0xfffffffffffffff8
sub r13, rax
cmp rsi, 8
cmovb r13, rsi
mov rax, r13
shr rax, 1
cmp rdx, rax
jbe 0x140269622
mov qword [rsp + 0x28], rcx
inc r13
cmp rdx, r13
cmova r13, rdx
cmp r13, 8
jae 0x140269653
xor eax, eax
cmp r13, 4
setae al
lea rdx, [rax*4 + 4]
lea rbp, [rdx*4]
add rbp, 0xf
jb 0x140269539
and rbp, 0xfffffffffffffff0
lea r15, [rdx + 0x10]
mov r12, rbp
add r12, r15
jb 0x140269539
movabs rax, 0x7ffffffffffffff1
cmp r12, rax
jae 0x140269539
test r12, r12
mov qword [rsp + 0x20], r14
je 0x14026995e
movzx eax, byte [0x14071e481]
mov rbx, rdx
mov edx, 0x10
mov rcx, r12
call fcn.1401047c0
mov rdx, rbx
mov rbx, rax
test rax, rax
jne 0x140269963
mov edx, 0x10
mov cl, 1
mov r8, r12
call fcn.140240830
mov rbx, rax
jmp 0x140269751
mov qword [rsp + 0x20], r14
mov rdi, rcx
mov r14, qword [rcx]
mov rcx, r8
shr rcx, 4
xor eax, eax
test r8b, 0xf
setne al
add rax, rcx
je 0x140269723
cmp rax, 1
jne 0x1402696ae
xor edx, edx
jmp 0x140269707
mov rax, r13
shr rax, 0x3d
jne 0x14026992f
shl r13, 3
mov edx, 1
cmp r13, 0xe
jb 0x1402695a2
mov r8, r14
movabs rcx, 0x2492492492492493
mov rax, r13
mul rcx
sub r13, rdx
shr r13, 1
add r13, rdx
shr r13, 2
dec r13
bsr rcx, r13
not ecx
mov rdx, 0xffffffffffffffff
shr rdx, cl
inc rdx
jmp 0x14026994c
movabs rcx, 0x1ffffffffffffffe
and rcx, rax
xor r9d, r9d
movdqa xmm0, xmmword [0x1402750a0]
nop word cs:[rax + rax]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r14 + r9]
por xmm1, xmm0
movdqa xmmword [r14 + r9], xmm1
lea rdx, [r9 + 0x20]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r14 + r9 + 0x10]
por xmm1, xmm0
movdqa xmmword [r14 + r9 + 0x10], xmm1
mov r9, rdx
add rcx, 0xfffffffffffffffe
jne 0x1402696d0
test al, 1
je 0x140269723
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r14 + rdx]
por xmm0, xmmword [0x1402750a0]
movdqa xmmword [r14 + rdx], xmm0
cmp r8, 0x10
jae 0x140269765
lea rcx, [r14 + 0x10]
mov rdx, r14
call fcn.140258830
cmp rsi, 0xffffffffffffffff
jne 0x140269770
xor r13d, r13d
sub r13, qword [rsp + 0x20]
mov qword [rdi + 0x10], r13
movabs rbx, 0x8000000000000001
mov rax, rbx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movdqu xmm0, xmmword [r14]
movdqu xmmword [r14 + r8], xmm0
xor eax, eax
movabs rcx, 0xcbf29ce484222325
movabs rdx, 0x100000001b3
jmp 0x1402697b0
shr r10, 0x39
lea r8, [rax - 0x10]
and r8, rsi
mov byte [r14 + rax], r10b
mov byte [r8 + r14 + 0x10], r10b
lea r8, [rax + 1]
cmp rax, rsi
mov rax, r8
je 0x14026973e
cmp byte [r14 + rax], 0x80
jne 0x1402697a4
mov r8, rax
not r8
shl r8, 2
mov r9, rax
neg r9
nop word [rax + rax]
mov ebx, dword [r14 + r9*4 - 4]
mov r11d, ebx
movzx r10d, bl
movzx ebp, bh
shr ebx, 0x10
shr r11d, 0x18
xor r10, rcx
imul r10, rdx
xor rbp, r10
imul rbp, rdx
movzx r10d, bl
xor r10, rbp
imul r10, rdx
xor r10, r11
imul r10, rdx
mov r11, r10
and r11, rsi
movdqu xmm0, xmmword [r14 + r11]
pmovmskb ebp, xmm0
mov r12, r11
test ebp, ebp
jne 0x140269848
mov r15d, 0x10
mov r12, r11
nop word cs:[rax + rax]
add r12, r15
and r12, rsi
movdqu xmm0, xmmword [r14 + r12]
pmovmskb ebp, xmm0
add r15, 0x10
test ebp, ebp
je 0x140269830
tzcnt r15d, ebp
add r15, r12
and r15, rsi
cmp byte [r14 + r15], 0
js 0x140269868
movdqa xmm0, xmmword [r14]
pmovmskb ebx, xmm0
tzcnt r15d, ebx
mov rbx, rax
sub rbx, r11
mov r12, r15
sub r12, r11
xor r12, rbx
and r12, rsi
cmp r12, 0x10
jb 0x140269790
mov r11, r15
not r11
shl r11, 2
movzx ebx, byte [r14 + r15]
shr r10, 0x39
lea r12, [r15 - 0x10]
and r12, rsi
mov byte [r14 + r15], r10b
mov byte [r12 + r14 + 0x10], r10b
cmp bl, 0xff
je 0x140269910
movzx r10d, byte [r14 + r8]
movzx ebx, byte [r14 + r11]
mov byte [r14 + r8], bl
mov byte [r14 + r11], r10b
movzx r10d, byte [r14 + r8 + 1]
movzx ebx, byte [r14 + r11 + 1]
mov byte [r14 + r8 + 1], bl
mov byte [r14 + r11 + 1], r10b
movzx r10d, byte [r14 + r8 + 2]
movzx ebx, byte [r14 + r11 + 2]
mov byte [r14 + r8 + 2], bl
mov byte [r14 + r11 + 2], r10b
movzx r10d, byte [r14 + r8 + 3]
movzx ebx, byte [r14 + r11 + 3]
mov byte [r14 + r8 + 3], bl
mov byte [r14 + r11 + 3], r10b
jmp 0x1402697d0
lea r9, [rax - 0x10]
and r9, rsi
mov byte [r14 + rax], 0xff
mov byte [r9 + r14 + 0x10], 0xff
mov r8d, dword [r14 + r8]
mov dword [r14 + r11], r8d
jmp 0x1402697a4
mov cl, 1
call fcn.1402407e0
mov rbx, rax
movabs rax, 0x8000000000000001
cmp rbx, rax
jne 0x140269751
mov rax, rdx
shr rax, 0x3e
jne 0x140269539
jmp 0x1402695a2
mov ebx, 0x10
lea r12, [rdx - 1]
mov rax, rdx
shr rax, 3
and rdx, 0xfffffffffffffff8
sub rdx, rax
cmp r12, 8
cmovb rdx, r12
mov qword [rsp + 0x30], rdx
add rbx, rbp
mov rcx, rbx
mov dl, 0xff
mov r8, r15
call fcn.140258470
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
cmp qword [rsp + 0x20], 0
je 0x140269ae1
movdqa xmm0, xmmword [rcx]
pmovmskb r11d, xmm0
not r11d
xor eax, eax
movabs r8, 0x100000001b3
mov r9, rcx
mov r10, qword [rsp + 0x20]
movabs rdi, 0xcbf29ce484222325
jmp 0x140269a1a
lea ebp, [r11 - 1]
and ebp, r11d
dec r10
shr rdx, 0x39
lea r11, [r13 - 0x10]
and r11, r12
mov byte [rbx + r13], dl
mov byte [r11 + rbx + 0x10], dl
shl r13, 2
neg r13
mov edx, dword [r15 - 4]
mov dword [rbx + r13 - 4], edx
mov r11d, ebp
test r10, r10
je 0x140269ae1
test r11w, r11w
jne 0x140269a3f
movdqa xmm0, xmmword [r9 + 0x10]
add r9, 0x10
pmovmskb r11d, xmm0
add rax, 0x10
cmp r11d, 0xffff
je 0x140269a20
not r11d
tzcnt edx, r11d
add rdx, rax
shl rdx, 2
mov r15, rcx
sub r15, rdx
mov edx, dword [r15 - 4]
mov r14d, edx
movzx r13d, dl
movzx ebp, dh
shr edx, 0x10
shr r14d, 0x18
xor r13, rdi
imul r13, r8
xor rbp, r13
imul rbp, r8
movzx edx, dl
xor rdx, rbp
imul rdx, r8
xor rdx, r14
imul rdx, r8
mov rbp, rdx
and rbp, r12
movdqu xmm0, xmmword [rbx + rbp]
pmovmskb r13d, xmm0
test r13d, r13d
jne 0x140269ab9
mov r14d, 0x10
add rbp, r14
and rbp, r12
movdqu xmm0, xmmword [rbx + rbp]
pmovmskb r13d, xmm0
add r14, 0x10
test r13d, r13d
je 0x140269aa0
tzcnt r13d, r13d
add r13, rbp
and r13, r12
cmp byte [rbx + r13], 0
js 0x1402699e0
movdqa xmm0, xmmword [rbx]
pmovmskb ebp, xmm0
tzcnt r13d, ebp
jmp 0x1402699e0
mov rax, qword [rsp + 0x30]
sub rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov qword [rdx], rbx
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], rax
movabs rbx, 0x8000000000000001
test rsi, rsi
je 0x140269751
lea rax, [rsi*4 + 0x13]
and rax, 0xfffffffffffffff0
add rsi, rax
add rsi, 0x11
je 0x140269751
sub rcx, rax
mov r8d, 0x10
mov rdx, rsi
call fcn.1401047d0
jmp 0x140269751