Function at 0x686a8820
Capabilities:
Hash data using murmur3

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x18]
jbe 0x686a8f99
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0xa0]
test rax, rax
je 0x686a8f49
mov rcx, qword [rsp + 0x88]
cmp rcx, 0x10
jae 0x686a8f3e
cmp qword [rax + 0x50], 0
je 0x686a8ecc
add rax, 0x48
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.686ad580
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
test rax, rax
je 0x686a8ec5
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x30]
mov rdx, qword [rdx + 0xa0]
test rdx, rdx
je 0x686a88de
mov rbx, qword [rdx + 0x1228]
test rbx, rbx
jne 0x686a8e9d
xor edx, edx
test rdx, rdx
je 0x686a8d4f
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], rcx
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], rax
mov rbx, qword [rsp + 0x88]
mov qword [rdx + 0x20], rbx
mov word [rdx + 0x60], 0
mov byte [rdx + 0x62], 0
mov qword [rdx + 0x68], 0
movups xmmword [rdx + 0x78], xmm0
mov byte [rdx + 0x64], 0
mov qword [rdx + 0x30], 0
movups xmmword [rdx + 0x48], xmm0
nop
lea rsi, [rdx + 0x63]
mov qword [rsp + 0x68], rsi
xor edi, edi
xchg byte [rsi], dil
mov rdi, qword [rsp + 0x80]
mov qword [rsp], rdi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.686a8580
cmp byte [rsp + 0x18], 0
je 0x686a8d45
mov rdx, qword [rsp + 0x28]
mov byte [rdx + 0x64], 1
mov rax, qword [rsp + 0x88]
mov rbx, rax
shl rax, 0xd
mov qword [rsp + 0x50], rax
movzx esi, byte [rsp + 0x90]
test sil, sil
je 0x686a8c0c
mov qword [rdx + 0x28], 0
mov qword [rdx + 0x38], 0
mov rcx, qword [rdx + 0x20]
shl rcx, 0xd
add rcx, qword [rdx + 0x18]
mov qword [rdx + 0x70], rcx
nop
mov ecx, 2
mov rdi, qword [rsp + 0x68]
xchg byte [rdi], cl
mov rcx, qword [rsp + 0x20]
test rcx, rcx
jne 0x686a8bbe
nop word [rax + rax]
test sil, sil
jne 0x686a8bb6
lea rdi, [0x68a49378]
mov r8, rax
lock xadd qword [rdi], rax
nop dword [rax + rax]
test sil, sil
jne 0x686a8b99
lea rax, [0x68a4aac8]
mov qword [rsp], rax
call fcn.686b12a0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x20]
mov rdx, rcx
lock xadd qword [rax], rcx
neg rdx
lock xadd qword [rax + 8], rdx
movzx ecx, byte [rsp + 0x90]
nop dword [rax]
cmp cl, 1
ja 0x686a8b6a
test cl, cl
jne 0x686a8b5a
mov rdx, qword [rsp + 0x50]
lock xadd qword [rax + 0x10], rdx
lea rax, [0x68a4aac8]
mov qword [rsp], rax
call fcn.686b13e0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rsp + 0x80]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rax
call fcn.686a8480
movzx eax, byte [rsp + 0x90]
test al, al
je 0x686a8ac5
call fcn.686eb500
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x98], rax
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
nop
nop
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rdx + 0x18]
nop
movabs rbx, 0x800000000000
lea rax, [rbx + rcx]
mov rbx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x686a8f53
lea rsi, [0x68a29158]
mov rax, qword [rsi + rax*8]
shr rbx, 0x16
and rbx, 0xfffff
mov rbx, qword [rax + rbx*8]
test byte [rbx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and rcx, 0x3f
lea rbx, [rbx + rcx]
lea rbx, [rbx + 0x21000]
shr rax, 0xd
and rax, 7
mov rcx, rax
mov esi, 1
shl esi, cl
lock or byte [rbx], sil
mov rax, qword [rsp + 0x80]
test byte [rax], al
mov rbx, qword [rsp + 0x88]
lock xadd qword [rax + 0x10158], rbx
jmp 0x686a8aa9
mov rdx, qword [rsp + 0x50]
lock xadd qword [rax + 0x18], rdx
jmp 0x686a8a5c
cmp cl, 2
jne 0x686a8b80
mov rdx, qword [rsp + 0x50]
lock xadd qword [rax + 0x28], rdx
jmp 0x686a8a5c
cmp cl, 3
jne 0x686a8a5c
mov rdx, qword [rsp + 0x50]
lock xadd qword [rax + 0x20], rdx
jmp 0x686a8a5c
lea rax, [0x68a49370]
mov qword [rsp], rax
neg r8
mov qword [rsp + 8], r8
call fcn.686b11c0
jmp 0x686a8a09
mov r8, rax
jmp 0x686a8a03
mov rcx, qword [rsp + 0x38]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.68699860
mov rcx, qword [rsp + 0x20]
neg rcx
lea rdx, [0x68a49380]
lock xadd qword [rdx], rcx
movzx esi, byte [rsp + 0x90]
test sil, sil
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x88]
jmp 0x686a89e3
movzx edi, byte [rsp + 0x91]
mov byte [rdx + 0x62], dil
shr dil, 1
nop dword [rax + rax]
test dil, dil
jne 0x686a8ccc
mov qword [rdx + 0x68], rax
mov qword [rdx + 0x38], 1
mov byte [rdx + 0x65], 0
mov word [rdx + 0x5c], 0
mov byte [rdx + 0x66], 0
mov word [rdx + 0x5e], 0
mov qword [rdx + 0x30], 0
mov qword [rdx + 0x40], 0xffffffffffffffff
mov rax, qword [rdx + 0x38]
mov qword [rsp], rax
call fcn.686aa4a0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x50], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp], rax
nop dword [rax]
call fcn.686aa840
mov rax, qword [rsp + 8]
mov rdx, qword [rsp + 0x28]
mov qword [rdx + 0x48], rax
mov rax, qword [rsp + 0x80]
test byte [rax], al
mov ecx, dword [rax + 0x10128]
xchg dword [rdx + 0x58], ecx
mov ecx, 1
mov rbx, qword [rsp + 0x68]
xchg byte [rbx], cl
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
movzx esi, byte [rsp + 0x90]
jmp 0x686a89cc
movsx rdi, dil
cmp rdi, 0x44
jae 0x686a8f65
lea rcx, [0x687ebfa0]
movzx ecx, word [rcx + rdi*2]
mov qword [rdx + 0x68], rcx
test rcx, rcx
je 0x686a8f60
mov r9, rdx
xor edx, edx
div rcx
mov qword [r9 + 0x38], rax
lea rcx, [rdi + rdi*2]
lea rdi, [0x687ee8c0]
lea r10, [rdi + rcx*2]
movzx r10d, byte [r10]
mov byte [r9 + 0x65], r10b
movzx r10d, word [rdi + rcx*2 + 2]
mov word [r9 + 0x5c], r10w
lea r10, [rdi + rcx*2]
lea r10, [r10 + 1]
movzx r10d, byte [r10]
mov byte [r9 + 0x66], r10b
movzx ecx, word [rdi + rcx*2 + 4]
mov word [r9 + 0x5e], cx
mov rdx, r9
nop dword [rax]
jmp 0x686a8c49
mov rdx, qword [rsp + 0x28]
jmp 0x686a897a
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x80]
test byte [rbx], al
nop
mov qword [rsp], rbx
call fcn.6868c180
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x686a8ddd
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x686a8dc5
mov qword [rsp + 0x48], rdx
nop
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.6868c3e0
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
nop dword [rax + rax]
jmp 0x686a88e9
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.686a8700
mov rdx, qword [rsp + 8]
jmp 0x686a8d95
mov rax, qword [rsp + 0x80]
lea rcx, [rax + 8]
mov qword [rsp + 0x60], rcx
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 8], rdx
nop
call fcn.686ac760
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
test rax, rax
jne 0x686a8d81
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 8], rcx
call fcn.686a8fc0
cmp byte [rsp + 0x10], 0
jne 0x686a8e66
nop
nop
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.6868c3e0
mov qword [rsp + 0x98], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [rsp + 0x60]
mov qword [rsp], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 8], rax
nop dword [rax]
call fcn.686ac760
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
test rax, rax
jne 0x686a8d81
jmp 0x686a8f72
lea rsi, [rbx - 1]
cmp rsi, 0x80
jae 0x686a8f8b
mov rbx, qword [rdx + rbx*8 + 0x1228]
mov qword [rdx + 0x1228], rsi
mov rdx, rbx
jmp 0x686a88e0
xor edx, edx
jmp 0x686a8d4f
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x80]
test byte [rax], al
nop
mov qword [rsp], rax
call fcn.6868c180
mov rax, qword [rsp + 0x80]
lea rcx, [rax + 8]
mov qword [rsp], rcx
call fcn.686ada20
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x58]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rcx
mov qword [rbx + 0x58], rdx
nop
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.6868c3e0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
jmp 0x686a8889
xor eax, eax
xor edx, edx
xor ecx, ecx
jmp 0x686a8d4f
mov rcx, qword [rsp + 0x88]
jmp 0x686a8f3e
mov ecx, 0x40
call fcn.686ebea0
nop dword [rax]
call fcn.686b6780
mov rax, rdi
mov ecx, 0x44
call fcn.686ebe80
lea rax, [0x6886c16c]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2b
call fcn.686b8b80
mov rax, rsi
mov ecx, pe_nt_image_headers64
call fcn.686ebe80
nop
call fcn.686e74c0
nop
jmp fcn.686a8820