Function at 0x140224f20
Capabilities:
Hash data using murmur3

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rax, qword [0x14045d5f0]
xor rax, rsp
mov qword [rbp + 0x17], rax
test dword [r8 + 0x5c], 0xc00000
mov rbx, r8
mov qword [rbp - 0x69], rbx
mov r13, rdx
mov rdi, rcx
jne 0x1402250f3
mov r10d, dword [rdx + 0x14]
mov r14d, 1
mov r9d, dword [rdi + 0x14]
mov eax, r10d
shr eax, 0x10
xor eax, r10d
imul ecx, eax, 0x85ebca6b
lea edx, [r9 - 1]
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0xc2b2ae35
mov eax, ecx
shr eax, 0x10
xor eax, ecx
cmovne r14d, eax
xor esi, esi
and edx, r14d
mov r8d, esi
test r9d, r9d
jle 0x140224fde
mov r11, qword [rdi + 0x18]
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rax + rax*2]
lea rax, [r11 + rcx*8]
mov ecx, dword [r11 + rcx*8 + 0x10]
test ecx, ecx
je 0x140224fde
cmp r14d, ecx
jne 0x140224fce
cmp r10d, dword [rax]
je 0x140224fe1
sub edx, 1
jns 0x140224fd6
add edx, r9d
inc r8d
cmp r8d, r9d
jl 0x140224fb0
mov rax, rsi
test rax, rax
lea rcx, [rax + 8]
cmove rcx, rsi
test rcx, rcx
je 0x14022506f
mov r8, qword [rcx]
mov rdx, qword [r8 + 0x188]
mov rax, qword [r8 + 0x190]
test rdx, rdx
je 0x140225010
mov qword [rdx + 0x190], rax
jmp 0x140225014
mov qword [rdi + 0x30], rax
test rax, rax
je 0x140225022
mov qword [rax + 0x188], rdx
jmp 0x140225026
mov qword [rdi + 0x38], rdx
mov qword [r8 + 0x188], rsi
mov qword [r8 + 0x190], rsi
mov rax, qword [rdi + 0x38]
mov rdx, qword [rcx]
mov qword [rdx + 0x188], rax
mov qword [rdx + 0x190], rsi
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x140225059
mov qword [rax + 0x190], rdx
mov qword [rdi + 0x38], rdx
cmp qword [rdi + 0x30], rsi
jne 0x140225067
mov qword [rdi + 0x30], rdx
mov rax, qword [rcx]
jmp 0x140225400
mov ecx, 0x198
call fcn.1402dfa60
test rax, rax
je 0x140225095
mov edx, dword [r13 + 0x14]
mov r9, rbx
mov r8, r13
mov rcx, rax
call fcn.140223430
mov rbx, rax
jmp 0x140225098
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.1402256b0
mov edx, dword [r13 + 0x14]
lea rcx, [rdi + 0x10]
mov r8, rbx
call fcn.14016ae90
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x188], rax
mov qword [rbx + 0x190], rsi
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x1402250d5
mov qword [rax + 0x190], rbx
mov qword [rdi + 0x38], rbx
cmp qword [rdi + 0x30], rsi
jne 0x1402250e3
mov qword [rdi + 0x30], rbx
mov rax, qword [rbx + 0x180]
add qword [rdi + 0x40], rax
jmp 0x1402253fd
movss xmm2, dword [0x1403b2e0c]
lea rcx, [rbp - 0x29]
mov rdx, rbx
mov qword [rsp + 0x118], r12
call fcn.1400b8b80
xor esi, esi
lea rdx, [rbp - 0x31]
mov rcx, rbx
mov qword [rbp - 0x19], rsi
mov dword [rbp - 0x11], esi
mov qword [rbp - 1], rsi
mov dword [rbp - 9], esi
call fcn.140099100
mov rdx, rax
lea rcx, [rbp - 0x29]
call fcn.14018df60
movzx eax, byte [rbp - 0x51]
lea rcx, [rbp - 0x49]
and al, 0xfd
mov qword [rbp - 0x61], rcx
and al, 0xfe
mov dword [rbp - 0x59], esi
mov r14d, 1
mov byte [rbp - 0x51], al
xor r8d, r8d
mov dword [rbp - 0x55], 4
mov edx, r14d
lea rcx, [rbp - 0x29]
call fcn.14018dbd0
lea rcx, [rbp - 0x61]
lea edx, [rax + 1]
call fcn.140225a80
mov ecx, dword [r13 + 0x14]
lea rdx, [rbp - 0x29]
mov rax, qword [rbp - 0x61]
mov r8d, r14d
movss xmm3, dword [0x1403b2e0c]
mov dword [rsp + 0x20], esi
mov dword [rax], ecx
mov rcx, qword [rbp - 0x61]
add rcx, 4
call fcn.14018dc10
lea rdx, [rbp - 0x61]
lea rcx, [rdi + 0x20]
call fcn.140224e30
or r12d, 0xffffffff
mov rbx, rax
test rax, rax
je 0x140225236
mov r8, qword [rax]
mov rdx, qword [r8 + 0x188]
mov rcx, qword [r8 + 0x190]
test rdx, rdx
je 0x1402251d7
mov qword [rdx + 0x190], rcx
jmp 0x1402251db
mov qword [rdi + 0x30], rcx
test rcx, rcx
je 0x1402251e9
mov qword [rcx + 0x188], rdx
jmp 0x1402251ed
mov qword [rdi + 0x38], rdx
mov qword [r8 + 0x188], rsi
mov qword [r8 + 0x190], rsi
mov rcx, qword [rax]
mov rax, qword [rdi + 0x38]
mov qword [rcx + 0x188], rax
mov qword [rcx + 0x190], rsi
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x140225220
mov qword [rax + 0x190], rcx
mov qword [rdi + 0x38], rcx
cmp qword [rdi + 0x30], rsi
jne 0x14022522e
mov qword [rdi + 0x30], rcx
mov rbx, qword [rbx]
jmp 0x1402253b0
mov ecx, 0x198
call fcn.1402dfa60
mov rbx, rax
test rax, rax
je 0x140225330
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
mov qword [rax + 0x140], rsi
mov qword [rax + 0x148], rsi
mov dword [rax + 0x158], r12d
mov ecx, dword [rbp - 0x59]
and byte [rax + 0x170], 0xfd
movzx edx, byte [rax + 0x170]
mov dword [rbp - 0x39], ecx
mov dword [rax + 0x168], ecx
mov qword [rax + 0x160], rsi
cmp ecx, r14d
jle 0x1402252bb
mov eax, 8
cmp ecx, eax
cmovg eax, ecx
movsxd rcx, eax
shl rcx, 2
mov dword [rbx + 0x16c], eax
call fcn.14008b360
or byte [rbx + 0x170], r14b
jmp 0x1402252d1
mov dword [rax + 0x16c], r14d
add rax, 0x178
and dl, 0xfe
mov byte [rbx + 0x170], dl
mov edx, esi
mov qword [rbx + 0x160], rax
mov r9, qword [rbp - 0x61]
cmp dword [rbx + 0x168], edx
jle 0x140225311
mov rcx, rsi
nop dword [rax]
mov r8, qword [rbx + 0x160]
add r8, rcx
je 0x140225303
mov eax, dword [rcx + r9]
mov dword [r8], eax
inc edx
add rcx, 4
cmp edx, dword [rbx + 0x168]
jl 0x1402252f0
mov r8, qword [rbp - 0x69]
mov rdx, r13
mov qword [rbx + 0x188], rsi
mov rcx, rbx
mov qword [rbx + 0x190], rsi
call fcn.140225420
jmp 0x140225333
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.1402256b0
mov edx, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x20]
shl ecx, 2
mov qword [rbp - 0x69], rbx
lea eax, [rdx + rdx*2]
cmp ecx, eax
jl 0x140225368
test edx, edx
jle 0x14022535a
add edx, edx
jmp 0x14022535f
mov edx, 4
lea rcx, [rdi + 0x20]
call fcn.140225b30
lea rdx, [rbp - 0x69]
lea rcx, [rdi + 0x20]
call fcn.140226b00
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x188], rax
mov qword [rbx + 0x190], rsi
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x140225397
mov qword [rax + 0x190], rbx
mov qword [rdi + 0x38], rbx
cmp qword [rdi + 0x30], rsi
jne 0x1402253a5
mov qword [rdi + 0x30], rbx
mov rax, qword [rbx + 0x180]
add qword [rdi + 0x40], rax
test byte [rbp - 0x51], r14b
je 0x1402253bf
mov rcx, qword [rbp - 0x61]
call fcn.14008b300
mov eax, dword [rbp - 9]
test eax, eax
je 0x1402253db
cmp eax, 4
jle 0x1402253d4
mov rcx, qword [rbp - 1]
call fcn.14008b300
mov qword [rbp - 1], rsi
mov dword [rbp - 9], esi
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x1402253f5
lock xadd dword [rcx + 8], r12d
cmp r12d, r14d
jne 0x1402253f5
mov rdx, qword [rcx]
call qword [rdx + 8]
mov r12, qword [rsp + 0x118]
mov rax, rbx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1402e0100
add rsp, 0xc0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret