Function at 0x14036af00
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov ebp, r8d
mov rsi, rdx
mov rbx, rcx
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x34], 0
lea rdi, [rcx + 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
test eax, eax
jg 0x14036af48
mov rcx, rdi
call fcn.140025d00
mov eax, ebp
shr eax, 0x10
xor eax, ebp
imul eax, eax, 0x85ebca6b
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae35
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov eax, 1
cmovne eax, ecx
mov ecx, dword [rbx + 4]
test ecx, ecx
jle 0x14036afcc
lea edx, [rcx - 1]
and edx, eax
mov r8, qword [rbx + 8]
xor r9d, r9d
mov r10d, ecx
jmp 0x14036afa3
test edx, edx
mov r11d, ecx
cmovg r11d, r9d
add edx, r11d
dec edx
dec r10d
je 0x14036afcc
movsxd r11, edx
lea r11, [r11 + r11*2]
mov r14d, dword [r8 + r11*8]
test r14d, r14d
je 0x14036afcc
cmp eax, r14d
jne 0x14036af90
cmp dword [r8 + r11*8 + 8], ebp
jne 0x14036af90
lea rbx, [r8 + r11*8]
add rbx, 8
jmp 0x14036b1c6
mov eax, dword [0x1406ae078]
mov ecx, dword [0x1406affd8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x14036b274
mov rax, qword [0x1406ae070]
call qword [rax + 0xc0]
mov r14, rax
xor r15d, r15d
cmp ebp, 2
ja 0x14036b017
movsxd rax, ebp
lea rcx, [0x1405dab00]
mov r15d, dword [rcx + rax*4]
mov eax, dword [0x1406ae078]
mov ecx, dword [0x1406affd8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x14036b2b6
mov rax, qword [0x1406ae070]
lea rcx, [rsp + 0x34]
mov qword [rsp + 0x20], rcx
mov ecx, r15d
mov rdx, r14
xor r8d, r8d
xor r9d, r9d
call qword [rax + 0xa0]
mov r14, rax
cmp dword [rsp + 0x34], 0
jle 0x14036b0a7
test r14, r14
je 0x14036b0a0
mov eax, dword [0x1406ae078]
mov ecx, dword [0x1406affd8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x14036b33a
mov rax, qword [0x1406ae070]
mov rcx, r14
call qword [rax + 0x70]
xor ebx, ebx
jmp 0x14036b1ca
mov dword [rsp + 0x38], ebp
mov qword [rsp + 0x40], r14
mov eax, dword [rbx]
mov r12d, dword [rbx + 4]
shl eax, 2
lea ecx, [r12 + r12*2]
cmp eax, ecx
jl 0x14036b17a
lea eax, [r12 + r12]
test r12d, r12d
mov ecx, 4
cmovg ecx, eax
movsxd r15, ecx
mov ecx, 0x18
mov rax, r15
mul rcx
seto dl
or rax, 8
mov dword [rbx], 0
mov dword [rbx + 4], r15d
mov r14, qword [rbx + 8]
mov qword [rbx + 8], 0
mov rcx, 0xffffffffffffffff
test dl, dl
cmove rcx, rax
call fcn.14056080c
mov qword [rax], r15
add rax, 8
shl r15, 3
lea rcx, [r15 + r15*2]
xor edx, edx
nop word cs:[rax + rax]
mov dword [rax + rdx], 0
add rdx, 0x18
cmp rcx, rdx
jne 0x14036b130
mov qword [rbx + 8], rax
test r12d, r12d
jle 0x14036b16d
lea r15, [r14 + 8]
jmp 0x14036b159
add r15, 0x18
dec r12
je 0x14036b172
cmp dword [r15 - 8], 0
je 0x14036b150
mov rcx, rbx
mov rdx, r15
call fcn.14036b4f0
jmp 0x14036b150
test r14, r14
je 0x14036b17a
mov rcx, r14
call fcn.14036b3f0
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.14036b4f0
mov rbx, rax
mov r14, qword [rsp + 0x40]
test r14, r14
je 0x14036b1c6
mov eax, dword [0x1406ae078]
mov ecx, dword [0x1406affd8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x14036b37c
mov rax, qword [0x1406ae070]
mov rcx, r14
call qword [rax + 0x70]
add rbx, 8
mov edx, 1
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jns 0x14036b1eb
neg eax
test eax, eax
cmovle edx, eax
mov rcx, rdi
call fcn.140025c70
mov qword [rsi], 0
test rbx, rbx
je 0x14036b255
mov rdi, qword [rbx]
mov eax, dword [0x1406ae078]
mov ecx, dword [0x1406affd8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x30]
jg 0x14036b2f8
mov rax, qword [0x1406ae070]
mov r8, qword [rax + 0xe8]
test r8, r8
je 0x14036b23f
lea rdx, [rsp + 0x34]
mov rcx, rdi
call r8
jmp 0x14036b252
lea r9, [rsp + 0x34]
mov rcx, rdi
xor edx, edx
xor r8d, r8d
call qword [rax + 0xf0]
mov qword [rsi], rax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1405602f0
mov rax, rsi
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, [0x1406ae078]
call fcn.140560470
cmp dword [0x1406ae078], 0xffffffff
jne 0x14036aff1
lea rcx, [0x1406ae070]
call fcn.140432170
lea rcx, [0x140369540]
call fcn.1405607f4
lea rcx, [0x1406ae078]
call fcn.140560410
jmp 0x14036aff1
lea rcx, [0x1406ae078]
call fcn.140560470
cmp dword [0x1406ae078], 0xffffffff
jne 0x14036b03c
lea rcx, [0x1406ae070]
call fcn.140432170
lea rcx, [0x140369540]
call fcn.1405607f4
lea rcx, [0x1406ae078]
call fcn.140560410
jmp 0x14036b03c
lea rcx, [0x1406ae078]
call fcn.140560470
cmp dword [0x1406ae078], 0xffffffff
jne 0x14036b21f
lea rcx, [0x1406ae070]
call fcn.140432170
lea rcx, [0x140369540]
call fcn.1405607f4
lea rcx, [0x1406ae078]
call fcn.140560410
jmp 0x14036b21f
lea rcx, [0x1406ae078]
call fcn.140560470
cmp dword [0x1406ae078], 0xffffffff
jne 0x14036b093
lea rcx, [0x1406ae070]
call fcn.140432170
lea rcx, [0x140369540]
call fcn.1405607f4
lea rcx, [0x1406ae078]
call fcn.140560410
jmp 0x14036b093
lea rcx, [0x1406ae078]
call fcn.140560470
cmp dword [0x1406ae078], 0xffffffff
jne 0x14036b1b9
lea rcx, [0x1406ae070]
call fcn.140432170
lea rcx, [0x140369540]
call fcn.1405607f4
lea rcx, [0x1406ae078]
call fcn.140560410
jmp 0x14036b1b9