Function at 0x14003adc8
Capabilities:
Hash data using murmur3

Disassembly:
push rbp
push rsi
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rdx
mov qword [rbp - 0x10], rcx
push 0x10
pop rax
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.14003b433
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 8]
mov qword [rbp], rcx
mov ecx, 4
cqo
idiv rcx
mov rcx, rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x18], rcx
mov ecx, 4
cqo
idiv rcx
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x10], rdx
movabs rcx, 0x2a34404ebebec881
movabs rdx, 0x2a34404ebebec883
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x20], rax
cvtsi2sd xmm1, rcx
movsd xmm0, qword [0x1401e75f0]
mulsd xmm1, xmm0
movsd qword [rbp + 0x28], xmm1
cvtsi2sd xmm0, rax
ucomisd xmm1, xmm0
sete al
setnp cl
and al, cl
mov byte [rbp + 0x37], al
subsd xmm0, xmm1
movsd qword [rbp + 0x38], xmm0
mov rdx, 0xffffffffffffffff
xor ecx, ecx
xor eax, eax
mov qword [rbp + 0x40], rdx
mov dword [rbp + 0x4c], ecx
mov qword [rbp + 0x50], rax
mov al, byte [rbp + 0x37]
mov rcx, qword [rbp + 0x40]
mov edx, dword [rbp + 0x4c]
mov r8, qword [rbp + 0x50]
mov qword [rbp - 0x28], r8
mov dword [rbp - 0x1c], edx
mov qword [rbp - 0x18], rcx
test al, 1
jne 0x14003af17
movsd xmm0, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.1401da490
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x28]
movsd qword [rbp - 0x30], xmm1
sub rsp, 0x20
call fcn.1401da490
movsd xmm1, qword [rbp - 0x30]
add rsp, 0x20
movsd xmm2, qword [0x1401e75f8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14003af17
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14003afe4
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x20]
cmp rax, rcx
jge 0x14003b0b6
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 8]
mov dword [rdx], 0
cmp rax, rcx
jl 0x14003af61
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14003afe4
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x10]
add rax, rcx
mov qword [rbp - 0x40], rax
xor eax, eax
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x48], rax
movabs rcx, 0xf0648739d1025d47
movabs rdx, 0xf0648739d1025d43
xor rcx, rdx
cmp rax, rcx
je 0x14003afd7
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x40]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
movabs rcx, 0x9d9e727bd6c68cb8
add rax, rcx
add rax, 1
movabs rcx, 0x9d9e727bd6c68cb8
sub rax, rcx
mov qword [rbp - 0x38], rax
jmp 0x14003af76
mov rax, qword [rbp]
cmp byte [rax], 0
je 0x14003afe9
jmp 0x14003b428
mov rdx, qword [rbp - 0x18]
mov r9d, dword [rbp - 0x1c]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
mov r10d, dword [rcx]
imul r8d, r10d, 0xcc9e2d51
shr r8d, 0x11
mov ecx, 0xbe2b8c39
xor ecx, 0xa8830c39
imul r10d, ecx
mov r11d, 0xb6922013
xor r11d, 0x496ddfec
mov ecx, r8d
xor ecx, r11d
xor r8d, 0xffffffff
or ecx, r8d
mov r8d, r10d
xor r8d, 0xffffffff
xor r10d, 0xffffffff
or r8d, r10d
and ecx, r8d
mov r8d, 0x7fc2242b
xor r8d, 0x803ddbd4
xor ecx, r8d
movabs r8, 0xbd119160a3df5ecd
movabs r10, 0xbd119160a3df5ec9
xor r8, r10
add rax, r8
mov r8d, 0x4fd86151
xor r8d, 0x545f54c2
imul ecx, r8d
mov r10d, ecx
xor r10d, r9d
xor r10d, 0xffffffff
mov r8d, r9d
and r8d, r10d
shl r8d, 1
sub r8d, r9d
sub ecx, r8d
rol ecx, 0xd
imul ecx, ecx, 5
add ecx, 0xe6546b64
add rdx, 4
mov qword [rbp + 0x40], rdx
mov dword [rbp + 0x4c], ecx
mov qword [rbp + 0x50], rax
jmp 0x14003ae9d
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 8]
mov r8, qword [rbp - 0x18]
xor r8, 0xffffffffffffffff
xor ecx, ecx
sub rcx, 1
sub r8, rcx
mov rcx, rax
sub rcx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x55], cl
xor ecx, ecx
mov dword [rbp - 0x54], ecx
mov qword [rbp - 0x50], rax
mov ecx, dword [rbp - 0x54]
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x5c], ecx
cmp rax, 0
jle 0x14003b24f
mov r8, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x28]
movabs rdx, 0x32bf6fa4d797b283
movabs rax, 0xcd40905b28684d7c
xor rdx, rax
mov rax, r8
add rax, rdx
mov qword [rbp - 0x78], rax
add rax, rcx
mov qword [rbp - 0x70], rax
movabs rcx, 0xfbd7c5cd2722c6b3
movabs rdx, 0xfbd7c5cd2722c6b3
xor rcx, rdx
xor rcx, r8
xor r8, 0xffffffffffffffff
and r8, 0
movabs rdx, 0x50d17f5dd26f057e
movabs r9, 0x50d17f5dd26f057c
xor rdx, r9
imul rdx, r8
sub rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14003b19b
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14003b428
mov dl, byte [rbp - 0x55]
mov rax, qword [rbp - 0x70]
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor r8d, r8d
xor r8b, 1
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x14003b1e1
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14003b428
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x70]
mov esi, dword [rbp - 0x5c]
shl esi, 8
movzx r11d, byte [rcx + rdx]
mov edx, esi
xor edx, 0xffffffff
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x117fbd68
mov ecx, edx
and ecx, 0x117fbd68
and esi, r8d
mov r10d, r9d
and r10d, 0x117fbd68
and r11d, r8d
or ecx, esi
or r10d, r11d
xor ecx, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x117fbd68
and edx, r8d
or ecx, edx
mov dword [rbp - 0x54], ecx
mov qword [rbp - 0x50], rax
jmp 0x14003b0e7
mov rax, qword [rbp]
cmp byte [rax], 0
jne 0x14003b428
mov edx, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x5c]
imul eax, r8d, 0xcc9e2d51
mov ecx, 0x554cca5
xor ecx, 0x554ccb4
shr eax, cl
mov rcx, qword [rbp + 8]
imul r10d, r8d, 0x16a88000
mov r9d, r10d
xor r9d, 0xffffffff
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, r10d
add eax, r9d
sub eax, r8d
imul eax, eax, 0x1b873593
mov r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r9d, eax
xor r9d, 0xffffffff
and ecx, r9d
mov r9d, r8d
or r9d, r9d
xor r9d, 0xffffffff
or ecx, r9d
xor ecx, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
or ecx, eax
mov eax, 0x1b8f4f2c
xor eax, 0xe470b0d3
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
and eax, edx
mov r8d, 0xec7f6df3
xor r8d, 0x1380920c
xor eax, r8d
and edx, edx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0xb5010b52
xor edx, 0x4afef4ad
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov edx, eax
shr edx, 0x10
xor edx, eax
mov eax, 0x5d476621
xor eax, 0xa2b899de
mov ecx, edx
xor ecx, eax
and ecx, 0x85ebca6b
mov r8d, 0x213ff388
xor r8d, 0xa4d439e3
mov eax, 0x4a3beecb
xor eax, 0xb5c41134
xor r8d, eax
mov eax, edx
and eax, r8d
imul eax, ecx
mov ecx, edx
and ecx, 0x85ebca6b
or edx, 0x85ebca6b
imul edx, ecx
add edx, eax
mov ecx, edx
shr ecx, 0xd
mov eax, ecx
or eax, eax
mov r8d, 0x611e0436
xor r8d, 0x9ee1fbc9
xor eax, r8d
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
imul edx, eax, 0xc2b2ae35
mov ecx, 0xbe029864
xor ecx, 0xbe029874
mov eax, edx
shr eax, cl
mov ecx, eax
mov r8d, 0x76ef9b30
xor r8d, 0x891064cf
mov eax, ecx
xor eax, r8d
mov r9d, 0x2b980adc
xor r9d, 0xd467f523
mov r8d, ecx
xor r8d, r9d
and eax, r8d
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
mov r9d, 0x545437c6
xor r9d, 0xababc839
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
mov r8d, 0x3cd366da
xor r8d, 0xc32c9925
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x9382cc6f
xor edx, 0x6c7d3390
xor ecx, edx
and eax, ecx
mov eax, eax
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x80]
lea rsp, [rbp + 0x58]
pop rsi
pop rbp
ret