Function at 0x14011f280
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rbx, qword [rcx + 0x18]
mov rax, rbx
inc rax
je 0x14011fa2d
mov rdi, rcx
mov rsi, qword [rcx + 8]
lea r8, [rsi + 1]
mov rdx, r8
shr rdx, 3
mov rcx, r8
and rcx, 0xfffffffffffffff8
sub rcx, rdx
cmp rsi, 8
cmovb rcx, rsi
movabs r9, 0x7ffffffffffffff0
mov rdx, rcx
shr rdx, 1
cmp rax, rdx
mov qword [rsp + 0x28], rsi
jbe 0x14011f309
inc rcx
cmp rax, rcx
cmova rcx, rax
cmp rcx, 8
mov qword [rsp + 0x20], rbx
jae 0x14011f336
xor eax, eax
cmp rcx, 4
setae al
lea rbp, [rax*4 + 4]
jmp 0x14011f3a2
mov r14, qword [rdi]
mov rcx, r8
shr rcx, 4
xor eax, eax
test r8b, 0xf
setne al
add rax, rcx
je 0x14011f6c3
cmp rax, 1
jne 0x14011f653
xor edx, edx
jmp 0x14011f6a7
movabs rax, 0x1ffffffffffffffe
add rax, 2
cmp rcx, rax
jae 0x14011fa2d
shl rcx, 3
mov ebp, 1
cmp rcx, 0xe
jb 0x14011f3a2
movabs rdx, 0x2492492492492493
mov rax, rcx
mul rdx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
dec rcx
bsr rcx, rcx
not ecx
mov rbp, 0xffffffffffffffff
shr rbp, cl
movabs rax, 0xffffffffffffffe
cmp rbp, rax
ja 0x14011fa2d
inc rbp
mov rbx, rbp
shl rbx, 4
lea r15, [rbp + 0x10]
mov r12, rbx
add r12, r15
jb 0x14011fa2d
cmp r12, r9
ja 0x14011fa2d
test r12, r12
mov qword [rsp + 0x38], r8
je 0x14011f40d
movzx eax, byte [0x14037f348]
mov rcx, qword [0x14037f2d0]
test rcx, rcx
jne 0x14011f3f3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14011f405
mov rcx, rax
mov qword [0x14037f2d0], rax
xor edx, edx
mov r8, r12
call fcn.1402699c4
mov r14, rax
test rax, rax
jne 0x14011f413
mov rcx, r12
call fcn.1400da530
mov r14d, 0x10
lea r12, [rbp - 1]
mov rax, rbp
shr rax, 3
mov rcx, rbp
and rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rbp, 9
cmovb rcx, r12
mov qword [rsp + 0x30], rcx
add r14, rbx
mov rcx, r14
mov dl, 0xff
mov r8, r15
call sub.msvcrt.dll_memset
mov r8, qword [rdi]
cmp qword [rsp + 0x20], 0
je 0x14011f5fa
movabs r13, 0xcbf29ce484222325
movabs rcx, 0x100000001b3
movdqa xmm0, xmmword [r8]
pmovmskb r15d, xmm0
not r15d
lea rdx, [r8 - 0x10]
xor r9d, r9d
mov r10, r8
mov r11, qword [rsp + 0x20]
mov qword [rsp + 0x40], r8
jmp 0x14011f4d4
lea ebx, [r15 - 1]
and ebx, r15d
dec r11
shr rsi, 0x39
lea r15, [rax - 0x10]
and r15, r12
mov byte [r14 + rax], sil
mov byte [r15 + r14 + 0x10], sil
not rbp
shl rbp, 4
not rax
shl rax, 4
movdqu xmm0, xmmword [r8 + rbp]
movdqu xmmword [r14 + rax], xmm0
mov r15d, ebx
test r11, r11
je 0x14011f5fa
test r15w, r15w
jne 0x14011f4ff
nop word [rax + rax]
movdqa xmm0, xmmword [r10 + 0x10]
add r10, 0x10
pmovmskb r15d, xmm0
add r9, 0x10
cmp r15d, 0xffff
je 0x14011f4e0
not r15d
tzcnt ebp, r15d
add rbp, r9
mov rax, rbp
shl rax, 4
mov rsi, rdx
sub rsi, rax
mov rbx, qword [rsi]
movzx eax, bl
xor rax, r13
imul rax, rcx
movzx esi, bh
xor rsi, rax
mov eax, ebx
shr eax, 0x10
imul rsi, rcx
movzx eax, al
xor rax, rsi
mov esi, ebx
shr esi, 0x18
imul rax, rcx
xor rax, rsi
mov rsi, rbx
shr rsi, 0x20
imul rax, rcx
movzx esi, sil
xor rsi, rax
mov rax, rbx
shr rax, 0x28
imul rsi, rcx
movzx eax, al
xor rax, rsi
mov rsi, rbx
shr rsi, 0x30
shr rbx, 0x38
imul rax, rcx
movzx esi, sil
xor rsi, rax
imul rsi, rcx
xor rsi, rbx
imul rsi, rcx
mov rbx, rsi
and rbx, r12
movdqu xmm0, xmmword [r14 + rbx]
pmovmskb eax, xmm0
test eax, eax
jne 0x14011f5d3
mov r8, rdx
mov rdx, r13
mov r13d, 0x10
nop word cs:[rax + rax]
add rbx, r13
and rbx, r12
movdqu xmm0, xmmword [r14 + rbx]
pmovmskb eax, xmm0
add r13, 0x10
test eax, eax
je 0x14011f5b0
mov r13, rdx
mov rdx, r8
mov r8, qword [rsp + 0x40]
tzcnt eax, eax
add rax, rbx
and rax, r12
cmp byte [r14 + rax], 0
js 0x14011f490
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
tzcnt eax, eax
jmp 0x14011f490
mov rax, qword [rsp + 0x30]
sub rax, qword [rsp + 0x20]
mov qword [rdi], r14
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0x28]
test rax, rax
movabs rsi, 0x7ffffffffffffff0
mov rcx, qword [rsp + 0x38]
je 0x14011fa15
shl rcx, 4
add rax, rcx
cmp rax, 0xffffffffffffffef
je 0x14011fa15
sub r8, rcx
mov rcx, qword [0x14037f2d0]
xor edx, edx
call fcn.1402699cc
jmp 0x14011fa15
movabs rcx, 0x1ffffffffffffffe
and rcx, rax
xor r9d, r9d
movdqa xmm0, xmmword [0x140272270]
nop dword [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 0x14011f670
test al, 1
je 0x14011f6c3
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r14 + rdx]
por xmm0, xmmword [0x140272270]
movdqa xmmword [r14 + rdx], xmm0
cmp r8, 0x10
jae 0x14011f6e2
lea rcx, [r14 + 0x10]
mov rdx, r14
call sub.msvcrt.dll_memmove
cmp rsi, 0xffffffffffffffff
jne 0x14011f6ed
xor eax, eax
jmp 0x14011fa04
movdqu xmm0, xmmword [r14]
movdqu xmmword [r14 + r8], xmm0
movabs rax, 0xcbf29ce484222325
movabs rcx, 0x100000001b3
xor edx, edx
jmp 0x14011f73c
shr r10, 0x39
lea r8, [rdx - 0x10]
and rsi, r8
mov byte [r14 + rdx], r10b
mov r14, qword [rdi]
mov byte [rsi + r14 + 0x10], r10b
mov rsi, qword [rsp + 0x28]
lea r8, [rdx + 1]
cmp rdx, rsi
mov rdx, r8
je 0x14011f9e2
cmp byte [r14 + rdx], 0x80
jne 0x14011f72c
mov r8, rdx
not r8
shl r8, 4
add r8, r14
mov r9, rdx
neg r9
mov r10, qword [rdi]
nop dword [rax]
mov r11, r9
shl r11, 4
mov rbx, qword [r10 + r11 - 0x10]
mov r15d, ebx
mov r12, rbx
mov rsi, rbx
mov r10, rbx
mov r11, rbx
movzx r13d, bl
movzx ebp, bh
shr ebx, 0x10
shr r15d, 0x18
shr r12, 0x20
shr rsi, 0x28
shr r10, 0x30
shr r11, 0x38
xor r13, rax
imul r13, rcx
xor rbp, r13
imul rbp, rcx
movzx ebx, bl
xor rbx, rbp
imul rbx, rcx
xor rbx, r15
imul rbx, rcx
movzx r15d, r12b
xor r15, rbx
imul r15, rcx
movzx esi, sil
xor rsi, r15
imul rsi, rcx
movzx r10d, r10b
xor r10, rsi
imul r10, rcx
xor r10, r11
imul r10, rcx
mov rsi, qword [rdi + 8]
mov r11, r10
and r11, rsi
movdqu xmm0, xmmword [r14 + r11]
pmovmskb ebx, xmm0
mov r15, r11
test ebx, ebx
jne 0x14011f828
mov r12d, 0x10
mov r15, r11
nop word cs:[rax + rax]
add r15, r12
and r15, rsi
movdqu xmm0, xmmword [r14 + r15]
pmovmskb ebx, xmm0
add r12, 0x10
test ebx, ebx
je 0x14011f810
tzcnt ebx, ebx
add rbx, r15
and rbx, rsi
cmp byte [r14 + rbx], 0
js 0x14011f846
movdqa xmm0, xmmword [r14]
pmovmskb ebx, xmm0
tzcnt ebx, ebx
mov r15, rdx
sub r15, r11
mov r12, rbx
sub r12, r11
xor r12, r15
and r12, rsi
cmp r12, 0x10
jb 0x14011f710
mov r11, rbx
not r11
shl r11, 4
add r11, r14
movzx ebp, byte [r14 + rbx]
shr r10, 0x39
lea r15, [rbx - 0x10]
and r15, rsi
mov byte [r14 + rbx], r10b
mov r14, qword [rdi]
mov byte [r15 + r14 + 0x10], r10b
cmp bpl, 0xff
je 0x14011f9c0
movzx r10d, byte [r8]
movzx ebx, byte [r11]
mov byte [r8], bl
mov byte [r11], r10b
movzx r10d, byte [r8 + 1]
movzx ebx, byte [r11 + 1]
mov byte [r8 + 1], bl
mov byte [r11 + 1], r10b
movzx r10d, byte [r8 + 2]
movzx ebx, byte [r11 + 2]
mov byte [r8 + 2], bl
mov byte [r11 + 2], r10b
movzx r10d, byte [r8 + 3]
movzx ebx, byte [r11 + 3]
mov byte [r8 + 3], bl
mov byte [r11 + 3], r10b
movzx r10d, byte [r8 + 4]
movzx ebx, byte [r11 + 4]
mov byte [r8 + 4], bl
mov byte [r11 + 4], r10b
movzx r10d, byte [r8 + 5]
movzx ebx, byte [r11 + 5]
mov byte [r8 + 5], bl
mov byte [r11 + 5], r10b
movzx r10d, byte [r8 + 6]
movzx ebx, byte [r11 + 6]
mov byte [r8 + 6], bl
mov byte [r11 + 6], r10b
movzx r10d, byte [r8 + 7]
movzx ebx, byte [r11 + 7]
mov byte [r8 + 7], bl
mov byte [r11 + 7], r10b
movzx r10d, byte [r8 + 8]
movzx ebx, byte [r11 + 8]
mov byte [r8 + 8], bl
mov byte [r11 + 8], r10b
movzx r10d, byte [r8 + 9]
movzx ebx, byte [r11 + 9]
mov byte [r8 + 9], bl
mov byte [r11 + 9], r10b
movzx r10d, byte [r8 + 0xa]
movzx ebx, byte [r11 + 0xa]
mov byte [r8 + 0xa], bl
mov byte [r11 + 0xa], r10b
movzx r10d, byte [r8 + 0xb]
movzx ebx, byte [r11 + 0xb]
mov byte [r8 + 0xb], bl
mov byte [r11 + 0xb], r10b
movzx r10d, byte [r8 + 0xc]
movzx ebx, byte [r11 + 0xc]
mov byte [r8 + 0xc], bl
mov byte [r11 + 0xc], r10b
movzx r10d, byte [r8 + 0xd]
movzx ebx, byte [r11 + 0xd]
mov byte [r8 + 0xd], bl
mov byte [r11 + 0xd], r10b
movzx r10d, byte [r8 + 0xe]
movzx ebx, byte [r11 + 0xe]
mov byte [r8 + 0xe], bl
mov byte [r11 + 0xe], r10b
movzx r10d, byte [r8 + 0xf]
movzx ebx, byte [r11 + 0xf]
mov byte [r8 + 0xf], bl
mov byte [r11 + 0xf], r10b
mov r10, qword [rdi]
mov r14, r10
jmp 0x14011f760
lea r9, [rdx - 0x10]
and r9, qword [rdi + 8]
mov byte [r14 + rdx], 0xff
mov byte [r9 + r14 + 0x10], 0xff
movdqu xmm0, xmmword [r8]
movdqu xmmword [r11], xmm0
jmp 0x14011f727
mov rcx, qword [rdi + 8]
mov rbx, qword [rdi + 0x18]
lea rax, [rcx + 1]
mov rdx, rax
shr rdx, 3
and rax, 0xfffffffffffffff8
sub rax, rdx
cmp rcx, 8
cmovb rax, rcx
sub rax, rbx
mov qword [rdi + 0x10], rax
movabs rsi, 0x7ffffffffffffff0
add rsi, 0x11
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400da4f0
int3