Function at 0x180074a60
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r13d, eax
shr eax, 0x10
xor eax, r13d
imul eax, eax, 0x85ebca6b
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae35
mov r15d, eax
shr r15d, 0x10
xor r15d, eax
mov qword [rsp + 0x30], rsi
mov rdi, qword [rsi + 0x30]
test rdi, rdi
je 0x180074ae6
mov rax, rdi
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
dec rdx
mov rbx, r15
nop dword [rax]
and rbx, rdx
mov rsi, rbx
shl rsi, 4
mov ebp, dword [rcx + rsi]
cmp ebp, r13d
je 0x180074c2e
inc rbx
test ebp, ebp
jne 0x180074ac0
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180074ab0
mov ebx, 1
mov rbp, qword [rsp + 0x30]
lock xadd qword [rbp + 0x38], rbx
inc rbx
movabs r12, 0x7fffffffffffffff
nop word cs:[rax + rax]
mov rax, qword [rdi]
shr rax, 1
cmp rbx, rax
jb 0x180074c10
mov eax, 1
xchg dword [rbp + 0x258], eax
test eax, eax
jne 0x180074c10
mov rsi, qword [rbp + 0x30]
mov r14, qword [rsi]
mov rax, r14
shr rax, 1
cmp rbx, rax
jae 0x180074b50
mov rdi, rsi
jmp 0x180074bf7
mov rbp, r14
add r14, r14
mov rax, rbp
and rax, r12
cmp rbx, rax
jae 0x180074b50
mov rcx, rbp
shl rcx, 5
or rcx, 0x1f
call fcn.18013f64c
test rax, rax
je 0x180074f3b
mov rdi, rax
mov qword [rax], r14
add rax, 0x18
neg eax
and eax, 7
add rax, rdi
add rax, 0x18
mov qword [rdi + 8], rax
test r14, r14
je 0x180074bea
add rbp, rbp
xor eax, eax
nop
mov rcx, qword [rdi + 8]
mov dword [rcx + rax], 0
mov qword [rcx + rax + 8], 0
mov rcx, qword [rdi + 8]
mov dword [rcx + rax], 0
mov rcx, qword [rdi + 8]
mov dword [rcx + rax + 0x10], 0
mov qword [rcx + rax + 0x18], 0
mov rcx, qword [rdi + 8]
mov dword [rcx + rax + 0x10], 0
add rax, 0x20
add rbp, 0xfffffffffffffffe
jne 0x180074ba0
mov qword [rdi + 0x10], rsi
mov rbp, qword [rsp + 0x30]
mov qword [rbp + 0x30], rdi
mov dword [rbp + 0x258], 0
nop word cs:[rax + rax]
mov rax, qword [rdi]
mov rcx, rax
shr rcx, 1
shr rax, 2
add rax, rcx
cmp rbx, rax
jb 0x180074c73
mov rdi, qword [rbp + 0x30]
jmp 0x180074b10
mov rbx, qword [rcx + rsi + 8]
cmp rax, rdi
jne 0x180074c46
jmp 0x180074f27
inc rcx
mov r15, rcx
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
dec rcx
and rcx, r15
mov rdx, rcx
shl rdx, 4
lea rbp, [rax + rdx]
cmp dword [rax + rdx], 0
jne 0x180074c40
xor eax, eax
lock cmpxchg dword [rbp], r13d
jne 0x180074c40
jmp 0x180074f1e
mov rbx, qword [rbp]
test rbx, rbx
je 0x180074cac
xor ecx, ecx
jmp 0x180074c8d
mov rax, qword [rbx + 8]
lea rbx, [rax - 8]
test rax, rax
je 0x180074cac
test byte [rbx + 0x10], 1
je 0x180074c80
cmp byte [rbx + 0x48], 0
jne 0x180074c80
mov al, 1
lock cmpxchg byte [rbx + 0x10], cl
jne 0x180074c80
lock dec qword [rbp + 0x38]
jmp 0x180074ef6
mov ecx, 0x68
call fcn.18013f64c
test rax, rax
je 0x180074d0f
mov rbx, rax
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
movups xmmword [rax + 0x28], xmm0
movups xmmword [rax + 0x38], xmm0
mov byte [rax + 0x48], 0
mov qword [rax + 0x50], rbp
lea rax, [0x1801a6f50]
mov qword [rbx], rax
mov qword [rbx + 0x58], reloc.WLDAP32.dll_Ordinal_32
mov qword [rbx + 0x60], 0
mov r12, qword [rbx + 0x60]
test r12, r12
je 0x180074d19
mov rcx, qword [r12]
mov qword [rsp + 0x40], rcx
jmp 0x180074d25
lock dec qword [rbp + 0x38]
jmp 0x180074f4f
mov ecx, reloc.WLDAP32.dll_Ordinal_32
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rcx
mov rsi, rcx
shl rsi, 4
lea rcx, [rsi + 0x136]
call fcn.18013f64c
test rax, rax
je 0x180074ebe
lea r14, [rax + 0x28]
mov r11d, r14d
neg r11d
and r11d, 7
lea rcx, [rax + r11]
add rcx, 0x28
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], rsi
lea r10, [rcx + rsi]
mov qword [rsp + 0x28], r10
neg r10d
and r10d, 7
mov qword [rax + 8], 0
test r12, r12
je 0x180074db3
mov rdx, qword [r12 + 8]
mov rbp, qword [rsp + 0x28]
mov rcx, rdx
inc rcx
mov r8, qword [r12]
mov r9, qword [r12 + 0x18]
dec r8
and rcx, r8
mov rsi, qword [r9 + rcx*8]
mov qword [rbp], rsi
add rbp, 8
cmp rcx, rdx
jne 0x180074d90
mov rbp, qword [rsp + 0x28]
add rbp, r10
mov r9, qword [rsp + 0x50]
test r9, r9
mov r8, qword [rsp + 0x40]
je 0x180074e8e
cmp r9, 1
jne 0x180074ddb
xor edx, edx
jmp 0x180074e65
mov qword [rsp + 0x28], rbp
mov r10, r9
and r10, 0xfffffffffffffffe
mov rcx, qword [rsp + 0x48]
lea rcx, [rcx + r8*8]
lea rbp, [rax + rcx]
add rbp, 0x30
mov rcx, rax
add rcx, 0x38
xor edx, edx
nop word cs:[rax + rax]
lea rsi, [r14 + r11]
mov qword [r14 + r11 + 8], 0
mov qword [r14 + r11], 1
mov qword [rbp + r11 - 8], rsi
lea rsi, [rcx + r11]
mov qword [r14 + r11 + 0x18], 0
mov qword [r14 + r11 + 0x10], 1
mov qword [rbp + r11], rsi
add rdx, 2
add rbp, 0x10
add rcx, 0x20
add r14, 0x20
cmp r10, rdx
jne 0x180074e10
test r9b, 1
mov rbp, qword [rsp + 0x28]
je 0x180074e8e
mov rcx, rdx
shl rcx, 4
mov rsi, qword [rsp + 0x38]
lea r9, [rsi + rcx]
mov qword [rsi + rcx + 8], 0
mov qword [rsi + rcx], 1
add rdx, r8
mov qword [rbp + rdx*8], r9
mov qword [rax + 0x20], r12
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rbp
mov qword [rax], reloc.WLDAP32.dll_Ordinal_32
dec r8d
and r8d, 0x1f
mov qword [rax + 8], r8
mov qword [rbx + 0x60], rax
shl qword [rbx + 0x58], 1
mov rbp, qword [rsp + 0x30]
lock inc dword [rbp + 8]
mov rax, qword [rbp]
nop word cs:[rax + rax]
lea rcx, [rax + 8]
test rax, rax
cmove rcx, rax
mov qword [rbx + 8], rcx
lock cmpxchg qword [rbp], rbx
jne 0x180074ed0
jmp 0x180074ef6
inc rcx
mov r15, rcx
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
dec rcx
and rcx, r15
mov rdx, rcx
shl rdx, 4
lea rbp, [rax + rdx]
cmp dword [rax + rdx], 0
jne 0x180074ef0
xor eax, eax
lock cmpxchg dword [rbp], r13d
jne 0x180074ef0
mov rax, qword [rdi + 8]
mov qword [rax + rdx + 8], rbx
mov rax, rbx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x30]
lock dec qword [rax + 0x38]
mov dword [rax + 0x258], 0
xor ebx, ebx
jmp 0x180074f27