Function at 0x140486c70
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x1404870e3
mov rsi, rcx
lea r14, [rcx + 0x18]
lea rdi, [rsp + 0x58]
mov rcx, rdx
mov rdx, rdi
mov r8d, 0x5add149d
mov r9d, 0xf9d56a15
call fcn.14048d060
bsr rax, qword [rsp + 0x58]
xor rax, 0x3f
mov rcx, qword [0x14067c4b8]
sub rcx, rax
mov qword [rsp + 0x68], rsi
movabs rbx, 0x6d5c2063fe8d4c30
add rbx, rcx
mov eax, dword [0x14067c4b0]
mov ecx, eax
xor ecx, 0xec93bcc2
mov edx, eax
xor edx, 0x136c433d
and edx, eax
lea ecx, [rcx + rdx*2]
add eax, 0x33b67b92
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x78]
lea r9, [rsp + 0x60]
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
call fcn.14048ec10
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
mov edx, 2
mov ecx, ebx
mov rbx, qword [rsp + 0x68]
shl rdx, cl
mov qword [rsp + 0x80], r14
mov rcx, r14
mov r8, r15
call fcn.140485ef0
lea rax, [rsi - 1]
mov qword [rbx + 0x30], rax
lea rdx, [rbx + 0x38]
mov rcx, rsi
mov rsi, r15
mov r8d, 0xe4282aa1
mov r9d, 0x785e5cf4
call fcn.14048d360
mov dword [rsp + 0x20], 0x414dfc92
lea r8, [rsp + 0x58]
mov rcx, rdi
mov rdx, r15
mov r9d, 0xbbae0bb9
call fcn.14048e980
test al, 1
je 0x140486dad
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, qword [rsp + 0x58]
mov qword [rsp + 0x70], rsi
jmp 0x140486de3
mov qword [r12 + r15*8], r13
mov qword [r12 + r14*8], r13
mov rcx, rbp
mov rdx, rsi
mov r8d, 0x78ef6358
mov r9d, 0x30af1245
call fcn.1401d8a80
test al, 1
jne 0x140486d99
mov r13, rbp
mov rbp, qword [rbp]
movzx eax, byte [r13 + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r14, 0x100000001b3
imul rax, r14
movzx ecx, byte [r13 + 0x11]
mov rdx, rax
xor eax, ecx
and eax, ecx
not rcx
xor rdx, rcx
not rdx
and rdx, rcx
or rdx, rax
imul rdx, r14
mov dword [rsp + 0x28], 0x909a5e61
mov dword [rsp + 0x20], 0x5f3c2c84
mov rcx, r13
lea rsi, [rsp + 0x60]
mov r8, rsi
lea rdi, [rsp + 0x58]
mov r9, rdi
call fcn.14048e8e0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rcx]
mov rdx, rcx
not rdx
and rdx, rax
not eax
and eax, ecx
or rdx, rax
imul rdx, r14
movzx eax, byte [r13 + 0x14]
mov rcx, rax
not rcx
and rcx, rdx
not edx
and edx, eax
or rcx, rdx
imul rcx, r14
movzx eax, byte [r13 + 0x15]
mov rdx, rcx
not rdx
not rax
mov r8, rdx
xor r8, rax
and r8, rdx
and rax, rcx
or rax, r8
imul rax, r14
movzx ecx, byte [r13 + 0x16]
xor rcx, rax
imul rcx, r14
movzx eax, byte [r13 + 0x17]
mov rdx, rax
not rdx
mov r8, rcx
xor r8, rdx
and rdx, rcx
not rcx
mov r9d, eax
and r9d, ecx
xor rcx, rax
or rdx, rcx
not rdx
or rdx, r8
mov rcx, rdx
xor rcx, r9
xor edx, r9d
and edx, r9d
not rcx
or rcx, rdx
imul rcx, r14
mov rdx, qword [rbx + 0x30]
mov eax, dword [0x14067c4b0]
mov r8d, eax
xor r8d, 0x5b19256e
mov r9d, eax
xor r9d, 0x24e6da91
and r9d, eax
lea r8d, [r8 + r9*2]
add eax, 0xeef52f7d
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], rdi
mov r8, qword [rsp + 0x80]
mov r9, rsi
mov rsi, qword [rsp + 0x70]
call fcn.14048d300
mov rax, qword [rsp + 0x60]
mov r12, qword [rsp + 0x58]
lea r15, [rax + rax]
lea r14, [rax + rax]
inc r14
shl rax, 4
mov rdi, qword [r12 + rax]
mov rcx, rdi
mov rdx, rsi
mov r8d, 0x98de6492
mov r9d, 0x295a2a9a
call fcn.1401d8a80
test al, 1
jne 0x140486dc0
mov rbx, qword [r12 + r14*8]
mov rsi, qword [r13 + 0x10]
cmp rsi, qword [rbx + 0x10]
jne 0x140486fe0
mov rax, qword [rbx]
cmp rax, r13
je 0x140486fcc
lea r9, [r13 + 8]
mov rcx, qword [r13 + 8]
mov qword [rcx], rbp
lea rdx, [rbp + 8]
mov r10, qword [rbp + 8]
mov qword [r10], rax
mov r8, qword [rax + 8]
mov qword [r8], r13
mov qword [rax + 8], r10
mov dword [rsp + 0x28], 0x62da5e36
mov dword [rsp + 0x20], 0xa217dd0e
call fcn.14048f520
mov qword [r12 + r14*8], r13
jmp 0x1404870d4
cmp rdi, rbx
je 0x1404870af
mov rbx, qword [rbx + 8]
lea rcx, [rbx + 0x10]
mov rdx, rsi
mov r8d, 0x2284a166
mov r9d, 0x6b52e329
call fcn.14048ee10
test al, 1
je 0x140486fe0
lea r12, [rsp + 0x58]
mov qword [rsp + 0x38], r12
lea r15, [rsp + 0x60]
mov qword [rsp + 0x30], r15
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x48], 0x88fca950
mov dword [rsp + 0x40], 0x28640849
mov rcx, rbx
mov rdx, r13
mov r8, rbp
lea r9, [rsp + 0x88]
call fcn.14048ecb0
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x78]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x28], 0x8b34b13d
mov dword [rsp + 0x20], 0xcf2eb70e
mov rdx, rsi
mov r8, r15
mov r9, r12
call fcn.14048d2c0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], r13
mov qword [rax], rsi
mov qword [r14], rbx
mov qword [rdi], rcx
jmp 0x1404870d4
mov rax, qword [r13 + 8]
mov qword [rax], rbp
mov rcx, qword [rbp + 8]
mov qword [rcx], rbx
mov rdx, qword [rbx + 8]
mov qword [rdx], r13
mov qword [rbx + 8], rcx
mov qword [rbp + 8], rax
mov qword [r13 + 8], rdx
mov qword [r12 + r15*8], r13
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
jmp 0x140486dc8
mov ecx, 1
xor edx, edx
mov r8d, 0x633b4d1f
mov r9d, 0xa12b3de3
call fcn.14048ae30
mov rcx, rax
call fcn.1404eb9b4
int3