Function at 0x140385600
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x50], xmm6
mov qword [rbp + 0x48], 0xfffffffffffffffe
mov rsi, r9
mov r14, r8
mov qword [rbp - 0x38], rdx
mov qword [rbp + 0x10], rcx
call fcn.140367a40
mov qword [rbp + 0x38], 0xf
mov qword [rbp + 0x30], 0xc
mov dword [rsp + 0x20], 0x1efe17fc
mov ecx, 1
xor edx, edx
mov r8d, 0x9b267c1
mov r9d, 0xfd11b845
call fcn.1403866e0
mov rcx, qword [rax]
mov qword [rbp + 0x20], rcx
mov eax, dword [rax + 8]
mov dword [rbp + 0x28], eax
mov byte [rbp + 0x2c], 0
lea rdx, [rbp + 0x20]
mov qword [rbp - 0x18], rsi
mov rcx, rsi
call fcn.140368ec0
mov rax, qword [rbp + 0x38]
cmp rax, 0x10
jb 0x1403856d7
mov rcx, qword [rbp + 0x20]
lea rdx, [rax + 1]
movabs r8, 0x2b87de651bfc9149
add r8, qword [0x1405202b0]
cmp rdx, r8
jbe 0x1403856d2
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140385dba
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a6550
mov rax, qword [r14 + 8]
xorps xmm6, xmm6
lea r14, [fcn.140385600]
mov qword [rbp - 0x20], rax
mov rsi, rax
nop dword [rax]
mov rcx, rsi
mov rcx, qword [rsi]
movsxd rax, dword [0x140427640]
mov qword [rbp - 0x10], rax
mov eax, dword [0x140534d7c]
cmp eax, 0x4e
jl 0x140385712
mov eax, dword [0x140427660]
mov eax, dword [0x140427660]
mov dword [rbp + 0x1c], eax
cmp rcx, qword [rbp - 0x20]
je 0x140385d99
mov rdi, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
xor edx, edx
mov qword [rbp - 0x40], rax
cmp rdi, rax
je 0x140385d5b
mov qword [rbp], rcx
lea rax, [0x140427640]
add qword [rbp - 0x10], rax
jmp 0x14038575e
add rdi, 0x28
cmp rdi, qword [rbp - 0x40]
je 0x140385d91
mov eax, dword [rdi]
mov r9, rax
shr r9, 8
mov edx, eax
shr edx, 0x10
mov r8d, eax
not r8d
mov ecx, eax
xor ecx, 0xff
and r8d, 0xffffff00
or r8d, ecx
mov ecx, dword [0x1405202b8]
mov r10d, ecx
xor r10d, 0x68ddd868
mov r11d, ecx
and r11d, 0x68ddd868
lea r10d, [r10 + r11*2]
xor r10d, r8d
mov r8, r10
not r8
movabs r11, 0xcbf29ce484222325
and r8, r11
movabs r11, 0x340d631b7bdddcda
xor r10, r11
or r10, r8
not r10
or r10, r8
movabs rsi, 0x100000001b3
imul r10, rsi
mov r8d, r9d
xor r8d, 0xffff00
and r8d, r9d
xor r8, r10
mov r9d, edx
mov r10d, edx
not r10d
and r9d, 0xff00
movzx r11d, r10b
or r11d, r9d
movzx edx, dl
or edx, r11d
add ecx, 0x68ddd968
xor ecx, r10d
mov r9d, ecx
xor r9d, edx
or ecx, edx
mov rdx, rax
shr rdx, 0x18
imul r8, rsi
not ecx
or ecx, r9d
mov r9d, ecx
not r9d
movabs r10, 0xffffffff00000000
or rcx, r10
and rcx, r8
not r8d
and r8d, r9d
or rcx, r8
imul rcx, rsi
mov r8, rdx
not r8
and r8, rcx
not ecx
and edx, ecx
or r8, rdx
mov rdx, qword [0x1405202b0]
movabs rcx, 0x2b87df651bfc82fd
add rdx, rcx
imul rdx, r8
mov r8, qword [rbp - 0x38]
and rdx, qword [r8 + 0x110]
mov rcx, qword [r8 + 0xe8]
mov r8, qword [r8 + 0xf8]
mov r9, rdx
shl r9, 4
mov r9, qword [r8 + r9 + 8]
cmp r9, rcx
je 0x140385750
cmp eax, dword [r9 + 0x10]
je 0x1403858c3
add rdx, rdx
mov rdx, qword [r8 + rdx*8]
cmp r9, rdx
je 0x140385750
mov r9, qword [r9 + 8]
cmp eax, dword [r9 + 0x10]
jne 0x1403858b0
cmp r9, rcx
je 0x140385750
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov qword [rbp + 8], rax
mov qword [rbp - 0x30], rcx
cmp rax, rcx
je 0x140385750
mov qword [rbp - 8], rdi
mov qword [rbp - 0x28], r9
jmp 0x14038590e
mov rax, qword [rbp + 8]
add rax, 0x20
mov qword [rbp + 8], rax
cmp rax, qword [rbp - 0x30]
mov rdi, qword [rbp - 8]
mov r9, qword [rbp - 0x28]
je 0x140385750
mov r12, qword [r9 + 0x18]
mov rax, qword [r9 + 0x20]
mov qword [rbp - 0x48], rax
cmp r12, rax
setne dl
sete al
movzx ecx, byte [0x140531658]
xor al, cl
not cl
and cl, dl
or cl, al
xor cl, 1
mov edx, ecx
and dl, al
test dl, 1
jne 0x1403858f0
xor cl, al
test cl, 1
jne 0x1403858f0
nop word cs:[rax + rax]
lea rax, [rbp + 0x30]
movups xmmword [rax], xmm6
mov rsi, qword [r12 + 0x10]
mov rdi, qword [0x1405316f8]
lea rbx, [rdi + rsi]
cmp qword [r12 + 0x18], 0x10
mov r13, r12
jb 0x140385976
mov r13, qword [r12]
cmp rbx, 0x10
jae 0x140385b00
movups xmm0, xmmword [r13]
movaps xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], 0xf
lea r15, [rbp + 0x20]
test rbx, rbx
jne 0x140385b98
nop word cs:[rax + rax]
lea rcx, [rbp + 0x20]
mov rdx, qword [rbp + 8]
xor r8d, r8d
call fcn.14024c700
mov r13, rax
mov rax, qword [rbp + 0x38]
cmp rax, 0x10
jb 0x140385c22
mov rcx, qword [rbp + 0x20]
mov r8d, dword [0x1405201a4]
lea edx, [r8 + r8]
sub edx, r8d
inc edx
mov dword [0x1405201a4], edx
xor r8d, edx
not r8d
and r8d, edx
mov r9d, dword [0x1405202b8]
mov r10d, 0x68ddd869
add r9d, r10d
cmp r8d, r9d
jne 0x140385a1b
mov edx, dword [0x1405202b8]
add edx, r10d
cmp edx, dword [rbp + 0x1c]
jl 0x140385c3f
xor r10d, r10d
lea rdx, [rax + 1]
cmp rdx, 0xfff
jbe 0x140385c1d
xor edx, edx
cmp r8d, r9d
setne dl
mov r8, qword [0x1405202b0]
sub r8, rdx
movabs rdx, 0x2b87de651bfc814a
add r8, rdx
sub r10, qword [0x140427658]
mov rdx, r10
dec r10
and r10, r8
not r8
neg rdx
and rdx, r8
or r10, rdx
xor r10, r8
or rdx, r10
not rdx
or rdx, r10
not rdx
mov r8, qword [0x1405316f8]
mov r9d, dword [0x140534d7c]
cmp r9d, 0x2a
jg 0x140385ae4
mov r9d, dword [0x1405202b8]
mov r10d, r9d
xor r10d, 0x68ddd86a
and r9d, 0x68ddd86a
lea r9d, [r10 + r9*2]
lea r10d, [r14 + r14]
add r10d, 0x1480
mov r11d, r10d
not r11d
mov esi, r11d
and esi, r9d
mov edi, r10d
and r10d, r9d
not r9d
and edi, r9d
or edi, esi
xor r11d, r9d
or r10d, r11d
not r10d
or r10d, edi
cmp r10d, 0xffffffff
je 0x140385bd0
lea r9d, [r14 + r14]
add r9d, 0x3be0
mov r10d, r9d
not r10d
test r10d, r9d
jne 0x140385a80
jmp 0x140385a8d
mov r15, rbx
or r15, 0xf
movabs rax, 0x7fffffffffffffff
cmp r15, rax
cmovae r15, rax
mov rax, qword [0x1405202b0]
mov rcx, rax
movabs rdx, 0x2b87de651bfc9148
xor rcx, rdx
and rax, rdx
lea rax, [rcx + rax*2]
cmp r15, rax
jbe 0x140385b70
lea rcx, [r15 + 0x28]
call fcn.1403bba7c
mov rcx, qword [0x1405202b0]
movabs rdx, 0x2b87de651bfc8171
add rcx, rdx
xor rcx, rax
mov edx, eax
and edx, 0x27
lea rcx, [rcx + rdx*2]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140385b7c
lea rcx, [r15 + 1]
call fcn.1403bba7c
mov rcx, rax
mov qword [rbp + 0x20], rcx
lea r8, [rbx + 1]
mov rdx, r13
call fcn.1403e3a10
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], r15
mov r15, qword [rbp + 0x20]
add rsi, rdi
dec rsi
xor edi, edi
movsx ecx, byte [r15 + rdi]
mov edx, 0x37ede27a
mov r8d, 0x7fb7f32e
mov r9d, 0x8dcfeff4
call fcn.14026d650
mov byte [r15 + rdi], al
cmp rsi, rdi
je 0x1403859b0
inc rdi
jmp 0x140385ba0
add rdx, r8
mov qword [0x1405316f8], rdx
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
add rcx, qword [0x1405202b0]
movabs rdx, 0x2b87de651bfc814a
add rcx, rdx
cmp rcx, 0x20
jae 0x140385db5
add rax, qword [0x1405202b0]
movabs rcx, 0x2b87de651bfc8172
add rax, rcx
mov rdx, rax
mov rcx, r8
call fcn.1400a6550
cmp r13, 0xffffffffffffffff
jne 0x140385d50
add r12, 0x20
cmp r12, qword [rbp - 0x48]
jne 0x140385950
jmp 0x1403858f0
xor edx, edx
xor r11d, r11d
jmp 0x140385c63
or r10, rsi
lea edx, [r11 + rdx*2]
mov r11, r10
cmp edx, dword [rbp + 0x1c]
jge 0x140385a1e
movsxd r10, edx
add r10, qword [rbp - 0x10]
mov esi, dword [0x140534d78]
lea edi, [rsi - 1]
imul edi, esi
test dil, 1
mov bl, 1
jne 0x140385ca0
nop
test bl, bl
je 0x140385ca0
mov esi, dword [0x140534d78]
lea edi, [rsi - 1]
imul edi, esi
test dil, 1
jne 0x140385d40
jmp 0x140385cb0
mov esi, dword [0x140534d7c]
cmp esi, 0x34
jge 0x140385ca0
jmp 0x140385c80
mov esi, dword [0x140534d7c]
cmp esi, 0xd
jge 0x140385d40
mov rsi, qword [r10]
mov rdi, r11
not rdi
not rsi
mov r10, rdi
xor r10, rsi
and r10, rdi
and rsi, r11
mov edi, dword [0x1405202b8]
lea ebx, [rdi + 0x68ddd871]
mov r11d, edx
xor r11d, ebx
and edx, ebx
cmp edi, 0x97222797
je 0x140385c50
nop word [rax + rax]
mov edi, dword [0x1405202b8]
mov ebx, 0x97222795
sub ebx, edi
add edi, 0x68ddd86a
lea r15d, [r14 + r14]
add r15d, 0x4e0
xor edi, r15d
not r15d
and r15d, ebx
or r15d, edi
cmp r15d, 0xffffffff
jne 0x140385d00
jmp 0x140385c50
mov esi, dword [0x140534d7c]
cmp esi, 0x3d
jge 0x140385d40
jmp 0x140385cb0
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0x20]
mov rcx, qword [rbp]
mov rsi, rcx
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x20], rax
mov edi, edx
mov dword [rbp + 0x28], edx
mov rcx, qword [rbp + 0x10]
lea rdx, [rbp - 0x58]
lea r8, [rbp + 0x20]
call fcn.140371e20
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rbp - 0x18]
mov r8d, edi
call fcn.140368fa0
jmp 0x1403856f0
mov rcx, qword [rbp]
xor edx, edx
jmp 0x140385d5b
mov rax, qword [rbp + 0x10]
movaps xmm6, xmmword [rbp + 0x50]
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14039c09c
call fcn.14039c09c
int3