Function at 0x1403383f0
Capabilities:
Hash data using fnv

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rax, qword [rcx + 0x10]
movabs rbx, 0xdd85c533ba9439cf
mov rcx, qword [0x14053c818]
add rcx, rbx
cmp rax, rcx
jne 0x140338423
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov r8, qword [rsi + 8]
mov rcx, qword [rsi + 0x38]
shr rcx, 3
cmp rcx, rax
jbe 0x140338448
mov rdx, qword [r8]
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
jmp 0x140338550
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rdi, qword [r8]
test rdi, rdi
je 0x140338481
nop dword [rax + rax]
mov r14, qword [rdi]
lea rcx, [rdi + 0x18]
call fcn.140339010
mov edx, 0x30
mov rcx, rdi
call fcn.1400a7e90
mov rdi, r14
test r14, r14
jne 0x140338460
mov rax, qword [rsi + 8]
mov qword [rax], rax
mov rax, qword [rsi + 8]
mov qword [rax + 8], rax
add rbx, qword [0x14053c818]
mov qword [rsi + 0x10], rbx
mov r8, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
cmp r8, rax
je 0x140338419
mov rdx, qword [rsi + 8]
mov r10, rax
sub r10, r8
add r10, 0xfffffffffffffff8
mov ecx, dword [0x14053c818]
mov r9d, ecx
xor r9d, 0xd2
and ecx, 0x52
lea ecx, [r9 + rcx*2]
mov r9, r10
shr r9, cl
cmp r10, 0x18
jae 0x1403384e2
mov rcx, r8
jmp 0x140338530
inc r9
mov r10, r9
and r10, 0xfffffffffffffffc
lea rcx, [r8 + r10*8]
movq xmm0, rdx
pshufd xmm0, xmm0, 0x44
lea r11, [r10 - 4]
xor esi, esi
movdqu xmmword [r8 + rsi*8], xmm0
movdqu xmmword [r8 + rsi*8 + 0x10], xmm0
cmp r11, rsi
je 0x140338518
add rsi, 4
jmp 0x140338500
cmp r9, r10
je 0x140338419
nop word cs:[rax + rax]
add rcx, 8
mov qword [rcx - 8], rdx
cmp rcx, rax
jne 0x140338530
jmp 0x140338419
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, r8
cmp rdx, r8
je 0x140338872
mov rbx, rdx
mov rdi, rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x30], rax
mov r10, qword [rcx + 0x18]
mov rax, qword [rdx + 8]
mov qword [rsp + 0x38], rax
movzx eax, byte [rdx + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rcx, rax
movabs r11, 0x100000001b3
imul rcx, r11
movzx eax, byte [rdx + 0x11]
xor rax, rcx
imul rax, r11
movzx ecx, byte [rdx + 0x12]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rdx + 0x13]
mov rdx, rax
not rdx
mov r8, rcx
and r8, rdx
xor rdx, rcx
not rcx
mov r9, rcx
xor r9, rax
or r8, r9
not r8
and ecx, eax
or rcx, rdx
not rcx
or rcx, r8
imul rcx, r11
mov rax, qword [rdi + 0x30]
not rcx
not rax
mov rdx, rax
xor rdx, rcx
and rdx, rax
or rdx, rcx
not rdx
lea rax, [rdx + rdx]
lea rcx, [rdx + rdx]
inc rcx
mov qword [rsp + 0x40], rcx
shl rdx, 4
mov r15, qword [r10 + rdx]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
mov r12, qword [r10 + rax*8 + 8]
mov ebp, 0xbeac
mov r13, rbx
jmp 0x140338649
cmp r13, rsi
je 0x140338866
mov r14, r13
mov r13, qword [r13]
lea rcx, [r14 + 0x18]
mov eax, dword [0x14053cae4]
add eax, ebp
cdqe
add rax, qword [0x14053caf8]
call qword [case.0x140303ece.0]
mov eax, dword [0x14053cae0]
add eax, ebp
cdqe
add rax, qword [0x14053caf0]
mov edx, 0x30
mov rcx, r14
call qword [case.0x140303ece.0]
dec qword [rdi + 0x10]
cmp r14, r12
je 0x1403386b0
cmp r13, rsi
jne 0x140338640
cmp r15, rbx
jne 0x140338640
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov qword [rax + rcx*8], r13
jmp 0x140338866
mov rax, qword [rsp + 0x38]
cmp r15, rbx
mov rcx, qword [rsp + 0x28]
jne 0x1403386cd
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
mov qword [rcx + rdx*8], rax
mov rdx, qword [rsp + 0x40]
mov qword [rcx + rdx*8], rax
cmp r13, rsi
je 0x140338866
movabs rdx, 0xa97862183eb65cf4
movabs r10, 0xdd85c633ba943b82
movabs r11, 0x5d85c633ba943b82
mov r14d, 0xbeac
mov r12, qword [rsp + 0x28]
movzx ecx, byte [r13 + 0x10]
mov rax, qword [0x14053c818]
add rdx, rax
mov r8, rcx
xor r8, rdx
and r8, rdx
not edx
and edx, ecx
or rdx, r8
movabs r9, 0x100000001b3
imul rdx, r9
movzx ecx, byte [r13 + 0x11]
not rcx
mov r8, rdx
and r8, rcx
or rcx, rdx
not rcx
or rcx, r8
imul rcx, r9
movzx edx, byte [r13 + 0x12]
xor rdx, rcx
mov rcx, rax
xor rcx, r10
mov r8, rax
and r8, r11
lea rcx, [rcx + r8*2]
imul rcx, rdx
movzx edx, byte [r13 + 0x13]
xor rdx, rcx
add rax, r10
imul rax, rdx
mov rcx, qword [rdi + 0x30]
mov rdx, rax
not rdx
xor rax, rcx
not rcx
and rcx, rdx
or rcx, rax
not rcx
lea r15, [rcx + rcx]
lea rax, [rcx + rcx]
inc rax
mov qword [rsp + 0x20], rax
mov rbp, qword [r12 + r15*8 + 8]
nop dword [rax]
mov rbx, r13
mov r13, qword [r13]
lea rcx, [rbx + 0x18]
mov eax, dword [0x14053cae4]
mov edx, dword [0x14053c810]
add eax, edx
add eax, 0xe1274750
cdqe
add rax, qword [0x14053caf8]
call qword [case.0x140303ece.0]
mov eax, dword [0x14053cae0]
add eax, r14d
cdqe
add rax, qword [0x14053caf0]
mov edx, 0x30
mov rcx, rbx
call qword [case.0x140303ece.0]
mov rax, qword [rdi + 0x10]
add rax, qword [0x14055c1b0]
mov rcx, rax
neg rcx
add rcx, rcx
not rcx
sub rcx, rax
mov qword [rdi + 0x10], rcx
cmp rbx, rbp
je 0x140338827
cmp r13, rsi
jne 0x1403387b0
jmp 0x140338862
mov rax, qword [rsp + 0x30]
mov qword [r12 + r15*8], rax
mov rcx, qword [rsp + 0x20]
mov qword [r12 + rcx*8], rax
cmp r13, rsi
movabs rdx, 0xa97862183eb65cf4
movabs r10, 0xdd85c633ba943b82
movabs r11, 0x5d85c633ba943b82
jne 0x140338708
jmp 0x140338866
mov qword [r12 + r15*8], r13
mov rax, qword [rsp + 0x38]
mov qword [rax], r13
mov qword [r13 + 8], rax
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret