Function at 0x140192550
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov rax, r8
mov rsi, rcx
add rax, qword [rdx + 0x18]
jae 0x14019259a
mov cl, 1
call fcn.14017ae10
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rdx
mov qword [rsi], 1
jmp 0x140192b1a
mov r12, rdx
mov rdx, qword [rdx]
lea r8, [rdx + 1]
mov rbx, r8
shr rbx, 3
lea rcx, [rbx*8]
sub rcx, rbx
cmp rdx, 8
cmovb rcx, rdx
mov rdx, rcx
shr rdx, 1
cmp rax, rdx
jbe 0x140192613
add rcx, 1
cmp rax, rcx
cmova rcx, rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x28]
mov r8d, 0x10
mov r9d, 0x10
mov rdx, r12
call fcn.140072e30
cmp dword [rbp - 0x28], 1
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
jne 0x140192672
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rax
mov qword [rsi], 1
jmp 0x140192b1a
mov rdx, qword [r12 + 8]
xor ecx, ecx
movdqa xmm0, xmmword [0x1401af880]
xor eax, eax
test cl, 1
je 0x140192636
nop dword [rax]
add rax, 0xf
jb 0x14019265a
cmp rax, r8
jae 0x14019265a
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rdx + rax]
por xmm1, xmm0
movdqa xmmword [rdx + rax], xmm1
add rax, 1
mov cl, 1
test cl, 1
jne 0x140192630
jmp 0x140192636
cmp r8, 0x10
jae 0x14019285b
lea rcx, [rdx + 0x10]
call sub.VCRUNTIME140.dll_memmove
jmp 0x140192865
mov qword [rbp + 0x30], rsi
movups xmm0, xmmword [rbp - 0x10]
movdqu xmm1, xmmword [rbp]
movdqu xmmword [rbp - 0x38], xmm1
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp + 0x20], rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp + 0x18], rax
mov qword [rbp - 0x50], rax
mov rax, qword [r12]
mov rbx, qword [r12 + 8]
lea r8, [rax + rbx + 1]
movdqa xmm0, xmmword [rbx]
pmovmskb eax, xmm0
not eax
lea r15, [rbx + 0x10]
mov r14, qword [rbp - 0x48]
mov r13, qword [rbp - 0x40]
lea rcx, [r13 - 0x10]
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x28], r8
test ax, ax
je 0x1401926e0
nop dword [rax]
lea ecx, [rax - 1]
and ecx, eax
mov dword [rbp + 0x38], ecx
jmp 0x140192713
cmp r15, r8
jae 0x140192a87
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
add rbx, 0xffffffffffffff00
add r15, 0x10
cmp ax, 0xffff
je 0x1401926e0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov edx, eax
and edx, ecx
mov dword [rbp + 0x38], edx
bsf ax, ax
movzx eax, ax
shl rax, 4
mov rsi, rbx
sub rsi, rax
lea rcx, [rsi - 9]
movzx eax, byte [rsi - 0xe]
movabs rdx, 0xcbf29ce484222325
xor rax, rdx
movabs rdi, 0x1efac7090aef4a21
imul rax, rdi
movzx edx, byte [rsi - 0xd]
xor rdx, rax
imul rdx, rdi
movzx eax, byte [rsi - 0xc]
xor rax, rdx
imul rax, rdi
movzx edx, byte [rsi - 0xb]
xor rdx, rax
imul rdx, rdi
movzx eax, byte [rsi - 0xa]
xor rax, rdx
imul rax, rdi
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x28]
call fcn.14008a130
add rsi, 0xfffffffffffffff0
movzx ecx, word [rsi]
movzx eax, cl
xor rax, qword [rbp - 0x28]
shr rcx, 8
movabs rdx, 0x100000001b3
imul rax, rdx
xor rax, rcx
imul rax, rdx
mov rcx, rax
and rcx, r14
movdqu xmm0, xmmword [r13 + rcx]
pmovmskb edi, xmm0
test di, di
je 0x1401927c7
mov r8, qword [rbp + 0x28]
mov r9d, dword [rbp + 0x38]
jmp 0x1401927fa
mov edx, 0x10
mov r8, qword [rbp + 0x28]
mov r9d, dword [rbp + 0x38]
nop word cs:[rax + rax]
nop
add rcx, rdx
and rcx, r14
movdqu xmm0, xmmword [r13 + rcx]
pmovmskb edi, xmm0
add rdx, 0x10
test di, di
je 0x1401927e0
bsf dx, di
movzx edx, dx
add rdx, rcx
and rdx, r14
cmp byte [r13 + rdx], 0
jns 0x140192848
shr rax, 0x39
lea rcx, [rdx - 0x10]
and rcx, r14
mov byte [r13 + rdx], al
mov byte [rcx + r13 + 0x10], al
shl rdx, 4
mov rax, qword [rbp + 0x10]
sub rax, rdx
movdqu xmm0, xmmword [rsi]
movdqu xmmword [rax], xmm0
mov eax, r9d
test ax, ax
jne 0x1401926d0
jmp 0x1401926e0
movdqa xmm0, xmmword [r13]
pmovmskb ecx, xmm0
bsf cx, cx
movzx edx, cx
jmp 0x14019280f
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rdx + r8], xmm0
mov qword [rbp - 0x58], r12
mov rcx, qword [r12]
cmp rcx, 0xffffffffffffffff
je 0x140192af8
mov qword [rbp + 0x30], rsi
xor r15d, r15d
movabs r13, 0x1efac7090aef4a21
mov qword [rbp + 0x38], rcx
jmp 0x140192a23
mov rbx, r14
shl rbx, 4
lea rcx, [rdi + rbx]
add rcx, 0xfffffffffffffff7
movzx eax, byte [rdi + rbx - 0xe]
movabs rdx, 0xcbf29ce484222325
xor rax, rdx
imul rax, r13
movzx edx, byte [rdi + rbx - 0xd]
xor rdx, rax
imul rdx, r13
movzx eax, byte [rdi + rbx - 0xc]
xor rax, rdx
imul rax, r13
movzx edx, byte [rdi + rbx - 0xb]
xor rdx, rax
imul rdx, r13
movzx eax, byte [rdi + rbx - 0xa]
xor rax, rdx
imul rax, r13
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x28]
call fcn.14008a130
lea r8, [rdi + rbx]
add r8, 0xfffffffffffffff0
movzx eax, word [r8]
movzx ecx, al
shr rax, 8
xor rcx, qword [rbp - 0x28]
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
mov rdi, qword [r12]
mov rdx, qword [r12 + 8]
mov r9, rcx
and r9, rdi
movdqu xmm0, xmmword [rdx + r9]
pmovmskb esi, xmm0
mov rax, r9
test si, si
jne 0x140192978
mov ebx, 0x10
mov rax, r9
nop word [rax + rax]
add rax, rbx
and rax, rdi
movdqu xmm0, xmmword [rdx + rax]
pmovmskb esi, xmm0
add rbx, 0x10
test si, si
je 0x140192960
bsf bx, si
movzx esi, bx
add rsi, rax
and rsi, rdi
cmp byte [rdx + rsi], 0
jns 0x1401929ed
mov rax, r15
sub rax, r9
mov rbx, rsi
sub rbx, r9
xor rbx, rax
and rbx, rdi
cmp rbx, 0xf
jbe 0x140192a00
mov al, byte [rdx + rsi]
shr rcx, 0x39
lea rbx, [rsi - 0x10]
and rbx, rdi
mov byte [rdx + rsi], cl
mov byte [rbx + rdx + 0x10], cl
cmp al, 0xff
je 0x140192a3a
mov rax, qword [r12 + 8]
shl rsi, 4
mov rcx, rax
sub rcx, rsi
neg rsi
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [r8]
movdqu xmmword [rax + rsi - 0x10], xmm1
movdqu xmmword [r8], xmm0
mov rdi, qword [r12 + 8]
jmp 0x1401928a0
movdqa xmm0, xmmword [rdx]
pmovmskb eax, xmm0
bsf ax, ax
movzx esi, ax
jmp 0x14019298b
shr rcx, 0x39
lea rax, [r15 - 0x10]
and rdi, rax
mov byte [rdx + r15], cl
mov byte [rdi + rdx + 0x10], cl
mov rcx, qword [rbp + 0x38]
lea rax, [r15 + 1]
cmp r15, rcx
mov r15, rax
je 0x140192a6a
mov rdi, qword [r12 + 8]
cmp byte [rdi + r15], 0x80
jne 0x140192a17
mov r14, r15
neg r14
jmp 0x1401928a0
lea rax, [r15 - 0x10]
and rax, qword [r12]
mov rcx, qword [r12 + 8]
mov byte [rcx + r15], 0xff
mov byte [rax + rcx + 0x10], 0xff
mov rax, qword [r12 + 8]
shl rsi, 4
neg rsi
movdqu xmm0, xmmword [r8]
movdqu xmmword [rax + rsi - 0x10], xmm0
jmp 0x140192a13
mov rax, qword [r12]
lea rdx, [rax + 1]
shr rdx, 3
lea rcx, [rdx*8]
sub rcx, rdx
mov rsi, qword [rbp + 0x30]
jmp 0x140192b01
movdqu xmm0, xmmword [r12]
lea rax, [rbp - 0x48]
movups xmm1, xmmword [rax]
movups xmm2, xmmword [rax + 0x10]
movups xmmword [r12 + 0x10], xmm2
movups xmmword [r12], xmm1
mov rsi, qword [rbp + 0x30]
mov qword [rsi], 0
movq rdi, xmm0
test rdi, rdi
mov r8, qword [rbp + 0x18]
je 0x140192b1a
lea rcx, [rdi + 1]
mov rax, qword [rbp + 0x20]
mul rcx
lea rcx, [r8 + rax]
add rcx, 0xffffffffffffffff
mov rax, r8
neg rax
and rax, rcx
add rdi, rax
add rdi, 0x11
je 0x140192b1a
pshufd xmm0, xmm0, 0xee
movq rcx, xmm0
sub rcx, rax
mov rdx, rdi
call fcn.1400012f0
jmp 0x140192b1a
mov rax, 0xffffffffffffffff
xor ecx, ecx
cmp rax, 8
cmovb rcx, rax
sub rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
mov qword [rsi], 0
mov rax, rsi
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret