Function at 0x4259b7
Capabilities:
Check mutex on windows

Disassembly:
push 0x248
mov eax, 0x4ad1ab
call fcn.0043d05b
mov ebx, ecx
mov dword [ebp - 0x21c], ebx
and dword [ebx + 4], 0
lea ecx, [ebx + 8]
mov dword [ebp - 0x240], ebx
mov dword [ebx], vtable.UpdateSetting.0
call fcn.0041d277
and dword [ebp - 4], 0
call fcn.004041d0
push eax
lea ecx, [ebx + 0x100]
call fcn.00408efe
mov byte [ebp - 4], 1
call fcn.004041d0
push eax
lea ecx, [ebx + 0x104]
call fcn.00408efe
xor eax, eax
mov byte [ebp - 4], 2
lea edi, [ebx + 0x108]
mov dword [ebx + 0x10c], eax
mov dword [edi], eax
mov dword [ebx + 0x110], eax
mov dword [ebx + 0x114], eax
call fcn.004041d0
push eax
lea ecx, [ebx + 0x118]
call fcn.00408efe
mov byte [ebp - 4], 3
call fcn.004041d0
push eax
lea ecx, [ebx + 0x11c]
call fcn.00408efe
mov byte [ebp - 4], 4
call fcn.004041d0
push eax
lea ecx, [ebx + 0x120]
call fcn.00408efe
mov al, byte [ebp + 8]
xor esi, esi
mov byte [ebx + 0x124], al
mov dword [ebx + 0x128], esi
mov dword [ebx + 0x12c], esi
mov dword [ebx + 0x130], esi
mov dword [ebx + 0x134], esi
mov dword [ebx + 0x138], esi
mov dword [ebx + 0x13c], 0xa
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 6
mov dword [ebp - 0x22c], 0xc
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x228], esi
call fcn.00408d33
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 7
call fcn.00408e17
test al, al
jne 0x425b05
push 4
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x425bb5
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x21c]
push eax
push str.failed_to_create_our_DACl_with_error__ld
push 0x16
jmp 0x425ba1
push 1
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x425b43
push esi
push dword [ebp - 0x238]
lea eax, [ebp - 0x254]
push 1
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
lea ecx, [ebp - 0x254]
cmove ecx, dword [ebp - 0x228]
mov dword [ebp - 0x228], ecx
push str.Global69AFB4D2_3B9F_4DF2_9862_991845B3138C
push esi
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebx + 0x10c], eax
test eax, eax
jne 0x425bb5
push str.Global69AFB4D2_3B9F_4DF2_9862_991845B3138C
push esi
push 0x100001
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov dword [ebx + 0x10c], eax
test eax, eax
jne 0x425bb5
push 4
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x425bb5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x21c]
push eax
push str.failed_to_create_or_open_settings_mutex_with_error_0x_08x
push 0x28
push 0x4c326c
push str.UpdateSetting.cpp
push 4
call fcn.00402fc0
add esp, 0x18
lea ecx, [ebx + 8]
call fcn.0041f134
push 0x208
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.0043f630
lea eax, [ebp - 0x218]
push eax
call fcn.00427252
add esp, 0x10
mov dword [ebp - 0x220], eax
test eax, eax
je 0x425ce7
push 4
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x425c1a
lea eax, [ebp - 0x220]
push eax
push str.Failed_to_get_xmlroot_folder._hr__0x_08x
push 0x32
push 0x4c326c
push str.UpdateSetting.cpp
push 4
call fcn.00402fc0
add esp, 0x18
lea esi, [ebx + 0x100]
push edi
call fcn.00410f59
mov dword [ebp - 0x220], eax
pop ecx
test eax, eax
jne 0x425d00
cmp dword [edi], eax
je 0x425d00
mov eax, dword [esi]
sub eax, 0x10
push eax
call fcn.0041423a
add eax, 0x10
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 8
mov dword [esp], str.mcupdsetting.xml
call fcn.00413c0f
push 0xffffffffffffffff
push dword [ebx + 0x10c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [ebp - 0x21c]
mov ecx, dword [edi]
push 0
push 1
push esi
call fcn.0041150d
push dword [ebx + 0x10c]
mov edi, eax
mov dword [ebp - 0x220], edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test edi, edi
je 0x425cdd
lea edi, [ebx + 0x108]
mov ecx, dword [edi]
call fcn.0041153d
and dword [edi], 0
push 4
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x425cdd
lea eax, [ebp - 0x220]
push eax
push str.failed_to_load_settings_xml_with_error_0x_08x
push 0x4a
push 0x4c326c
push str.UpdateSetting.cpp
push 4
call fcn.00402fc0
add esp, 0x18
lea ecx, [esi - 0x10]
call fcn.0040a044
jmp 0x425d31
lea eax, [ebp - 0x218]
lea esi, [ebx + 0x100]
push eax
mov ecx, esi
call fcn.0040a37f
jmp 0x425c20
and dword [edi], 0
push 4
call fcn.0042c3e0
pop ecx
test eax, eax
je 0x425d31
lea eax, [ebp - 0x220]
push eax
push str.failed_in_CoCreate_for_xml_with_error_0x_08x
push 0x3d
push 0x4c326c
push str.UpdateSetting.cpp
push 4
call fcn.00402fc0
add esp, 0x18
lea ecx, [ebp - 0x23c]
call fcn.00408d47
mov eax, ebx
call fcn.0043d005
ret 4