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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x43c
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor esi, esi
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
push esi
push dword [ebp + 8]
mov ecx, 0x41c4e4
push esi
call fcn.00401104
xor eax, eax
mov dword [ebp - 0xc], esi
lea edi, [ebp - 8]
mov dword [ebp + 8], esi
stosd dword es:[edi], eax
call fcn.004066d2
push str.SunJavaUpdateSchedulerMutex
push 1
push esi
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x14], eax
call fcn.004085eb
cmp eax, esi
mov dword [ebp - 0x24], eax
mov ebx, 0x493e0
je 0x40186a
xor ebx, ebx
cmp dword [ebp - 0xc], esi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x401c7c
cmp dword [ebp - 0x14], esi
je 0x401c86
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x401c7c
push ebx
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x401c7c
mov dword [ebp - 4], esi
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x10], esi
call fcn.00406549
test eax, eax
je 0x401910
call fcn.00406a46
test eax, eax
je 0x401910
push 0x400
mov edi, 0x41bf88
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x401910
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x4018ec
cmp byte [eax + 0x41bf88], 0x5c
je 0x4018f1
dec eax
jns 0x4018e3
jmp 0x401914
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x416664
push edi
mov byte [eax + 0x41bf88], 0
call ebx
push str.jucheck.exe
push edi
call ebx
jmp 0x401914
or dword [ebp + 8], 0xffffffff
call fcn.00408229
cmp dword [ebp + 8], esi
mov dword [ebp - 0x1c], esi
jne 0x4019b1
lea eax, [ebp - 4]
push esi
push eax
call fcn.00407261
test eax, eax
pop ecx
pop ecx
je 0x4019b1
push 0x41c4d4
push 0x41b054
call fcn.004084af
test eax, eax
pop ecx
pop ecx
je 0x4019b1
lea eax, [ebp - 0x3c]
push eax
call fcn.00407ac5
test eax, eax
pop ecx
jge 0x40196f
lea eax, [ebp - 0x43c]
push 0x400
push eax
call fcn.00407d48
test eax, eax
pop ecx
pop ecx
jl 0x401976
mov dword [ebp - 0x1c], 1
push 0x41bf80
mov edi, 0x41c388
push edi
call fcn.004014bd
test eax, eax
pop ecx
pop ecx
je 0x401992
mov dword [0x41c4e0], edi
push dword [ebp - 4]
call fcn.0040165a
cmp eax, esi
pop ecx
mov dword [ebp - 8], eax
je 0x4019c2
call fcn.00401246
call fcn.00401535
mov dword [ebp - 0x10], eax
jmp 0x4019c6
push str.Either_not_a_Win2000__XP_platform_or_Non_admin_user_or_GetModuleFilename_failed_or_Error_Opening_JavaUpdate_Keys._n
call fcn.00406d72
pop ecx
mov dword [0x41b058], esi
or dword [ebp + 8], 0xffffffff
cmp dword [0x41b058], esi
je 0x401c44
mov ebx, 0x41c3b0
lea eax, [ebp - 0x20]
push eax
push 0x4166ec
push dword [ebp - 4]
call fcn.0040739e
add esp, 0xc
test eax, eax
je 0x401c3a
cmp dword [ebp - 0x20], 1
jne 0x401c3a
call fcn.004070e6
test eax, eax
jne 0x401c3a
cmp dword [ebp - 0x10], esi
je 0x401a36
push 1
mov dword [ebp - 0x10], esi
call fcn.004016b4
cmp dword [0x41b058], esi
pop ecx
je 0x401c44
cmp dword [ebp - 0x24], esi
jne 0x401c44
call fcn.00401246
jmp 0x401a5a
cmp dword [ebp - 0x1c], esi
je 0x401a51
push esi
mov dword [ebp - 0x1c], esi
call fcn.004016b4
cmp dword [0x41b058], esi
pop ecx
je 0x401c44
cmp dword [ebp - 0x24], esi
jne 0x401c44
mov esi, 0x41bf80
push esi
call fcn.0040a19f
push esi
call fcn.0040a01f
pop ecx
pop ecx
push 9
pop ecx
mov esi, eax
mov edi, 0x41c4b0
rep movsd dword es:[edi], dword [esi]
mov esi, dword [0x41c4d8]
sub esi, dword [0x41bf80]
call fcn.0040827b
xor edx, edx
mov ecx, 0xe10
div ecx
mov edi, edx
add edi, esi
imul edi, edi, 0x3e8
test edi, edi
ja 0x401aa6
mov edi, 0x2932e00
push 0x41c4d8
call fcn.0040a01f
pop ecx
mov ecx, dword [0x41c4d8]
sub ecx, dword [0x41bf80]
mov dword [ebp - 0x18], eax
mov eax, ecx
cdq
mov esi, 0xe10
idiv esi
push edi
push eax
push ecx
push dword [ebp - 0x18]
call fcn.0040a6c3
pop ecx
push eax
push str.nextSched_s___sleeptime__sec_u__hours_u___actual_sleep_u_msecs__n
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x41c4dc
call fcn.0040a01f
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0x1c
push str.lastSchedTime
push ebx
mov dword [ebp - 0x18], eax
call esi
push dword [ebp - 0x18]
call fcn.0040a6c3
pop ecx
push eax
push ebx
call esi
push ebx
call fcn.00406d72
pop ecx
push edi
xor edi, edi
push edi
lea eax, [ebp - 0xc]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, edi
je 0x401c05
xor esi, esi
inc esi
cmp eax, esi
je 0x401b7f
cmp eax, 0x7f
jbe 0x401b58
cmp eax, 0x81
jbe 0x401c05
cmp eax, 0x102
jne 0x401b58
mov dword [ebp - 0x10], esi
push str.Timeout_occured._n
jmp 0x401c10
mov dword [0x41b058], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_in_WaitForSingleObject:__d_n
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
push ebx
call fcn.00406d72
add esp, 0x10
jmp 0x401c16
push str.Registry_is_changed._n
call fcn.00406d72
pop ecx
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 4]
push edi
push eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], esi
call fcn.00407261
test eax, eax
pop ecx
pop ecx
je 0x401c25
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004084af
test eax, eax
pop ecx
pop ecx
je 0x401c25
mov eax, dword [ebp - 0x28]
cmp eax, dword [0x41b054]
mov ecx, dword [ebp - 0x2c]
jne 0x401be8
cmp ecx, dword [0x41c4d4]
jne 0x401be8
call fcn.00401535
mov dword [ebp - 0x10], eax
jmp 0x401bf8
mov dword [0x41b054], eax
mov dword [0x41c4d4], ecx
call fcn.00401246
push dword [ebp - 4]
call fcn.0040165a
mov dword [ebp - 8], eax
jmp 0x401c15
mov dword [0x41b058], edi
push str.Received_shutdown_signal_n
call fcn.00406d72
pop ecx
xor esi, esi
cmp dword [0x41b058], edi
je 0x401c44
jmp 0x4019d7
push str.Error_Opening_JavaUpdate_key_or_Querying_Frequency_Schedule_in_while_loop_n
call fcn.00406d72
pop ecx
mov dword [0x41b058], edi
xor esi, esi
jmp 0x401c44
or dword [ebp + 8], 0xffffffff
mov dword [0x41b058], esi
cmp dword [ebp - 4], esi
je 0x401c52
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 8], esi
je 0x401c60
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xc], esi
je 0x401c6e
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp + 8]
jmp 0x401c93
cmp dword [ebp - 0x14], esi
je 0x401c86
push dword [ebp - 0x14]
call edi
cmp dword [ebp - 0xc], esi
je 0x401c90
push dword [ebp - 0xc]
call edi
push 0x64
pop esi
mov ecx, 0x41c4e4
call fcn.00401db7
call dword [sym.imp.ole32.dll_CoUninitialize]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x10