Function at 0x1800ae410
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x1801681b0]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
mov rbp, rcx
movzx r15d, byte [rsp + 0x2e]
mov rdi, rdx
movzx r12d, byte [rsp + 0x2d]
movabs r14, 0xcbf29ce484222325
movzx r13d, byte [rsp + 0x2c]
mov rbx, rdx
mov rsi, qword [rbp + 0x90]
mov r11, rdx
mov r10, rdx
movzx r9d, dil
xor r9, r14
shr r10, 0x28
movabs r14, 0x100000001b3
shr r11, 0x30
imul r9, r14
mov r8, rdx
shr rbx, 0x38
shr rdx, 0x18
mov rax, rdi
shr rax, 8
mov rcx, rdi
movzx eax, al
xor r9, rax
shr rcx, 0x10
imul r9, r14
movzx eax, cl
xor r9, rax
shr r8, 0x20
imul r9, r14
movzx eax, dl
mov rdx, qword [rbp + 0xb8]
xor r9, rax
imul r9, r14
movzx eax, r8b
mov rcx, rdx
movzx r8d, byte [rsp + 0x2b]
xor r9, rax
imul r9, r14
movzx eax, r10b
movzx r10d, byte [rsp + 0x2a]
xor r9, rax
imul r9, r14
movzx eax, r11b
movzx r11d, byte [rsp + 0x29]
xor r9, rax
imul r9, r14
mov byte [rsp + 0x22], r8b
xor r9, rbx
mov byte [rsp + 0x20], r10b
mov rbx, r14
mov byte [rsp + 0x21], r11b
movzx r14d, byte [rsp + 0x2f]
imul r9, rbx
and rcx, r9
mov r9, qword [rbp + 0xa0]
add rcx, rcx
mov rax, qword [r9 + rcx*8 + 8]
cmp rax, rsi
je 0x1800ae65c
mov rcx, qword [r9 + rcx*8]
cmp rdi, qword [rax + 0x10]
je 0x1800ae556
cmp rax, rcx
je 0x1800ae65c
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x1800ae543
test rax, rax
cmove rax, rsi
cmp rax, rsi
je 0x1800ae65c
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, rbx
xor rcx, r11
imul rcx, rbx
xor rcx, r10
imul rcx, rbx
xor rcx, r8
imul rcx, rbx
xor rcx, r13
imul rcx, rbx
xor rcx, r12
imul rcx, rbx
xor rcx, r15
imul rcx, rbx
xor rcx, r14
imul rcx, rbx
and rdx, rcx
mov rcx, rdx
add rcx, rcx
mov r8, qword [r9 + rcx*8 + 8]
mov rbx, r8
cmp r8, rsi
je 0x1800ae652
mov rax, qword [r9 + rcx*8]
cmp rdi, qword [r8 + 0x10]
je 0x1800ae5df
cmp rbx, rax
je 0x1800ae652
mov rbx, qword [rbx + 8]
cmp rdi, qword [rbx + 0x10]
jne 0x1800ae5d0
test rbx, rbx
je 0x1800ae652
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp r8, rbx
jne 0x1800ae60b
cmp rax, rbx
jne 0x1800ae600
mov qword [r9 + rdx*8], rsi
mov qword [r9 + rcx*8 + 8], rsi
jmp 0x1800ae617
mov rsi, qword [rbx + 8]
mov qword [r9 + rcx*8 + 8], rsi
jmp 0x1800ae617
cmp rax, rbx
jne 0x1800ae617
mov rax, qword [rbx]
mov qword [r9 + rdx*8], rax
mov rcx, qword [rbx]
dec qword [rbp + 0x98]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
lea rcx, [rbx + 0x18]
call fcn.1800af700
mov edx, 0x28
mov rcx, rbx
call fcn.1800e83cc
movzx r10d, byte [rsp + 0x20]
movzx r11d, byte [rsp + 0x21]
movabs rbx, 0x100000001b3
mov rax, qword [rbp + 0xd0]
movabs rcx, 0xcbf29ce484222325
movzx r8d, dil
xor r8, rcx
movzx ecx, r11b
imul r8, rbx
xor r8, rcx
movzx ecx, r10b
imul r8, rbx
xor r8, rcx
movzx ecx, byte [rsp + 0x22]
imul r8, rbx
xor r8, rcx
mov rcx, qword [rbp + 0xe0]
imul r8, rbx
xor r8, r13
imul r8, rbx
xor r8, r12
imul r8, rbx
xor r8, r15
imul r8, rbx
xor r8, r14
imul r8, rbx
and r8, qword [rbp + 0xf8]
add r8, r8
mov rdx, qword [rcx + r8*8 + 8]
cmp rdx, rax
je 0x1800ae70c
mov r8, qword [rcx + r8*8]
cmp rdi, qword [rdx + 0x10]
je 0x1800ae6ef
nop dword [rax + rax]
cmp rdx, r8
je 0x1800ae70c
mov rdx, qword [rdx + 8]
cmp rdi, qword [rdx + 0x10]
jne 0x1800ae6e0
test rdx, rdx
cmove rdx, rax
cmp rdx, rax
je 0x1800ae70c
lea rdx, [rsp + 0x28]
lea rcx, [rbp + 0xc8]
call fcn.1800af780
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1800e8370
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret