Function at 0x203819a0
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r14
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 eax, 0xffff2ce3
add eax, dword [0x20595480]
mov rdi, rcx
cdqe
add rax, qword [0x20595490]
mov ecx, 0x18
mov edx, 0x551ec0b0
mov r8d, 0x7e0237fe
call qword [case.0x2010e313.0]
mov r11, rax
mov rax, qword [rbx]
mov qword [r11 + 0x10], rax
movzx ecx, al
movabs rdx, 0x340d631b7bdddcda
xor rdx, rcx
and eax, 0xda
or rdx, rax
not rdx
or rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
movzx ecx, byte [r11 + 0x11]
mov r8, rdx
not r8
not rcx
mov r9, r8
xor r9, rcx
and r9, r8
and rcx, rdx
or rcx, r9
imul rcx, rax
movzx edx, byte [r11 + 0x12]
mov r8, rdx
not r8
and r8, rcx
not ecx
and ecx, edx
or r8, rcx
imul r8, rax
movzx ecx, byte [r11 + 0x13]
xor rcx, r8
imul rcx, rax
movzx edx, byte [r11 + 0x14]
not rdx
mov r8, rcx
and r8, rdx
or rdx, rcx
not rdx
or rdx, r8
imul rdx, rax
movzx ecx, byte [r11 + 0x15]
mov r8, rcx
not r8
and r8, rdx
not edx
and edx, ecx
or r8, rdx
imul r8, rax
movzx ecx, byte [r11 + 0x16]
mov edx, r8d
not edx
and edx, ecx
xor rcx, r8
and rcx, r8
xor rcx, rdx
imul rcx, rax
movzx r14d, byte [r11 + 0x17]
xor r14, rcx
imul r14, rax
mov rdx, qword [rdi + 0x30]
mov rax, r14
not rax
mov rcx, rax
and rcx, rdx
not rdx
mov r8, r14
and r8, rdx
or r8, rcx
and rdx, rax
or rdx, r8
not rdx
mov rax, qword [rdi + 8]
mov r8, qword [rdi + 0x18]
movzx ecx, byte [0x20595470]
add cl, 0xeb
shl rdx, cl
lea rcx, [rdx*8]
or rcx, 8
mov rcx, qword [r8 + rcx]
cmp rcx, rax
je 0x20381b7b
mov rax, qword [r11 + 0x10]
cmp rax, qword [rcx + 0x10]
je 0x20381b2f
mov rdx, qword [r8 + rdx*8]
nop dword [rax]
cmp rcx, rdx
je 0x20381b78
mov rcx, qword [rcx + 8]
cmp rax, qword [rcx + 0x10]
jne 0x20381b20
mov qword [rsi], rcx
xor eax, eax
sub eax, dword [0x20595484]
mov ecx, eax
xor ecx, 0xd31d
and eax, 0xd31d
lea eax, [rcx + rax*2]
neg eax
cdqe
add rax, qword [0x20595498]
mov byte [rsi + 8], 0
movabs rdx, 0x6577a78e0d50a02
add rdx, qword [0x20595470]
mov rcx, r11
call qword [case.0x2010e313.0]
jmp 0x20381d35
mov rax, rcx
mov rcx, qword [rdi + 0x10]
movabs rdx, 0xaaaaaaaaaaaaaaa
cmp rcx, rdx
je 0x20381d43
inc rcx
js 0x20381b9e
cvtsi2ss xmm0, rcx
jmp 0x20381bb3
mov rdx, rcx
shr rdx, 1
and ecx, 1
or rcx, rdx
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
movss xmm1, dword [rdi]
mov rbx, qword [rdi + 0x38]
test rbx, rbx
js 0x20381bc7
cvtsi2ss xmm2, rbx
jmp 0x20381bde
mov rcx, rbx
shr rcx, 1
mov edx, ebx
and edx, 1
or rdx, rcx
cvtsi2ss xmm2, rdx
addss xmm2, xmm2
movaps xmm3, xmm0
divss xmm3, xmm2
ucomiss xmm3, xmm1
jbe 0x20381ca7
mov qword [rbp - 0x10], r11
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
jae 0x20381c50
lea rcx, [rbx*8]
add rcx, qword [0x205b3b20]
cmp rcx, rax
cmovb rcx, rax
cmp rbx, 0x200
cmovae rcx, rax
mov rbx, rcx
mov rcx, rdi
mov rdx, rbx
call fcn.20381dd0
mov rdx, qword [rdi + 0x30]
and rdx, r14
mov rax, qword [rdi + 8]
mov r8, qword [rdi + 0x18]
mov rcx, rdx
shl rcx, 4
mov rcx, qword [r8 + rcx + 8]
cmp rcx, rax
mov r11, qword [rbp - 0x10]
je 0x20381ca7
mov rax, qword [r11 + 0x10]
cmp rax, qword [rcx + 0x10]
je 0x20381c9f
add rdx, rdx
mov rdx, qword [r8 + rdx*8]
cmp rcx, rdx
je 0x20381ca4
mov rcx, qword [rcx + 8]
cmp rax, qword [rcx + 0x10]
jne 0x20381c90
mov rax, qword [rcx]
jmp 0x20381ca7
mov rax, rcx
mov rdx, qword [rax + 8]
mov rcx, qword [rdi + 0x10]
mov r8, qword [0x205b49a8]
add rcx, r8
inc rcx
mov qword [rdi + 0x10], rcx
mov qword [r11], rax
mov qword [r11 + 8], rdx
mov qword [rdx], r11
mov qword [rax + 8], r11
mov r9, qword [rdi + 0x30]
xor r9, r14
not r9
and r9, r14
mov ecx, dword [0x20595470]
mov r8d, ecx
xor r8d, 0xeb
and ecx, 0x6b
lea ecx, [r8 + rcx*2]
shl r9, cl
mov r10, qword [rdi + 0x18]
lea rcx, [r10 + r9*8]
lea r8, [r9*8]
or r8, 8
add r8, r10
mov r9, qword [r10 + r9*8]
cmp r9, qword [rdi + 8]
je 0x20381d25
cmp r9, rax
je 0x20381d2b
mov rcx, r8
cmp qword [r8], rdx
jne 0x20381d2e
jmp 0x20381d2b
mov qword [rcx], r11
mov rcx, r8
mov qword [rcx], r11
mov qword [rsi], r11
mov byte [rsi + 8], 1
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov qword [rbp - 0x10], r11
mov eax, 0xffff2ce3
add eax, dword [0x20595488]
cdqe
add rax, qword [0x205954a0]
xor ecx, ecx
xor edx, edx
mov r8d, 0x8c1d1e
mov r9d, 0x67041f9f
call qword [case.0x2010e313.0]
mov rcx, rax
call fcn.20429544
int3