Function at 0x140023370
Capabilities:
Check if file exists
Check mutex on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
movzx r15d, r8b
mov esi, edx
xor edi, edi
mov dword [rbp + 0x77], edi
lea r14, [rcx + 0x38]
cmp qword [rcx + 0x48], rdi
jne 0x140023470
mov rdx, rcx
lea rcx, [rbp + 0x67]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QFileInfo::constructor_class_QFileDevice_const____ptr64____ptr64]
nop
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0x67]
call qword [sym.imp.Qt6Core.dll_public:_class_QString___cdecl_QFileInfo::absoluteFilePath_void____ptr64]
nop
lea rdx, [rbp + 0x17]
mov rcx, rax
call qword [sym.imp.Qt6Core.dll__toLower_QString__QEHAA_AV1_XZ]
mov rbx, rax
lea edx, [rdi + 0x14]
lea rcx, str.QtLockedFile_mutex
call qword [sym.imp.Qt6Core.dll_private:_static_long_long___int64____cdecl_QByteArrayView::lengthHelperCharArray_char_const____ptr64__unsigned_long_long_unsigned___int64__]
mov qword [rbp - 0x59], rax
lea rcx, str.QtLockedFile_mutex
call qword [sym.imp.Qt6Core.dll_private:_static_char_const____ptr64___cdecl_QByteArrayView::castHelper_char_const____ptr64_]
mov qword [rbp - 0x51], rax
movaps xmm0, xmmword [rbp - 0x59]
movdqa xmmword [rbp - 0x59], xmm0
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 1]
call qword [sym.imp.Qt6Core.dll_public:_static_class_QString___cdecl_QString::fromLatin1_class_QByteArrayView_]
nop
mov rdx, rax
lea rcx, [rbp - 0x31]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
mov dword [rbp + 0x77], 1
mov rdx, rbx
lea rcx, [rbp - 0x31]
call qword [sym.imp.Qt6Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rdx, [rbp - 0x31]
mov rcx, r14
call qword [sym.imp.Qt6Core.dll_public:_class_QString____ptr64___cdecl_QString::operator_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x31]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 1]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x17]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x19]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x67]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QFileInfo::destructor_void____ptr64]
mov rdx, r14
lea rcx, [rbp - 0x49]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
nop
test esi, esi
js 0x1400234ad
mov r8d, 0xa
mov edx, esi
lea rcx, [rbp - 0x19]
call qword [sym.imp.Qt6Core.dll_public:_static_class_QString___cdecl_QString::number_int__int_]
nop
mov rdx, rax
lea rcx, [rbp - 0x49]
call qword [sym.imp.Qt6Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x19]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp - 0x49]
call qword [sym.imp.Qt6Core.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64]
mov r8, rax
xor edx, edx
test r15b, r15b
je 0x1400234dd
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
test rax, rax
jne 0x140023507
lea rcx, str.QtLockedFile::lock__:_CreateMutex_failed
call qword [sym.imp.Qt6Core.dll_void___cdecl_qErrnoWarning_char_const____ptr64_]
jmp 0x14002350a
mov ecx, 0x100001
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
test rax, rax
jne 0x140023507
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x14002350a
lea rcx, str.QtLockedFile::lock__:_OpenMutex_failed
call qword [sym.imp.Qt6Core.dll_void___cdecl_qErrnoWarning_char_const____ptr64_]
jmp 0x14002350a
mov rdi, rax
lea rcx, [rbp - 0x49]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, rdi
mov rbx, qword [rsp + 0xe8]
add rsp, 0xb0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret