Function at 0x140131180
Capabilities:
Hash data using murmur3

Disassembly:
endbr64
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rax, str.murmurHash
lea rbp, str._usr_lib_nim_pure_hashes.nim
mov qword [rsp + 0x100], rcx
mov rcx, qword [0x1401e1380]
mov rsi, rdx
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], 0
mov word [rsp + 0x70], ax
call fcn.14019d400
mov rdx, qword [rax]
mov r15, rax
test rdx, rdx
je 0x1401314a0
movzx eax, word [rdx + 0x22]
mov qword [rsp + 0x50], rdx
lea rdx, [rsp + 0x50]
mov qword [r15], rdx
add eax, 1
mov word [rsp + 0x72], ax
cmp ax, 0x7d0
je 0x140131490
mov rdx, rsi
mov rbx, rsi
sar rdx, 0x3f
shr rdx, 0x3e
lea rax, [rsi + rdx]
and eax, 3
sub rax, rdx
sub rbx, rax
mov qword [rsp + 0x20], rbx
cmp rsi, 3
jle 0x140131665
lea r10, [rsi - 1]
mov rax, qword [rsp + 0x100]
mov rdi, qword [r15]
mov r13d, 4
mov r14, r10
mov qword [rsp + 0x40], r10
lea r12, str.rotl32
and r14, 0xfffffffffffffffc
mov eax, dword [rax]
mov qword [rsp + 0x108], rsi
mov rsi, r13
lea rbx, [r14 + 4]
lea r14, [rsp + 0x80]
mov qword [rsp + 0x28], rbx
mov r13d, eax
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0x30], rsi
imul r13d, r13d, 0xcc9e2d51
mov qword [rsp + 0x60], 0x157
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x90], 0
mov word [rsp + 0xa0], ax
test rdi, rdi
je 0x1401313f0
movzx eax, word [rdi + 0x22]
mov qword [rsp + 0x80], rdi
mov qword [r15], r14
add eax, 1
mov word [rsp + 0xa2], ax
cmp ax, 0x7d0
je 0x1401313e0
mov rax, r14
mov qword [rsp + 0x90], 0x130
mov rdi, qword [rax]
rol r13d, 0xf
mov rcx, qword [str.__ae_]
mov qword [r15], rdi
call fcn.14019d400
cmp byte [rax], 0
mov rcx, rax
jne 0x140131442
imul r13d, r13d, 0x1b873593
xor r11d, r11d
mov qword [rsp + 0x60], 0x15b
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x90], 0
xor r13d, ebx
mov word [rsp + 0xa0], r11w
test rdi, rdi
je 0x140131468
movzx eax, word [rdi + 0x22]
mov qword [rsp + 0x80], rdi
mov qword [r15], r14
add eax, 1
mov word [rsp + 0xa2], ax
cmp ax, 0x7d0
je 0x140131410
mov rdx, r14
mov qword [rsp + 0x90], 0x130
mov rdi, qword [rdx]
mov eax, r13d
rol eax, 0xd
mov qword [r15], rdi
cmp byte [rcx], 0
jne 0x140131442
lea ebx, [rax + rax*4 - 0x19ab949c]
cmp qword [rsp + 0x20], rsi
jle 0x1401314c0
mov qword [rsp + 0x60], 0x151
cmp qword [rsp + 0x28], rsi
je 0x140131430
mov rax, qword [rsp + 0x100]
mov r13d, dword [rax + rsi]
add rsi, 4
jmp 0x14013127d
call fcn.14010df50
mov rax, qword [r15]
jmp 0x1401312e8
xor edx, edx
mov qword [r15], r14
mov word [rsp + 0xa2], dx
mov qword [rsp + 0x80], 0
jmp 0x1401312e5
mov qword [rsp + 0x38], rcx
call fcn.14010df50
mov rdx, qword [r15]
mov rcx, qword [rsp + 0x38]
jmp 0x140131381
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
call fcn.140117b20
mov rdi, qword [r15]
mov rax, qword [rdi]
mov qword [r15], rax
mov rax, qword [rsp + 0x48]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r8d, r8d
mov qword [r15], r14
mov word [rsp + 0xa2], r8w
mov qword [rsp + 0x80], 0
jmp 0x14013137e
call fcn.14010df50
jmp 0x140131208
mov qword [rsp + 0x50], 0
xor eax, eax
mov word [rsp + 0x72], ax
lea rax, [rsp + 0x50]
mov qword [r15], rax
jmp 0x140131208
mov r9, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x108]
mov rdx, rsi
sar rdx, 0x3f
shr rdx, 0x3e
lea rax, [rsi + rdx]
and eax, 3
sub rax, rdx
test rax, rax
jle 0x1401316a4
mov qword [rsp + 0x60], 0x163
lea r10, [rax - 1]
mov rcx, r9
add rcx, r10
js 0x140131654
cmp rcx, rsi
jge 0x140131654
mov rdx, qword [rsp + 0x100]
movzx edx, byte [rdx + rcx]
test r10, r10
je 0x140131569
sub rax, 2
mov rcx, r9
add rcx, rax
js 0x140131654
cmp rsi, rcx
jle 0x140131654
mov rdi, qword [rsp + 0x100]
shl edx, 8
movzx ecx, byte [rdi + rcx]
or edx, ecx
test rax, rax
je 0x140131569
test r9, r9
js 0x140131651
cmp rsi, r9
jle 0x140131651
movzx eax, byte [rdi + r9]
shl edx, 8
or edx, eax
imul edx, edx, 0xcc9e2d51
rol edx, 0xf
mov r12d, edx
lea rax, str.rotl32
xor r10d, r10d
mov qword [rsp + 0x60], 0x165
mov qword [rsp + 0x88], rax
mov rax, qword [r15]
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x90], 0
mov word [rsp + 0xa0], r10w
test rax, rax
je 0x14013167c
movzx ecx, word [rax + 0x22]
lea r14, [rsp + 0x80]
mov qword [rsp + 0x80], rax
mov qword [r15], r14
lea edx, [rcx + 1]
mov word [rsp + 0xa2], dx
cmp dx, 0x7d0
je 0x14013166f
mov rcx, r14
mov qword [rsp + 0x90], 0x130
mov rdi, qword [rcx]
mov rcx, qword [str.__ae_]
mov qword [r15], rdi
call fcn.14019d400
cmp byte [rax], 0
jne 0x140131442
imul eax, r12d, 0x1b873593
xor esi, ebx
mov qword [rsp + 0x60], 0x170
xor eax, esi
mov edx, eax
shr edx, 0x10
xor edx, eax
imul edx, edx, 0x85ebca6b
mov eax, edx
shr eax, 0xd
xor eax, edx
imul eax, eax, 0xc2b2ae35
mov edx, eax
shr edx, 0x10
mov ebx, edx
xor ebx, eax
mov qword [rsp + 0x48], rbx
jmp 0x140131442
mov rcx, r9
lea rdx, [rsi - 1]
call fcn.140117b20
mov rdi, qword [r15]
jmp 0x140131442
xor r9d, r9d
xor ebx, ebx
jmp 0x1401314cd
call fcn.14010df50
mov rcx, qword [r15]
jmp 0x1401315e9
xor r9d, r9d
lea r14, [rsp + 0x80]
mov qword [rsp + 0x80], 0
mov word [rsp + 0xa2], r9w
mov qword [r15], r14
jmp 0x1401315e6
xor r12d, r12d
jmp 0x140131575