Function at 0x445490
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54cde8
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x5a4ca4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x3c], eax
xor edi, edi
mov byte [ebp - 0x29], 0
lea esi, [eax + 8]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], edi
mov ecx, dword [ebp - 0x30]
mov eax, 0x66666667
mov esi, dword [esi]
mov ecx, dword [ecx + 4]
sub ecx, esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x34], eax
jge 0x4459f2
push 1
lea eax, [ebp - 0xb8]
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea eax, [ebp - 0xb8]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x4c], eax
mov eax, 0x66666667
mov dword [ebp - 0x50], 0xc
mov dword [ebp - 0x48], 0
mov ecx, dword [esi + 4]
mov edi, dword [esi]
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebp - 0x34]
jbe 0x445a90
mov eax, dword [ebp - 0x38]
add eax, 8
add eax, edi
cmp dword [eax + 0x14], 8
jb 0x445565
mov eax, dword [eax]
push eax
push 0
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + edi + 4], eax
mov eax, 0x66666667
mov ecx, dword [esi + 4]
mov edi, dword [esi]
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebp - 0x34]
jbe 0x445a90
mov eax, dword [ebp - 0x38]
add eax, edi
mov edx, dword [eax + 0x1c]
lea ecx, [eax + 8]
cmp edx, 8
jb 0x4455ad
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x18]
lea esi, [ecx + eax*2]
mov eax, dword [ebp - 0x38]
add eax, 8
add eax, edi
mov dword [ebp - 0x40], eax
cmp edx, 8
jb 0x4455c8
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov edi, esi
mov dword [ebp - 0x18], 0
sub edi, eax
mov dword [ebp - 0x14], 0xf
sar edi, 1
mov byte [ebp - 0x28], 0
cmp edi, 0xf
jbe 0x445636
cmp edi, 0x7fffffff
ja 0x445a8b
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x445604
mov eax, SysReAllocString
jmp 0x44560f
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x28]
inc eax
push eax
call fcn.00405920
mov ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 0x28]
mov byte [ecx], al
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], 0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x28]
push esi
push eax
call fcn.0040a4e0
mov edi, dword [ebp - 0x30]
mov eax, 0x66666667
mov dword [ebp - 4], 0
mov esi, dword [edi + 4]
mov ecx, esi
sub ecx, dword [edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebp - 0x34]
jbe 0x445a90
mov ecx, dword [edi]
mov edx, dword [ebp - 0x38]
cmp dword [edx + ecx + 4], 0
jne 0x4456ba
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x18], 0
je 0x44599a
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x3c]
cmovae ecx, dword [ebp - 0x28]
push ecx
mov dword [ebp - 0x5c], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_asusmutex.cpp
push dword [eax + 4]
mov dword [ebp - 0x58], 0x8b
movq xmm0, qword [ebp - 0x5c]
push str.atkex:_0x_x_Create_Mutex__s_fail__err_x...
jmp 0x44597a
cmp dword [ebp - 0x18], 0
je 0x445714
push dword [edx + ecx]
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov dword [ebp - 0x68], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_asusmutex.cpp
cmovae eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x64], 0x92
movq xmm0, qword [ebp - 0x68]
push dword [eax + 4]
push dword [edx + ecx + 0x24]
push str.atkex:_____request:_d_____0x_x_Mutex__s...timeout_d
sub esp, 0xc
mov eax, esp
push 1
movq qword [eax], xmm0
mov dword [eax + 8], str.AsusMutex::requestMutexs
call fcn.0047d6b0
push eax
call fcn.00481b00
mov esi, dword [edi + 4]
add esp, 0x28
mov ecx, dword [edi]
mov eax, 0x66666667
sub esi, ecx
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebp - 0x34]
jbe 0x445a90
mov eax, dword [ebp - 0x38]
push dword [eax + ecx]
push dword [eax + ecx + 4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
test edi, edi
jne 0x4457d4
cmp dword [ebp - 0x18], eax
je 0x4459a1
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
cmovae eax, dword [ebp - 0x28]
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
mov dword [ebp - 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebp - 0x34]
jbe 0x445a90
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x74], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_asusmutex.cpp
mov dword [ebp - 0x70], 0x98
push dword [eax + 4]
mov eax, dword [esi]
movq xmm0, qword [ebp - 0x74]
push dword [ecx + eax + 0x24]
push str.atkex:_____acquired:_d_____0x_x_Mutex__s...
sub esp, 0xc
mov eax, esp
push 1
movq qword [eax], xmm0
mov dword [eax + 8], str.AsusMutex::requestMutexs
call fcn.0047d6b0
push eax
invalid
invalid