Function at 0x40ae8f
Capabilities:
Accept command line arguments
Check mutex on windows

Disassembly:
push ebp
lea ebp, [esp - 0x9c]
sub esp, 0x11c
mov eax, dword [0x4899f8]
xor eax, ebp
mov dword [ebp + 0x98], eax
push esi
push edi
push str.WinMain
push str._s_Start
call fcn.0040c0a2
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetACP]
push 0x58b7b8
lea ecx, [ebp - 0x70]
mov edi, eax
call fcn.00406b70
push edi
lea eax, [ebp - 0x70]
push 0x4756fc
push eax
call fcn.004090d0
add esp, 0xc
mov esi, 0x4758ac
cmp edi, 0x3a8
je 0x40af3e
push esi
push esi
push esi
call fcn.0040ac25
mov esi, dword [ebp - 0x70]
push eax
push esi
push str.GetACP1
push str.TestGetACP
call fcn.00444830
push edi
push str.GetACP_____d_.Not_Chinese_So_return.
call fcn.0040c0a2
add esp, 0x24
lea ecx, [esi - 0x10]
call fcn.00405dc0
xor eax, eax
mov ecx, dword [ebp + 0x98]
pop edi
xor ecx, ebp
pop esi
call fcn.004472d8
add ebp, 0x9c
leave
ret 0x10
push ebx
push esi
push esi
push esi
call fcn.0040ac25
push eax
push dword [ebp - 0x70]
push str.GetACP2
push str.TestGetACP
call fcn.00444830
add esp, 0x1c
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea ecx, [ebp - 0x78]
call fcn.00405ec0
xor edi, edi
push edi
push str._restart
lea ecx, [ebp - 0x78]
call fcn.004060e0
test eax, eax
jl 0x40afda
push 0x103
lea eax, [ebp - 0x6b]
push edi
push eax
mov byte [ebp - 0x6c], 0
call fcn.004472f0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x6c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
push edi
push edi
lea eax, [ebp - 0x6c]
push str._sleep
push eax
call fcn.00402730
add esp, 0x14
xor esi, esi
mov ecx, dword [ebp - 0x78]
add ecx, 0xfffffff0
call fcn.00405dc0
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff0
call fcn.00405dc0
mov eax, esi
pop ebx
jmp 0x40af25
mov eax, dword [ebp + 0xa4]
push esi
push esi
push str.installbegin
push esi
mov ebx, str.true
push ebx
push 0x475f10
mov edi, str.res_watch_install
push edi
mov dword [0x58b29c], eax
call fcn.00444830
add esp, 0x1c
push str.E5C53971_D80E_4500_BE0D_761BF3CD8457
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x58b2a0], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40b049
push dword [0x58b2a0]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [0x58b2a0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 0x2711
jmp 0x40afbc
call fcn.00401d50
test eax, eax
je 0x40b071
push esi
push esi
push str.IsInstalled
push esi
push ebx
push 0x475ed8
push edi
call fcn.00444830
add esp, 0x1c
or esi, 0xffffffff
jmp 0x40afbc
lea eax, [ebp - 0x74]
xor edi, edi
push eax
mov dword [ebp - 0x74], edi
call fcn.0040acfe
pop ecx
test eax, eax
jne 0x40b0e0
push dword [ebp - 0x74]
push str.isCanInstall_Return_false_._TotalSeconds____d
call fcn.0040c0a2
pop ecx
pop ecx
push 0x58b7b8
lea ecx, [ebp - 0x7c]
call fcn.00406b70
push dword [ebp - 0x74]
lea eax, [ebp - 0x7c]
push str._d_s_
push eax
call fcn.004090d0
add esp, 0xc
push esi
push esi
push esi
call fcn.0040ac25
mov esi, dword [ebp - 0x7c]
push eax
push esi
push str.UninstallTime
push str.RAVHeader
call fcn.00444830
add esp, 0x1c
lea ecx, [esi - 0x10]
call fcn.00405dc0
jmp 0x40afba
push 0xa8
mov dword [ebp - 0x80], edi
call fcn.00411d4e
pop ecx
cmp eax, edi
je 0x40b0fb
mov ecx, eax
call fcn.00422250
jmp 0x40b0fd
xor eax, eax
push eax
lea ecx, [ebp - 0x80]
call fcn.0040ae3a
call fcn.00401cf0
cmp dword [0x4872a4], edi
je 0x40b11e
call fcn.00405600
push edi
call fcn.004040d0
push str.WinMain
push str._s_End
call fcn.0040c0a2
push dword [ebp - 0x80]
call fcn.0040ae21
add esp, 0xc
jmp 0x40afba