Function at 0x203d2b10
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [r8]
mov ecx, eax
xor ecx, 0x25
and ecx, eax
not rax
movabs rdx, 0xcbf29ce484222325
and rdx, rax
or rcx, rdx
mov rax, qword [0x2059f3c0]
movabs rdx, 0xc37fa2e534ca3a3
lea r9, [rax + rdx]
imul r9, rcx
movzx r8d, byte [r8 + 1]
xor r8, r9
movabs rcx, 0x100000001b3
imul r8, rcx
movzx r9d, byte [rbx + 2]
mov r10d, r8d
not r10d
xor r8, r9
and r10d, r9d
not r8
or r8, r10
not r8
or r8, r10
imul r8, rcx
movzx r9d, byte [rbx + 3]
mov r10, r9
not r10
and r10, r8
not r8d
and r8d, r9d
or r10, r8
mov r8, rax
xor r8, rdx
and rdx, rax
lea rdx, [r8 + rdx*2]
imul rdx, r10
movzx r8d, byte [rbx + 4]
mov r9, r8
not r9
and r9, rdx
not edx
and edx, r8d
or r9, rdx
imul r9, rcx
movzx edx, byte [rbx + 5]
xor rdx, r9
imul rdx, rcx
movzx r8d, byte [rbx + 6]
mov r9, r8
not r9
and r9, rdx
not edx
and edx, r8d
or r9, rdx
imul r9, rcx
movzx r14d, byte [rbx + 7]
xor r14, r9
imul r14, rcx
mov rcx, qword [rdi + 0x30]
mov rdx, rcx
xor rdx, r14
not rdx
and rdx, rcx
mov r15, qword [rdi + 8]
mov r8, qword [rdi + 0x18]
mov ecx, eax
not ecx
mov r9d, eax
and r9d, 0xe
mov r10d, ecx
and r10d, 0xf1
or r10d, r9d
xor eax, 0x71
and ecx, 0xe
or ecx, eax
not ecx
lea ecx, [r10 + rcx*2]
shl rdx, cl
lea rax, [rdx*8]
or rax, 8
mov r12, qword [r8 + rax]
cmp r12, r15
je 0x203d2c9b
mov rax, qword [rbx]
cmp rax, qword [r12 + 0x10]
je 0x203d2c91
mov rcx, qword [r8 + rdx*8]
nop dword [rax]
cmp r12, rcx
je 0x203d2c98
mov r12, qword [r12 + 8]
cmp rax, qword [r12 + 0x10]
jne 0x203d2c80
xor ecx, ecx
jmp 0x203d2ec6
mov r15, r12
movabs rax, 0x7ffffffffffffff
cmp qword [rdi + 0x10], rax
je 0x203d2ede
mov eax, dword [0x2059f4e4]
mov r8d, dword [0x2059f3b8]
mov ecx, r8d
xor ecx, 0x492aba50
mov edx, r8d
and edx, 0x492aba50
lea ecx, [rcx + rdx*2]
neg ecx
add eax, ecx
add eax, 0x2905c5ed
mov ecx, eax
xor ecx, 0x73c04d34
and eax, 0x73c04d34
lea eax, [rcx + rax*2]
cdqe
add rax, qword [0x2059f4f0]
movabs rcx, 0xc37f92e534ca210
add rcx, qword [0x2059f3c0]
mov edx, r8d
xor edx, 0x908dcedf
mov r9d, r8d
and r9d, 0x108dcedf
lea edx, [rdx + r9*2]
mov r9d, r8d
xor r9d, 0xec5bc5f7
and r8d, 0x6c5bc5f7
lea r8d, [r9 + r8*2]
call qword [case.0x2010e313.0]
mov r12, rax
movups xmm0, xmmword [rbx]
movups xmmword [rax + 0x10], xmm0
mov rax, qword [rdi + 0x10]
inc rax
js 0x203d2d53
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x203d2d6b
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
movss xmm1, dword [rdi]
mov rbx, qword [rdi + 0x38]
test rbx, rbx
js 0x203d2d7f
cvtsi2ss xmm2, rbx
jmp 0x203d2d96
mov rax, rbx
shr rax, 1
mov ecx, ebx
and ecx, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm3, xmm0
divss xmm3, xmm2
ucomiss xmm3, xmm1
jbe 0x203d2e67
divss xmm0, xmm1
call fcn.2045cabc
cvttss2si rax, xmm0
mov rcx, rax
subss xmm0, dword [0x2049029c]
cvttss2si rdx, xmm0
sar rcx, 0x3f
and rdx, rcx
or rdx, rax
cmp rdx, 9
mov eax, 8
cmovae rax, rdx
cmp rbx, rax
mov qword [rbp - 0x10], r12
jae 0x203d2e01
lea rcx, [rbx*8]
cmp rcx, rax
cmovb rcx, rax
cmp rbx, 0x200
cmovae rcx, rax
mov rbx, rcx
mov rcx, rdi
mov rdx, rbx
call fcn.203d2f70
mov rcx, qword [rdi + 0x30]
and rcx, r14
mov r15, qword [rdi + 8]
mov r8, qword [rdi + 0x18]
mov rax, rcx
shl rax, 4
mov rax, qword [r8 + rax + 8]
cmp rax, r15
mov r12, qword [rbp - 0x10]
je 0x203d2e67
mov rdx, r12
add rdx, 0x10
mov rdx, qword [rdx]
cmp rdx, qword [rax + 0x10]
je 0x203d2e5f
add rcx, rcx
mov rcx, qword [r8 + rcx*8]
nop word [rax + rax]
cmp rax, rcx
je 0x203d2e64
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x203d2e50
mov r15, qword [rax]
jmp 0x203d2e67
mov r15, rax
mov rax, qword [r15 + 8]
inc qword [rdi + 0x10]
mov qword [r12], r15
mov qword [r12 + 8], rax
mov qword [rax], r12
mov qword [r15 + 8], r12
mov rcx, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x30]
xor r14, rdx
not r14
and r14, rdx
shl r14, 4
lea rdx, [rcx + r14]
lea r8, [rcx + r14]
add r8, 8
mov rcx, qword [rcx + r14]
cmp rcx, qword [rdi + 8]
je 0x203d2ebb
cmp rcx, r15
je 0x203d2ec1
mov cl, 1
mov rdx, r8
cmp qword [r8], rax
jne 0x203d2ec6
jmp 0x203d2ec1
mov qword [rdx], r12
mov rdx, r8
mov qword [rdx], r12
mov cl, 1
mov qword [rsi], r12
mov byte [rsi + 8], cl
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x2059f4e0]
mov ecx, dword [0x2059f3b8]
add eax, ecx
add eax, 0xac66a14d
cdqe
add rax, qword [0x2059f500]
xor ecx, ecx
xor edx, edx
mov r8d, 0xbf20985c
mov r9d, 0xa3b96418
call qword [case.0x2010e313.0]
mov rcx, rax
call fcn.20429544
int3