Function at 0x8ba160
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov eax, dword [rcx]
mov r9d, dword [rcx + 4]
mov rsi, rcx
lea rbx, [r8 - 1]
mov rdi, rdx
mov ecx, dword [rcx + 8]
mov r10d, dword [rsi + 0xc]
mov qword [rsp + 8], rbx
test r8, r8
je 0x8ba753
mov dword [rsp + 0x1c], r10d
mov edx, r9d
mov dword [rsp + 0x18], ecx
mov dword [rsp + 0x14], r9d
mov dword [rsp + 0x10], eax
mov qword [rsp + 0x90], rsi
mov r9d, ecx
mov r13d, dword [rdi]
mov ebx, dword [rdi + 4]
xor r9d, r10d
mov esi, dword [rdi + 8]
mov r11d, dword [rdi + 0xc]
and r9d, edx
mov r12d, dword [rdi + 0x20]
mov dword [rsp + 0x20], ebx
xor r9d, r10d
mov dword [rsp + 0x24], esi
add r9d, r13d
mov dword [rsp + 0x28], r11d
add r9d, eax
lea eax, [rbx + r10]
mov r10d, dword [rdi + 0x14]
mov ebx, dword [rdi + 0x38]
rol r9d, 3
mov r14d, r9d
mov r9d, edx
mov dword [rsp + 0x30], r10d
xor r9d, ecx
and r9d, r14d
xor r9d, ecx
add r9d, eax
lea eax, [rsi + rcx]
mov ecx, r14d
mov esi, dword [rdi + 0x28]
rol r9d, 7
xor ecx, edx
and ecx, r9d
mov r8d, r9d
lea r9d, [r11 + rdx]
mov r11d, dword [rdi + 0x34]
xor ecx, edx
mov edx, r14d
mov ebp, r8d
add ecx, eax
xor edx, r8d
mov eax, dword [rdi + 0x10]
rol ecx, 0xb
and edx, ecx
xor ebp, ecx
mov dword [rsp + 0x2c], eax
xor edx, r14d
add edx, r9d
lea r9d, [r14 + rax]
mov r14d, ebp
mov ebp, dword [rdi + 0x18]
ror edx, 0xd
and r14d, edx
mov dword [rsp + 0x34], ebp
xor r14d, r8d
add r14d, r9d
lea r9d, [r8 + r10]
mov r8d, ecx
mov r10d, dword [rdi + 0x2c]
rol r14d, 3
xor r8d, edx
and r8d, r14d
xor r8d, ecx
add ecx, ebp
mov ebp, dword [rdi + 0x30]
add r8d, r9d
mov r9d, dword [rdi + 0x1c]
rol r8d, 7
mov eax, r9d
mov r9d, edx
xor r9d, r14d
mov dword [rsp + 0x38], eax
lea eax, [rdx + rax]
and r9d, r8d
xor r9d, edx
mov edx, r14d
add r9d, ecx
xor edx, r8d
mov ecx, dword [rdi + 0x24]
rol r9d, 0xb
and edx, r9d
mov dword [rsp + 0x3c], ecx
xor edx, r14d
add edx, eax
lea eax, [r14 + r12]
mov r14d, r8d
ror edx, 0xd
xor r14d, r9d
and r14d, edx
xor r14d, r8d
add r14d, eax
lea eax, [r8 + rcx]
lea ecx, [rdx + r10]
mov r8d, r9d
rol r14d, 3
xor r8d, edx
and r8d, r14d
xor r8d, r9d
add r9d, esi
add r8d, eax
mov eax, edx
rol r8d, 7
xor eax, r14d
and eax, r8d
xor eax, edx
mov edx, r14d
add eax, r9d
xor edx, r8d
mov r9d, r8d
rol eax, 0xb
and edx, eax
xor r9d, eax
xor edx, r14d
add edx, ecx
lea ecx, [r14 + rbp]
mov r14d, r9d
mov r9d, dword [rdi + 0x3c]
ror edx, 0xd
and r14d, edx
add rdi, 0x40
xor r14d, r8d
add r14d, ecx
lea ecx, [r8 + r11]
mov r8d, eax
rol r14d, 3
xor r8d, edx
and r8d, r14d
xor r8d, eax
add eax, ebx
add r8d, ecx
mov ecx, edx
rol r8d, 7
xor ecx, r14d
and ecx, r8d
mov r15d, r8d
xor ecx, edx
add edx, r9d
add ecx, eax
mov eax, r14d
rol ecx, 0xb
xor eax, r8d
and eax, ecx
and r15d, ecx
xor eax, r14d
lea r14d, [r13 + r14 + 0x5a827999]
add edx, eax
mov eax, r8d
ror edx, 0xd
or eax, ecx
and eax, edx
or eax, r15d
mov r15d, ecx
add eax, r14d
mov r14d, dword [rsp + 0x2c]
and r15d, edx
rol eax, 3
lea r14d, [r14 + r8 + 0x5a827999]
mov r8d, ecx
or r8d, edx
and r8d, eax
or r8d, r15d
mov r15d, edx
add r8d, r14d
lea r14d, [r12 + rcx + 0x5a827999]
mov ecx, edx
and r15d, eax
rol r8d, 5
or ecx, eax
and ecx, r8d
or ecx, r15d
mov r15d, eax
add ecx, r14d
lea r14d, [rbp + rdx + 0x5a827999]
mov edx, eax
and r15d, r8d
rol ecx, 9
or edx, r8d
and edx, ecx
or edx, r15d
mov r15d, dword [rsp + 0x20]
add edx, r14d
lea r14d, [r15 + rax + 0x5a827999]
mov eax, r8d
rol edx, 0xd
mov r15d, r8d
or eax, ecx
and r15d, ecx
and eax, edx
or eax, r15d
mov r15d, ecx
add eax, r14d
mov r14d, dword [rsp + 0x30]
and r15d, edx
rol eax, 3
lea r14d, [r14 + r8 + 0x5a827999]
mov r8d, ecx
or r8d, edx
and r8d, eax
or r8d, r15d
mov r15d, dword [rsp + 0x3c]
add r8d, r14d
lea r14d, [r15 + rcx + 0x5a827999]
mov ecx, edx
rol r8d, 5
mov r15d, edx
or ecx, eax
and r15d, eax
and ecx, r8d
or ecx, r15d
mov r15d, eax
add ecx, r14d
lea r14d, [r11 + rdx + 0x5a827999]
mov edx, eax
rol ecx, 9
or edx, r8d
and r15d, r8d
and edx, ecx
or edx, r15d
mov r15d, r8d
add edx, r14d
mov r14d, dword [rsp + 0x24]
and r15d, ecx
rol edx, 0xd
lea r14d, [r14 + rax + 0x5a827999]
mov eax, r8d
or eax, ecx
and eax, edx
or eax, r15d
mov r15d, dword [rsp + 0x34]
add eax, r14d
lea r14d, [r15 + r8 + 0x5a827999]
mov r8d, ecx
rol eax, 3
mov r15d, ecx
or r8d, edx
and r15d, edx
and r8d, eax
or r8d, r15d
mov r15d, edx
add r8d, r14d
lea r14d, [rsi + rcx + 0x5a827999]
mov ecx, edx
and r15d, eax
rol r8d, 5
or ecx, eax
and ecx, r8d
or ecx, r15d
mov r15d, eax
add ecx, r14d
lea r14d, [rbx + rdx + 0x5a827999]
mov edx, eax
and r15d, r8d
rol ecx, 9
or edx, r8d
and edx, ecx
or edx, r15d
mov r15d, dword [rsp + 0x28]
add edx, r14d
lea r14d, [r15 + rax + 0x5a827999]
mov eax, r8d
rol edx, 0xd
mov r15d, r8d
or eax, ecx
and eax, edx
and r15d, ecx
or eax, r15d
mov r15d, dword [rsp + 0x38]
add eax, r14d
lea r14d, [r15 + r8 + 0x5a827999]
mov r8d, ecx
rol eax, 3
mov r15d, ecx
or r8d, edx
and r15d, edx
lea r13d, [r13 + rax + 0x6ed9eba1]
and r8d, eax
or r8d, r15d
mov r15d, edx
add r8d, r14d
lea r14d, [r10 + rcx + 0x5a827999]
mov ecx, edx
and r15d, eax
rol r8d, 5
or ecx, eax
and ecx, r8d
lea r12d, [r12 + r8 + 0x6ed9eba1]
or ecx, r15d
mov r15d, eax
add ecx, r14d
lea r14d, [r9 + rdx + 0x5a827999]
mov edx, eax
and r15d, r8d
rol ecx, 9
or edx, r8d
mov eax, r8d
and edx, ecx
xor eax, ecx
mov r8d, ecx
or edx, r15d
add edx, r14d
rol edx, 0xd
xor eax, edx
xor r8d, edx
lea ebp, [rbp + rdx + 0x6ed9eba1]
add eax, r13d
mov r13d, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x24]
rol eax, 3
mov r15d, dword [rsp + 0x20]
xor r8d, eax
add r8d, r12d
lea r12d, [r13 + rcx + 0x6ed9eba1]
mov ecx, edx
mov edx, eax
rol r8d, 9
xor ecx, eax
xor ecx, r8d
lea esi, [rsi + r8 + 0x6ed9eba1]
add ecx, r12d
xor edx, r8d
rol ecx, 0xb
xor edx, ecx
add edx, ebp
lea ebp, [r14 + rax + 0x6ed9eba1]
mov eax, r8d
mov r8d, ecx
rol edx, 0xf
xor eax, ecx
mov r14d, dword [rsp + 0x30]
xor eax, edx
xor r8d, edx
lea ebx, [rbx + rdx + 0x6ed9eba1]
add eax, ebp
mov ebp, dword [rsp + 0x34]
rol eax, 3
xor r8d, eax
add r8d, esi
lea esi, [rbp + rcx + 0x6ed9eba1]
mov ecx, edx
mov edx, eax
rol r8d, 9
xor ecx, eax
xor ecx, r8d
xor edx, r8d
add ecx, esi
rol ecx, 0xb
xor edx, ecx
add edx, ebx
lea ebx, [r15 + rax + 0x6ed9eba1]
mov eax, r8d
mov r15d, dword [rsp + 0x28]
rol edx, 0xf
xor eax, ecx
xor eax, edx
lea r11d, [r11 + rdx + 0x6ed9eba1]
add eax, ebx
mov ebx, dword [rsp + 0x3c]
rol eax, 3
lea ebx, [rbx + r8 + 0x6ed9eba1]
mov r8d, ecx
xor r8d, edx
xor r8d, eax
add r8d, ebx
lea ebx, [r14 + rcx + 0x6ed9eba1]
mov ecx, edx
mov edx, eax
rol r8d, 9
xor ecx, eax
xor ecx, r8d
lea r10d, [r10 + r8 + 0x6ed9eba1]
add ecx, ebx
xor edx, r8d
sub qword [rsp + 8], 1
mov rbx, qword [rsp + 8]
rol ecx, 0xb
xor edx, ecx
add edx, r11d
lea r11d, [r15 + rax + 0x6ed9eba1]
mov eax, r8d
mov r8d, ecx
rol edx, 0xf
xor eax, ecx
mov r15d, dword [rsp + 0x38]
xor eax, edx
xor r8d, edx
lea r9d, [r9 + rdx + 0x6ed9eba1]
add eax, r11d
rol eax, 3
add dword [rsp + 0x10], eax
mov esi, dword [rsp + 0x10]
xor r8d, eax
add r8d, r10d
lea r10d, [r15 + rcx + 0x6ed9eba1]
mov ecx, edx
mov edx, eax
rol r8d, 9
xor ecx, eax
mov rax, qword [rsp + 0x90]
add dword [rsp + 0x1c], r8d
xor ecx, r8d
xor edx, r8d
add ecx, r10d
mov dword [rax], esi
mov r10d, dword [rsp + 0x1c]
rol ecx, 0xb
add dword [rsp + 0x18], ecx
xor edx, ecx
mov ecx, dword [rsp + 0x18]
add edx, r9d
mov eax, edx
rol eax, 0xf
add dword [rsp + 0x14], eax
mov rax, qword [rsp + 0x90]
mov edx, dword [rsp + 0x14]
mov dword [rax + 8], ecx
mov dword [rax + 4], edx
mov dword [rax + 0xc], r10d
mov eax, esi
cmp rbx, 0xffffffffffffffff
jne 0x8ba1b2
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret