Function at 0x203caac0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x203cae8b
mov rdi, rcx
lea rax, [rcx + 0x18]
dec rdx
or rdx, 1
bsr rcx, rdx
xor ecx, 0x3f
neg cl
mov esi, 1
shl rsi, cl
mov rbx, qword [rdi + 8]
movabs rdx, 0xc37f92e534ca1f2
add rdx, qword [0x2059f3c0]
shl rdx, cl
mov qword [rsp + 0x70], rax
mov rcx, rax
mov r8, rbx
call fcn.203c9e80
lea rax, [rsi - 1]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rsi
mov rax, qword [rdi + 8]
mov r15, qword [rax]
cmp r15, rbx
je 0x203cae7a
mov rdx, rbx
add rdi, 0x30
mov qword [rsp + 0x60], rbx
jmp 0x203cab73
mov qword [rdi], r12
mov qword [rbx + rsi*8], r12
cmp r15, rdx
mov rdi, r14
je 0x203cae7a
mov r12, r15
mov r15, qword [r15]
mov dword [rsp + 0x20], 0x97bb755d
mov rcx, r12
lea rbx, [rsp + 0x58]
mov rdx, rbx
lea r8, [rsp + 0x57]
mov r9d, 0x2b557cf7
call fcn.203db2f0
mov rbp, qword [rsp + 0x58]
movzx eax, byte [rsp + 0x57]
mov rsi, qword [0x2059f3c0]
movabs rcx, 0xd82a9612d76ec515
add rcx, rsi
mov edx, ecx
not edx
and edx, eax
not rax
and rax, rcx
or rdx, rax
movabs r14, 0x100000001b3
imul rdx, r14
movzx eax, byte [r12 + 0x11]
xor rax, rdx
movabs r13, 0xc37fa2e534ca3a3
add rsi, r13
imul rsi, rax
mov rcx, r12
mov rdx, rbx
mov r8d, 0x48739d17
mov r9d, 0x63fa654e
call fcn.203da9d0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax]
xor rax, rsi
imul rax, r14
movzx esi, byte [r12 + 0x13]
xor rsi, rax
imul rsi, r14
lea rcx, [r12 + 0x14]
mov r9d, dword [0x2059f3b8]
lea r8d, [r9 + 0x101e9222]
add r9d, 0x35772aa8
mov rdx, rbx
call fcn.201294f0
movzx ecx, byte [rsp + 0x58]
mov eax, dword [0x2059f3b8]
lea r8d, [rax - 0x39576498]
mov edx, eax
xor edx, 0x21627df
and eax, 0x21627df
lea r9d, [rdx + rax*2]
mov rdx, rbx
call fcn.203db100
xor rsi, qword [rsp + 0x58]
mov rax, qword [0x2059f3c0]
add rax, r13
imul rax, rsi
movzx ecx, byte [r12 + 0x15]
mov r13, rcx
not r13
and r13, rax
not eax
and eax, ecx
or r13, rax
imul r13, r14
mov rcx, r12
mov rdx, rbx
mov r8d, 0x61008744
mov r9d, 0x850213db
call fcn.203db290
mov rdx, qword [rsp + 0x58]
mov eax, dword [0x2059f3b8]
lea ecx, [rax - 0x72b52ad9]
mov r8d, eax
xor r8d, 0x9c19b048
and eax, 0x1c19b048
lea eax, [r8 + rax*2]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rbx
mov rcx, r13
mov r8, r12
mov r14, rdi
mov r9, rdi
call fcn.203dafa0
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax]
movzx ecx, byte [0x2059f3c0]
add cl, 0xf1
shl rsi, cl
lea rdi, [rbx + rsi*8]
mov rax, qword [rbx + rsi*8]
or rsi, 1
cmp rax, rdx
je 0x203cab60
mov r13, qword [rbx + rsi*8]
mov rcx, qword [rbp]
cmp rcx, qword [r13 + 0x10]
jne 0x203cada0
mov r13, qword [r13]
cmp r13, r12
je 0x203cab63
mov rdi, qword [r12 + 8]
mov qword [rdi], r15
mov rbp, qword [r15 + 8]
mov r9d, dword [0x2059f3b8]
mov eax, r9d
xor eax, 0x34221cbc
mov ecx, r9d
and ecx, 0x34221cbc
lea r8d, [rax + rcx*2]
add r9d, 0xca947c9d
mov rcx, r13
mov rdx, rbp
call fcn.200fb840
mov rdx, qword [rsp + 0x60]
mov rax, qword [r13 + 8]
mov qword [rax], r12
mov qword [r13 + 8], rbp
mov qword [r15 + 8], rdi
mov qword [r12 + 8], rax
jmp 0x203cab63
cmp rax, r13
je 0x203cadf9
mov r13, qword [r13 + 8]
cmp rcx, qword [r13 + 0x10]
jne 0x203cada0
mov rcx, qword [r13]
mov rsi, qword [r12 + 8]
mov qword [rsi], r15
mov rdi, qword [r15 + 8]
mov qword [rdi], rcx
lea rdx, [rsp + 0x58]
mov r8d, 0x78c16eb5
mov r9d, 0x876ac5bd
call fcn.2012a640
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov qword [rcx], r12
mov qword [rax], rdi
mov qword [r15 + 8], rsi
mov qword [r12 + 8], rcx
jmp 0x203cab67
lea rax, [r12 + 8]
mov qword [rsp + 0x68], rax
mov rbx, qword [r12 + 8]
mov qword [rbx], r15
lea rsi, [r15 + 8]
mov rbp, qword [r15 + 8]
mov qword [rbp], r13
add r13, 8
mov rcx, r13
lea rdx, [rsp + 0x58]
mov r8d, 0x3c48a72b
mov r9d, 0xbf4353f4
call fcn.200fb690
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x38], rdi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x48], 0xab0d8946
mov dword [rsp + 0x40], 0x10ff0235
mov rcx, r12
mov r8, rbp
mov r9, r13
call fcn.203da960
mov rdx, qword [rsp + 0x60]
jmp 0x203cab67
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 1
xor edx, edx
mov r8d, 0x378c58f7
mov r9d, 0x11248ca5
call fcn.203d8260
mov rcx, rax
mov edx, 0xbb8e55c7
mov r8d, 0xd7575826
call fcn.203db340
int3