Function at 0x140058870
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x4b8], rbx
mov rax, qword [0x1402b0310]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov rbx, r8
mov rdi, rdx
mov r15, rcx
movzx eax, byte [r8 + 0xe8]
cmp al, 3
je 0x1400588c9
test al, al
je 0x1400588c9
xor eax, eax
jmp 0x140058c7d
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
add rcx, 8
lea r8, [rsp + 0x38]
mov rdx, qword [rbx + 0xd0]
call fcn.140061220
mov esi, eax
test eax, eax
jne 0x140058906
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rax + 0x104]
test cl, cl
je 0x1400589a5
mov esi, 0x10002
mov dword [rsp + 0x20], esi
lea r9, str.FileSystem_DeleteFileImpl:_Failed_to_GetInode___x_
mov r14, 0xffffffffffffffff
mov r8, r14
mov edx, 0x100
lea rcx, [rbp + 0x160]
call fcn.14001f090
test eax, eax
js 0x140058c3f
lea rcx, [rsp + 0x60]
call fcn.14001f120
nop
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x70]
call fcn.140020a40
mov rcx, rax
lea rdx, [0x140216b10]
call fcn.140020db0
mov rcx, rax
lea rdx, str.HarmonyOS::DistributedFs::FileSystem::DeleteFileImplLocked
call fcn.140020a40
mov rcx, rax
lea rdx, [0x140216b0c]
call fcn.140020db0
call qword [sym.imp.LogHelper.dll_public:_static_class_HwLogger____ptr64___cdecl_HwLogger::GetInstance_void_]
mov rcx, rax
lea r8, [rsp + 0x60]
lea edx, [r14 + 4]
call qword [sym.imp.LogHelper.dll_public:_void___cdecl_HwLogger::Log_enum_LOG_MESSAGE_LEVEL__class_std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64____ptr64]
nop
lea rcx, [rsp + 0x60]
call fcn.14001f1f0
jmp 0x140058c3f
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov rcx, qword [r15]
mov rax, qword [rcx]
lea rdx, [rsp + 0x48]
call qword [rax + 0x88]
nop
mov r14, 0xffffffffffffffff
mov rcx, qword [rsp + 0x48]
test rcx, rcx
jne 0x1400589de
mov esi, 0x100cb
jmp 0x140058c09
cmp dword [rbx + 0xec], 0
jbe 0x1400589f7
mov rdx, rbx
mov rcx, r15
call fcn.14005d890
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rbx + 0x10]
mov rdx, qword [rsp + 0x38]
add rdx, 0xc0
mov r9, rdi
call qword [rax + 0x30]
mov esi, eax
test eax, eax
je 0x140058aaf
mov dword [rsp + 0x20], eax
lea r9, str.FileSystem:_Failed_to_remove_meta__error:__x
mov r8, r14
mov edx, 0x100
lea rcx, [rbp + 0x260]
call fcn.14001f090
test eax, eax
js 0x140058c09
lea rcx, [rbp + 0x60]
call fcn.14001f120
nop
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0x70]
call fcn.140020a40
mov rcx, rax
lea rdx, [0x140216b10]
call fcn.140020db0
mov rcx, rax
lea rdx, str.HarmonyOS::DistributedFs::FileSystem::DeleteFileImplLocked
call fcn.140020a40
mov rcx, rax
lea rdx, [0x140216b0c]
call fcn.140020db0
call qword [sym.imp.LogHelper.dll_public:_static_class_HwLogger____ptr64___cdecl_HwLogger::GetInstance_void_]
mov rcx, rax
lea r8, [rbp + 0x60]
mov edx, 4
call qword [sym.imp.LogHelper.dll_public:_void___cdecl_HwLogger::Log_enum_LOG_MESSAGE_LEVEL__class_std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64____ptr64]
nop
lea rcx, [rbp + 0x60]
call fcn.14001f1f0
jmp 0x140058c09
mov rbx, qword [rbx]
mov qword [rsp + 0x58], rbx
lea rcx, [r15 + 0x50]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, rbx
shr rax, 8
movzx edx, al
movzx eax, bl
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r8, 0x100000001b3
imul rax, r8
xor rdx, rax
imul rdx, r8
mov rax, rbx
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rbx
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rbx
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rbx
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rbx
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rbx
shr rax, 0x38
xor rdx, rax
imul rdx, r8
mov rcx, qword [r15 + 0x40]
and rcx, rdx
mov r8, qword [r15 + 0x28]
mov rax, rcx
add rax, rax
mov rax, qword [r8 + rax*8]
add rcx, rcx
lea r10, [rcx*8 + 8]
mov rdx, qword [r15 + 0x18]
mov r9, qword [r8 + rcx*8]
nop word [rax + rax]
cmp r9, rdx
jne 0x140058b8a
mov rcx, rdx
jmp 0x140058b91
mov rcx, qword [r10 + r8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140058ba1
cmp qword [rax + 0x10], rbx
je 0x140058ba4
mov rax, qword [rax]
jmp 0x140058b80
mov rax, rdx
cmp rax, rdx
je 0x140058bcf
lea rbx, [rax + 0x10]
lea rcx, [rbx + 8]
call fcn.140063640
mov rdx, rbx
lea rcx, [r15 + 0x10]
call fcn.140063480
lea rcx, [r15 + 0x50]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
xor esi, esi
jmp 0x140058bdd
lea rcx, [r15 + 0x50]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov esi, 0x10002
lea rcx, [r15 + 0x60]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
nop
lea rcx, [r15 + 0x70]
call fcn.14005e7a0
mov edx, 8
lea rcx, [r15 + 0x68]
call fcn.14005e810
nop
lea rcx, [r15 + 0x60]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
nop
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x140058c3f
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140058c3f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140058c3f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140058c7b
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140058c7b
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140058c7b
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx]
call qword [rdx + 8]
nop
mov eax, esi
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1401eb080
mov rbx, qword [rsp + 0x4b8]
add rsp, 0x470
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret