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