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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov al, byte [esp + 0x68]
mov byte [esp + 0x1f], al
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + 8]
test edx, edx
je 0x417f98
mov dword [esp + 0x38], eax
lock inc dword [eax]
setne dl
test esi, esi
js 0x417f8c
lea ebx, [esp + 0x3c]
mov dword [esp + 8], 0xa
mov dword [esp + 4], esi
mov dword [esp], ebx
lea esi, [esp + 0x38]
call dword [method.QString.number_int__int_]
push ecx
mov dword [esp + 4], ebx
lea esi, [esp + 0x38]
mov dword [esp], esi
call dword [method.QString.append_QString_const_]
mov eax, dword [esp + 0x3c]
lock dec dword [eax]
setne dl
test dl, dl
je 0x417f78
cmp byte [esp + 0x1f], 0
mov dword [esp], esi
je 0x417f38
call dword [method.QString.utf16___const]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.KERNEL32.dll_CreateMutexW
sub esp, 0xc
mov ebx, eax
test eax, eax
je 0x4180c0
mov eax, dword [esp + 0x38]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x417f2c
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
mov eax, ebx
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
call dword [method.QString.utf16___const]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0x100001
call sub.KERNEL32.dll_OpenMutexW
sub esp, 0xc
mov ebx, eax
test eax, eax
jne 0x417f11
call sub.KERNEL32.dll_GetLastError
cmp eax, 2
je 0x417f11
mov dword [esp], str.QtLockedFile::lock__:_OpenMutex_failed
call dword [sym.imp.QtCore4.dll_qErrnoWarning_char_const__::_]
jmp 0x417f11
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x417edc
lea esi, [esp + 0x38]
jmp 0x417edc
mov dword [esp + 4], ebx
lea edi, [esp + 0x24]
mov dword [esp], edi
call dword [method.QFileInfo.QFileInfo_QFile_const_]
mov dword [esp + 4], edi
lea eax, [esp + 0x2c]
mov dword [esp], eax
call dword [method.QFileInfo.absoluteFilePath___const]
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
lea eax, [esp + 0x30]
mov dword [esp], eax
call dword [method.QString.toLower___const]
push eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.QtLockedFile_mutex
lea eax, [esp + 0x28]
mov dword [esp], eax
call dword [method.QString.fromLatin1_char_const__int_]
push ebp
mov eax, dword [esp + 0x28]
mov dword [esp + 0x34], eax
lock inc dword [eax]
setne dl
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
lea ebp, [esp + 0x34]
mov dword [esp], ebp
call dword [method.QString.append_QString_const_]
mov dword [esp + 4], ebp
lea eax, [ebx + 0x14]
mov dword [esp], eax
call dword [method.QString.operator_QString_const_]
mov eax, dword [esp + 0x34]
lock dec dword [eax]
setne dl
test dl, dl
je 0x4180ac
mov eax, dword [esp + 0x28]
lock dec dword [eax]
setne dl
test dl, dl
je 0x41809c
mov eax, dword [esp + 0x30]
lock dec dword [eax]
setne dl
test dl, dl
je 0x41808c
mov eax, dword [esp + 0x2c]
lock dec dword [eax]
setne dl
test dl, dl
je 0x41806c
mov dword [esp], edi
call dword [method.QFileInfo.QFileInfo__]
mov eax, dword [ebx + 0x14]
jmp 0x417e89
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
mov dword [esp], edi
call dword [method.QFileInfo.QFileInfo__]
mov eax, dword [ebx + 0x14]
jmp 0x417e89
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x41804c
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x41803e
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x418030
mov dword [esp], str.QtLockedFile::lock__:_CreateMutex_failed
call dword [sym.imp.QtCore4.dll_qErrnoWarning_char_const__::_]
jmp 0x417f11