Function at 0x404340
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4441ab
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2504
call fcn.0042f500
mov eax, dword [0x45a790]
xor eax, esp
mov dword [esp + 0x2500], eax
push ebx
push esi
push edi
mov eax, dword [0x45a790]
xor eax, esp
push eax
lea eax, [esp + 0x2518]
mov dword fs:[0], eax
lea eax, [esp + 0x438]
push eax
mov esi, ecx
call fcn.00402a40
xor ebx, ebx
mov dword [esp + 0x430], ebx
mov dword [esp + 0x41c], ebx
mov dword [esp + 0x428], ebx
mov dword [esp + 0x424], 1
mov dword [esp + 0x42c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x434], ebx
mov dword [esp + 0x18], 0xffffffff
mov dword [0x45f6c4], ebx
mov dword [esp + 0x2520], ebx
call fcn.00404b20
push eax
call fcn.00404c50
push str.PRODUCTInst__
call fcn.00404b20
mov edi, eax
call fcn.00405000
add esp, 4
call fcn.004040b0
test eax, eax
jne 0x404433
call fcn.00405a00
push eax
call fcn.00406d80
push str.Configuration_Failure._Unable_to_continue.
push 0x10
call fcn.00404b20
mov ecx, eax
call fcn.00405460
add esp, 8
lea ecx, [esp + 0x438]
push ecx
jmp 0x404612
push 0x1fe
lea edx, [esp + 0x2312]
push ebx
push edx
mov word [esp + 0x2318], bx
call fcn.0042d1b0
add esp, 0xc
push 0x100
push str.ISRUNNING_MUTEX_NAME
call fcn.00405a00
push eax
lea edi, [esp + 0x2318]
call fcn.004061a0
mov eax, edi
push eax
push 1
push ebx
mov dword [esi + 0xa4], ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [esi + 0xa4], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4044ca
mov eax, dword [esi + 0xa4]
cmp eax, ebx
je 0x4044a3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.Athena_Web_Bundle_Software_Installer_is_already_running.__Exiting...
mov dword [esi + 0xa4], ebx
call fcn.00404b20
mov edi, eax
call fcn.00405000
add esp, 4
lea ecx, [esp + 0x438]
push ecx
jmp 0x404612
push 0x44c994
push str.Installer_version:__s
call fcn.00404b20
mov edi, eax
call fcn.00405000
add esp, 8
call fcn.004096f0
call fcn.00408d70
test eax, eax
je 0x4044f8
push str.OS_is_64_bit
jmp 0x4044fd
push str.OS_is_NOT_64_bit
call fcn.00404b20
mov edi, eax
call fcn.00405000
mov edx, dword [esi + 0x48]
add esp, 4
push edx
push str.cmdline__s
call fcn.00404b20
mov edi, eax
call fcn.00405000
add esp, 8
mov ecx, esi
call fcn.004192bf
push ebx
call fcn.0041a904
add esp, 4
push 0x44bec8
mov ecx, esi
call fcn.0041ae79
push 0x1fe
lea eax, [esp + 0x2112]
push ebx
push eax
mov word [esp + 0x2118], bx
call fcn.0042d1b0
add esp, 0xc
push 0x100
push str.PRINTER_SERIES_NAME
call fcn.00405a00
push eax
lea edi, [esp + 0x2118]
call fcn.004061a0
call fcn.00404b20
mov edx, edi
lea ecx, [edx + 2]
mov di, word [edx]
add edx, 2
cmp di, bx
jne 0x404584
sub edx, ecx
sar edx, 1
push edx
lea ecx, [esp + 0x2110]
push ecx
mov ecx, eax
call fcn.00404a10
call fcn.00405a00
push eax
call fcn.00406d80
mov esi, dword [esi + 0x48]
mov eax, str.PRODUCTI
mov cx, word [esi]
cmp cx, word [eax]
jne 0x4045dc
cmp cx, bx
je 0x4045d8
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x4045dc
add esi, 4
add eax, 4
cmp cx, bx
jne 0x4045b6
xor eax, eax
jmp 0x4045e1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40460a
push str.PRODUCT_Installer____________________________________________________
call fcn.00404b20
mov edi, eax
call fcn.00405000
add esp, 4
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x434], ebx
call fcn.004025c0
lea eax, [esp + 0x438]
push eax
mov dword [esp + 0x2524], 0xffffffff
call fcn.00402250
xor eax, eax
mov ecx, dword [esp + 0x2518]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2500]
xor ecx, esp
call fcn.0042b53d
mov esp, ebp
pop ebp
ret