Function at 0x20381dd0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x203820a6
mov rsi, rcx
lea rax, [rdx - 1]
neg rdx
mov rcx, rax
xor rcx, 1
mov r8, rdx
and r8, 0xfffffffffffffffe
or r8, rcx
not r8
and edx, 1
and rax, 0xfffffffffffffffe
or rax, rdx
or rax, r8
bsr rcx, rax
xor ecx, 0x3f
neg cl
mov ebx, 1
shl rbx, cl
lea rax, [rsi + 0x18]
mov rdi, qword [rsi + 8]
mov edx, 2
shl rdx, cl
mov rcx, rax
mov r8, rdi
call fcn.20145fc0
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rbx
mov rax, qword [rsi + 8]
mov r10, qword [rax]
cmp r10, rdi
je 0x20382096
movabs rax, 0xcbf29ce484222325
movabs rcx, 0x100000001b3
movabs rdx, 0x6577b78e0d50b9d
movabs r8, 0x79a884871f2af462
jmp 0x20381ea1
mov qword [r11 + rbx*8], r9
mov qword [r11 + r15*8], r9
cmp r10, rdi
je 0x20382096
mov r9, r10
movzx r10d, byte [r10 + 0x10]
add r10, qword [0x205b49a8]
xor r10, rax
imul r10, rcx
movzx r11d, byte [r9 + 0x11]
xor r11, r10
imul r11, rcx
movzx r10d, byte [r9 + 0x12]
xor r10, r11
imul r10, rcx
movzx r11d, byte [r9 + 0x13]
mov rbx, r11
not rbx
and rbx, r10
not r10d
and r10d, r11d
or rbx, r10
mov r10, qword [0x20595470]
mov r11, r10
xor r11, rdx
not r10
and r10, r8
or r10, r11
not r10
lea r10, [r11 + r10*2]
imul r10, rbx
movzx r11d, byte [r9 + 0x14]
xor r11, r10
imul r11, rcx
movzx ebx, byte [r9 + 0x15]
mov r10, r11
not r10
mov r14, r10
xor r14, rbx
not rbx
and r11, rbx
or r11, r14
not r11
xor r10, rbx
and r10, rbx
or r10, r11
imul r10, rcx
movzx r11d, byte [r9 + 0x16]
mov rbx, r10
xor rbx, r11
not r11
mov r14, rbx
not r14
and r11, r10
or r11, r14
not r11
and rbx, r10
or rbx, r11
imul rbx, rcx
movzx r10d, byte [r9 + 0x17]
mov r14, r10
not r14
and r14, rbx
not ebx
and ebx, r10d
or r14, rbx
imul r14, rcx
and r14, qword [rsi + 0x30]
mov r10, qword [r9]
mov r11, qword [rsi + 0x18]
lea rbx, [r14 + r14]
lea r15, [r14 + r14]
inc r15
shl r14, 4
mov r12, qword [r11 + r14]
cmp r12, rdi
je 0x20381e90
mov r14, qword [r11 + r15*8]
mov r13, qword [r9 + 0x10]
cmp r13, qword [r14 + 0x10]
je 0x20382000
nop word cs:[rax + rax]
cmp r12, r14
je 0x20382034
mov r14, qword [r14 + 8]
cmp r13, qword [r14 + 0x10]
jne 0x20381fc0
mov r11, qword [r14]
mov rbx, qword [r9 + 8]
mov qword [rbx], r10
mov r14, qword [r10 + 8]
mov qword [r14], r11
mov r15, qword [r11 + 8]
mov qword [r15], r9
mov qword [r11 + 8], r14
mov qword [r10 + 8], rbx
mov qword [r9 + 8], r15
jmp 0x20381e98
mov rbx, qword [r14]
cmp rbx, r9
je 0x20381e94
mov r14, qword [r9 + 8]
mov qword [r14], r10
mov r12, qword [r10 + 8]
mov qword [r12], rbx
mov r13, qword [rbx + 8]
mov qword [r13], r9
mov qword [rbx + 8], r12
mov qword [r10 + 8], r14
mov qword [r9 + 8], r13
jmp 0x20381e94
mov r15, qword [r9 + 8]
mov qword [r15], r10
mov r12, qword [r10 + 8]
mov qword [r12], r14
mov r13, qword [r14 + 8]
mov qword [r13], r9
mov qword [r14 + 8], r12
mov qword [r10 + 8], r15
mov qword [r9 + 8], r13
mov r14, qword [0x205b3b20]
mov r15, r14
not r15
mov r12, r9
not r12
mov r13, r14
and r13, r12
and r12, r15
and r15, r9
or r13, r15
xor r14, r9
or r12, r14
not r12
lea r9, [r12*2]
add r9, r13
mov qword [r11 + rbx*8], r9
jmp 0x20381e98
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
mov edx, 1
mov r8d, 0x7e0237fe
mov r9d, 0xcf5b3f0b
call fcn.20382100
mov rcx, rax
call fcn.20429544
int3