Function at 0x140060c10
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rbp
push r13
push r15
sub rsp, 0x60
mov r15, r8
mov r13, rdx
mov rbp, rcx
cmp rdx, r8
je 0x140060f0b
mov r9, qword [rcx + 0x18]
movabs r10, 0x100000001b3
mov qword [rax + 8], rbx
mov qword [rax - 0x20], rsi
mov qword [rax - 0x28], rdi
mov rdi, rdx
mov qword [rax - 0x30], r12
mov r12, qword [rcx + 8]
mov qword [rax - 0x38], r14
mov rax, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x88], rax
movabs rax, 0xcbf29ce484222325
movzx r8d, dl
xor r8, rax
mov qword [rsp + 0x30], r12
imul r8, r10
mov rax, rdx
mov qword [rsp + 0x28], r9
shr rax, 8
movzx ecx, al
mov rax, rdx
shr rax, 0x10
xor r8, rcx
movzx ecx, al
mov rax, rdx
shr rax, 0x18
imul r8, r10
xor r8, rcx
movzx ecx, al
imul r8, r10
mov rax, rdx
shr rax, 0x20
xor r8, rcx
movzx ecx, al
mov rax, rdx
shr rax, 0x28
imul r8, r10
xor r8, rcx
movzx ecx, al
imul r8, r10
mov rax, rdx
shr rdx, 0x38
shr rax, 0x30
xor r8, rcx
movzx eax, al
imul r8, r10
xor rax, r8
imul rax, r10
xor rax, rdx
imul rax, r10
and rax, qword [rbp + 0x30]
shl rax, 4
add rax, r9
mov qword [rsp + 0x90], rax
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x98], rcx
nop
mov rsi, rdi
mov r14, rdi
mov rdi, qword [rdi]
mov rbx, qword [rsi + 0x18]
test rbx, rbx
je 0x140060d61
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140060d61
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140060d61
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x20
mov rcx, rsi
call fcn.1401139dc
dec qword [rbp + 0x10]
cmp r14, qword [rsp + 0x20]
je 0x140060d9c
cmp rdi, r15
jne 0x140060d20
cmp qword [rsp + 0x98], r13
jne 0x140060ee0
mov rax, qword [rsp + 0x90]
mov qword [rax], rdi
jmp 0x140060ee0
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x98], r13
jne 0x140060db3
mov qword [rax], r12
jmp 0x140060dbb
mov r12, qword [rsp + 0x88]
mov qword [rax + 8], r12
cmp rdi, r15
je 0x140060ee0
nop dword [rax + rax]
mov rdx, qword [rdi + 0x10]
movabs r9, 0x100000001b3
mov rax, rdx
movabs rcx, 0xcbf29ce484222325
shr rax, 8
movzx r13d, al
movzx eax, dl
xor rax, rcx
imul rax, r9
xor r13, rax
mov rax, rdx
imul r13, r9
shr rax, 0x10
movzx ecx, al
mov rax, rdx
xor r13, rcx
shr rax, 0x18
imul r13, r9
movzx ecx, al
mov rax, rdx
xor r13, rcx
shr rax, 0x20
imul r13, r9
movzx ecx, al
mov rax, rdx
xor r13, rcx
shr rax, 0x28
imul r13, r9
movzx ecx, al
mov rax, rdx
xor r13, rcx
shr rax, 0x30
imul r13, r9
shr rdx, 0x38
movzx ecx, al
xor r13, rcx
imul r13, r9
xor r13, rdx
imul r13, r9
and r13, qword [rbp + 0x30]
shl r13, 4
add r13, qword [rsp + 0x28]
mov r12, qword [r13 + 8]
nop word [rax + rax]
mov rsi, rdi
mov r14, rdi
mov rdi, qword [rdi]
mov rbx, qword [rsi + 0x18]
test rbx, rbx
je 0x140060ec1
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140060ec1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140060ec1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x20
mov rcx, rsi
call fcn.1401139dc
dec qword [rbp + 0x10]
cmp r14, r12
je 0x140060f18
cmp rdi, r15
jne 0x140060e80
mov qword [r13], rdi
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x40]
mov qword [rax], rdi
mov qword [rdi + 8], rax
mov rdi, qword [rsp + 0x50]
mov rax, r15
add rsp, 0x60
pop r15
pop r13
pop rbp
ret
mov r9, qword [rsp + 0x30]
mov qword [r13], r9
mov qword [r13 + 8], r9
cmp rdi, r15
jne 0x140060dd0
jmp 0x140060ee0