Function at 0x14011f080
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov ebx, r8d
mov rsi, rcx
lea rdi, [rcx + 0x9f0]
mov rax, qword [rdx]
lea rcx, [0x140272260]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp qword [rsi + 0xa48], 0
je 0x14011ebb4
mov r14, qword [rsi + 0xa38]
test r14, r14
je 0x14011eb88
mov rcx, qword [rsi + 0xa30]
lea r8, [r14 + 0x11]
mov dl, 0xff
call sub.msvcrt.dll_memset
mov qword [rsi + 0xa48], 0
lea rax, [r14 + 1]
mov rcx, rax
shr rcx, 3
and rax, 0xfffffffffffffff8
sub rax, rcx
cmp r14, 8
cmovb rax, r14
mov qword [rsi + 0xa40], rax
cmp qword [rsi + 0xa28], 0
je 0x14011ec08
mov r14, qword [rsi + 0xa18]
test r14, r14
je 0x14011ebdc
mov rcx, qword [rsi + 0xa10]
lea r8, [r14 + 0x11]
mov dl, 0xff
call sub.msvcrt.dll_memset
mov qword [rsi + 0xa28], 0
lea rax, [r14 + 1]
mov rcx, rax
shr rcx, 3
and rax, 0xfffffffffffffff8
sub rax, rcx
cmp r14, 8
cmovb rax, r14
mov qword [rsi + 0xa20], rax
cmp qword [rsi + 0xa08], 0
je 0x14011ec58
mov r14, qword [rsi + 0x9f8]
test r14, r14
je 0x14011ec2c
mov rcx, qword [rdi]
lea r8, [r14 + 0x11]
mov dl, 0xff
call sub.msvcrt.dll_memset
mov qword [rsi + 0xa08], 0
lea rax, [r14 + 1]
mov rcx, rax
shr rcx, 3
shr ecx, 3
and rax, 0xfffffffffffffff8
sub rax, rcx
cmp r14, 8
cmovb rax, r14
invalid
invalid
mov qword [rsi + 0xa00], rax
mov byte [rsi + 0xa50], bl
add rsp, 0x28
add esp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rdx + 8]
mov r15, qword [rsi + 0xa28]
test r15, r15
je 0x14011eddd
mov r12, qword [rsi + 0xa10]
lea r13, [r12 + 0x10]
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
not eax
add rsi, 0xa30
jmp case.0x14011c768.14
tzcnt ecx, eax
shl rcx, 4
mov rdx, r12
sub rdx, rcx
lea ebp, [rax - 1]
and ebp, eax
mov rdx, qword [rdx - 0x10]
mov rcx, rsi
mov r8, r14
mov r9d, ebx
call 0x14011ee10
mov eax, ebp
dec r15
je 0x14011eddd
test ax, ax
jne 0x14011ecb0
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r13]
pmovmskb eax, xmm0
add r12, 0xffffffffffffff00
dec dword [rcx - 0x7d]
invalid
adc byte [0x14012ed09], bh
je case.0x14011dcf4.10
not eax
jmp 0x14011ecb0
mov rdi, qword [rdx + 8]
mov r15, qword [rsi + 0xa08]
test r15, r15
je 0x14011ede5
mov r12, qword [rsi + 0x9f0]
lea r13, [r12 + 0x10]
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
not eax
lea r14, [rsi + 0xa30]
jmp 0x14011ed7c
tzcnt ecx, eax
shl rcx, 4
mov rdx, r12
sub rdx, rcx
lea ebp, [rax - 1]
and ebp, eax
mov r8, qword [rdx - 0x10]
mov rcx, r14
mov rdx, rdi
mov r9d, ebx
call 0x14011ee10
mov eax, ebp
dec r15
je 0x14011ede5
test ax, ax
jne 0x14011ed50
iretd
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r13]
pmovmskb eax, xmm0
add r12, 0xffffffffffffff00
dec dword [rcx - 0x7d]
invalid
adc byte [0x14012eda9], bh
je case.0x14011dcf4.11
not eax
jmp 0x14011ed50
mov rax, qword [rdx + 8]
mov r8, qword [rdx + 0x10]
add rsi, 0xa30
mov rcx, rsi
mov rdx, rax
mov r9d, ebx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14011ee10
mov rcx, rdi
mov rdx, r14
jmp 0x14011edf2
add rsi, 0xa10
mov rcx, rsi
mov rdx, rdi
mov r8d, ebx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14011f080
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov byte [rsp + 0x27], r9b
mov rbx, rdx
mov rdx, r8
mov rdi, rcx
mov r11d, ebx
shr r11d, 0x10
mov r10d, ebx
shr r10d, 0x18
mov r9, rbx
shr r9, 0x20
mov r8, rbx
shr r8, 0x28
mov rsi, rbx
shr rsi, 0x30
mov rcx, rbx
shr rcx, 0x38
movzx eax, bl
movabs r14, 0xcbf29ce484222325
xor r14, rax
movabs rax, 0x100000001b3
imul r14, rax
movzx ebp, bh
xor rbp, r14
imul rbp, rax
movzx r11d, r11b
xor r11, rbp
imul r11, rax
xor r11, r10
imul r11, rax
movzx r9d, r9b
xor r9, r11
imul r9, rax
movzx r8d, r8b
xor r8, r9
imul r8, rax
movzx r11d, sil
xor r11, r8
imul r11, rax
xor r11, rcx
imul r11, rax
mov ebp, edx
shr ebp, 0x10
mov r10d, edx
shr r10d, 0x18
mov r9, rdx
shr r9, 0x20
mov r8, rdx
shr r8, 0x28
mov r15, rdx
shr r15, 0x30
mov rcx, rdx
shr rcx, 0x38
movzx r14d, dl
xor r14, r11
imul r14, rax
mov r13, rdx
movzx esi, dh
xor rsi, r14
imul rsi, rax
movzx r11d, bpl
xor r11, rsi
imul r11, rax
xor r11, r10
imul r11, rax
movzx r9d, r9b
xor r9, r11
imul r9, rax
movzx r8d, r8b
xor r8, r9
imul r8, rax
movzx r14d, r15b
xor r14, r8
imul r14, rax
xor r14, rcx
imul r14, rax
cmp qword [rdi + 0x10], 0
je 0x14011f004
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov rdx, r14
shr rdx, 0x39
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r9d, r9d
pcmpeqd xmm1, xmm1
xor r10d, r10d
and r14, rcx
movdqu xmm2, xmmword [rax + r14]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r11d, xmm3
nop
test r11w, r11w
je 0x14011efc0
mov esi, r11d
lea r11d, [rsi - 1]
and r11d, esi
tzcnt r15d, esi
add r15, r14
and r15, rcx
neg r15
lea r12, [r15 + r15*2]
cmp qword [rax + r12*8 - 0x18], rbx
jne 0x14011ef80
mov rsi, r13
cmp qword [rax + r12*8 - 0x10], r13
jne 0x14011ef80
jmp 0x14011f061
cmp r10, 1
mov r10d, 1
je 0x14011efe6
pmovmskb r8d, xmm2
xor r10d, r10d
test r8d, r8d
setne r10b
tzcnt r8d, r8d
add r8, r14
and r8, rcx
pcmpeqb xmm2, xmm1
pmovmskb r11d, xmm2
test r11d, r11d
jne 0x14011f011
add r14, r9
add r14, 0x10
add r9, 0x10
jmp 0x14011ef69
mov rcx, rdi
call fcn.14011fa40
jmp 0x14011ef3f
movzx r9d, byte [rax + r8]
test r9b, r9b
js 0x14011f02e
movdqa xmm0, xmmword [rax]
pmovmskb r8d, xmm0
tzcnt r8d, r8d
movzx r9d, byte [rax + r8]
and r9b, 1
movzx r9d, r9b
sub qword [rdi + 0x10], r9
lea r9, [r8 - 0x10]
and rcx, r9
mov byte [rax + r8], dl
mov byte [rcx + rax + 0x10], dl
inc qword [rdi + 0x18]
neg r8
lea rcx, [r8 + r8*2]
mov qword [rax + rcx*8 - 0x18], rbx
mov qword [rax + rcx*8 - 0x10], r13
mov r15, r8
lea rcx, [r15 + r15*2]
movzx edx, byte [rsp + 0x27]
mov byte [rax + rcx*8 - 8], dl
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rbx, rdx
mov esi, r8d
mov rdi, rcx
mov r11d, ebx
shr r11d, 0x10
mov r10d, ebx
shr r10d, 0x18
mov r9, rdx
shr r9, 0x20
mov r8, rdx
shr r8, 0x28
mov rcx, rdx
shr rcx, 0x30
mov rax, rdx
shr rax, 0x38
movzx edx, bl
movabs r14, 0xcbf29ce484222325
xor r14, rdx
movabs rdx, 0x100000001b3
imul r14, rdx
movzx ebp, bh
xor rbp, r14
imul rbp, rdx
movzx r11d, r11b
xor r11, rbp
imul r11, rdx
xor r11, r10
imul r11, rdx
movzx r9d, r9b
xor r9, r11
imul r9, rdx
movzx r8d, r8b
xor r8, r9
imul r8, rdx
movzx r14d, cl
xor r14, r8
imul r14, rdx
xor r14, rax
imul r14, rdx
cmp qword [rdi + 0x10], 0
je 0x14011f21f
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov rdx, r14
shr rdx, 0x39
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea r9, [rax - 0x10]
xor r10d, r10d
pcmpeqd xmm1, xmm1
xor r11d, r11d
and r14, rcx
movdqu xmm2, xmmword [rax + r14]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r12d, xmm3
nop word cs:[rax + rax]
test r12w, r12w
je 0x14011f1c0
lea ebp, [r12 - 1]
and ebp, r12d
tzcnt r15d, r12d
add r15, r14
and r15, rcx
mov r12, r15
shl r12, 4
mov r13, r9
sub r13, r12
mov r12d, ebp
cmp qword [r13], rbx
jne 0x14011f180
jmp 0x14011f202
cmp r11, 1
mov r11d, 1
je 0x14011f1e6
pmovmskb r8d, xmm2
xor r11d, r11d
test r8d, r8d
setne r11b
tzcnt r8d, r8d
add r8, r14
and r8, rcx
pcmpeqb xmm2, xmm1
pmovmskb ebp, xmm2
test ebp, ebp
jne 0x14011f22c
add r14, r10
add r14, 0x10
add r10, 0x10
jmp 0x14011f15e
neg r15
shl r15, 4
mov byte [rax + r15 - 8], sil
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdi
call fcn.14011f280
jmp 0x14011f130
movzx r9d, byte [rax + r8]
test r9b, r9b
js 0x14011f249
movdqa xmm0, xmmword [rax]
pmovmskb r8d, xmm0
tzcnt r8d, r8d
movzx r9d, byte [rax + r8]
and r9b, 1
movzx r9d, r9b
sub qword [rdi + 0x10], r9
lea r9, [r8 - 0x10]
and rcx, r9
mov byte [rax + r8], dl
mov byte [rcx + rax + 0x10], dl
inc qword [rdi + 0x18]
mov r15, r8
neg r15
shl r8, 4
neg r8
mov qword [rax + r8 - 0x10], rbx
jmp 0x14011f205