Function at 0x2b77fb4a4a0
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x2b77fb4a746
push rbp
mov rbp, rsp
sub rsp, 0x38
test rax, 7
jne 0x2b77fb4a72f
mov qword [rsp + 0x48], rax
mov rdx, qword [rdi + 0x48]
test byte [rdx], al
mov r9, r8
shr r9, 3
mov r10, r8
and r10d, 7
nop
mov r11, rcx
mov rcx, r10
mov r12d, 1
shl r12d, cl
lea r10, [rdx + r9]
cmp byte [0x2b77fd0fecf], 0
jne 0x2b77fb4a5e1
cmp dword [0x2b77fd103f4], 0
nop
jle 0x2b77fb4a529
movzx r13d, word [rdi + 0x34]
cmp r8, r13
jb 0x2b77fb4a529
mov r8, qword [rdi + 0x40]
test byte [r8], al
movzx r8d, byte [r9 + r8]
nop
nop dword [rax]
test r12b, r8b
je 0x2b77fb4a658
movzx edx, byte [r9 + rdx]
test r12b, dl
jne 0x2b77fb4a5db
nop
lock or byte [r10], r12b
mov rcx, qword [rdi + 0x18]
movabs rdx, 0x800000000000
add rdx, rcx
mov r8, rdx
shr rdx, 0x2a
nop
nop
nop
nop word [rax + rax]
cmp rdx, 0x40
jae 0x2b77fb4a64b
lea r9, [0x2b77fca1fd8]
mov rdx, qword [r9 + rdx*8]
test byte [rdx], al
mov r9, rcx
shr r9, 0x10
and r9d, 0x3f
shr rcx, 0xd
and ecx, 7
mov r10d, 1
shl r10d, cl
shr r8, 0x16
and r8d, 0xfffff
mov rdx, qword [rdx + r8*8]
test byte [rdx], al
movzx r8d, byte [rdx + r9 + 0x1040]
lea rdx, [rdx + r9]
lea rdx, [rdx + 0x1040]
test r10b, r8b
jne 0x2b77fb4a5c0
lock or byte [rdx], r10b
movzx edx, byte [rdi + 0x62]
test dl, 1
je 0x2b77fb4a602
mov rax, qword [rsi + 0x10]
add rax, qword [rdi + 0x68]
mov qword [rsi + 0x10], rax
add rsp, 0x38
pop rbp
ret
add rsp, 0x38
pop rbp
ret
mov qword [rsp + 0x68], rsi
mov rcx, r11
mov rdi, r10
mov esi, r12d
call fcn.2b77fb42ca0
test al, al
jne 0x2b77fb4a638
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
prefetcht0 byte [rax]
mov rdx, qword [rsi]
test rdx, rdx
je 0x2b77fb4a627
mov rdi, qword [rdx + 0x10]
cmp rdi, 0xfd
je 0x2b77fb4a627
jae 0x2b77fb4a63e
mov qword [rdx + rdi*8 + 0x18], rax
inc qword [rdx + 0x10]
jmp 0x2b77fb4a632
mov rbx, rax
mov rax, rsi
call fcn.2b77fb50e00
add rsp, 0x38
pop rbp
ret
add rsp, 0x38
pop rbp
ret
mov rax, rdi
mov ecx, 0xfd
call fcn.2b77fb8cd00
mov rax, rdx
mov ecx, 0x40
call fcn.2b77fb8cd20
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x30], r11
call fcn.2b77fb624e0
lea rax, [0x2b77fbafbee]
mov ebx, 0x1d
call fcn.2b77fb62d60
mov rax, qword [rsp + 0x48]
nop dword [rax]
call fcn.2b77fb62be0
lea rax, [0x2b77fbac92c]
mov ebx, 0xc
call fcn.2b77fb62d60
mov rax, qword [rsp + 0x50]
nop dword [rax + rax]
call fcn.2b77fb62be0
lea rax, [0x2b77fbab9f9]
mov ebx, 1
call fcn.2b77fb62d60
mov rax, qword [rsp + 0x30]
nop dword [rax + rax]
call fcn.2b77fb62be0
lea rax, [0x2b77fbaba16]
mov ebx, 2
call fcn.2b77fb62d60
call fcn.2b77fb62540
lea rax, [0x2b77fbabac7]
mov ebx, 4
mov rcx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x30]
call fcn.2b77fb4a7a0
lea rax, [0x2b77fbaba48]
mov ebx, 3
mov rcx, qword [rsp + 0x48]
mov rdi, 0xffffffffffffffff
call fcn.2b77fb4a7a0
mov rax, qword [r14 + 0x30]
mov byte [rax + 0xf1], 2
lea rax, [0x2b77fbadd2f]
mov ebx, 0x13
call fcn.2b77fb60a40
lea rax, [0x2b77fbb0b55]
mov ebx, 0x23
nop dword [rax + rax]
call fcn.2b77fb60a40
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.2b77fb8aa80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.2b77fb4a4a0