Function at 0x8a5008
Capabilities:
Accept command line arguments
Check os version
Delete registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1e24]
mov eax, 0x1e24
call fcn.008e6820
push 0xffffffffffffffff
push 0x8fbd24
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x919630]
xor eax, ebp
mov dword [ebp + 0x1e20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
push 0x9034c6
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryA]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov esi, dword [0x91c1c0]
xor edi, edi
mov dword [0x91d4fc], ebx
inc edi
cmp esi, dword [0x91c1c4]
jae 0x8a508e
mov eax, dword [esi]
cmp eax, ebx
je 0x8a5089
push edi
call dword [eax + 0x20]
add esi, 4
jmp 0x8a5077
lea esi, [ebp - 0x38]
call fcn.008b2bcd
mov esi, eax
mov ecx, dword [esi + 4]
push ebx
mov edx, 0x91ada0
call fcn.008b34c1
cmp eax, edi
jne 0x8a50db
mov ecx, dword [esi + 4]
push ebx
mov edx, 0x91ad94
call fcn.008b34c1
shr eax, 4
test al, 1
jne 0x8a50db
mov ecx, dword [esi + 4]
push ebx
mov edx, 0x91ad88
call fcn.008b34c1
cmp eax, 0x64
sete al
cmp al, bl
jne 0x8a50db
mov al, 1
jmp 0x8a50dd
xor al, al
cmp al, bl
lea ecx, [ebp - 0x38]
sete byte [ebp - 0x21]
call fcn.008b2c27
cmp byte [ebp - 0x21], bl
je 0x8a5102
mov esi, str.AutoUpdate_disabled._n
call fcn.008b001a
push 0xfffffffffffffffc
pop eax
jmp 0x8a54aa
mov esi, 0x9c
push esi
lea eax, [ebp + 0x10]
push ebx
push eax
call fcn.008db8b0
add esp, 0xc
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
push eax
call esi
cmp eax, ebx
jne 0x8a5139
lea eax, [ebp + 0x10]
push eax
mov dword [ebp + 0x10], 0x94
call esi
test eax, eax
je 0x8a5158
cmp dword [ebp + 0x20], 2
jne 0x8a5152
cmp dword [ebp + 0x14], 6
jae 0x8a51a6
cmp dword [ebp + 0x14], 4
jb 0x8a5152
call fcn.008b0069
jmp 0x8a5154
mov eax, edi
cmp eax, ebx
jne 0x8a51a6
cmp dword [0x91d500], 3
jg 0x8a519f
push str.jusched_Error:___XP_and_not_an_admin_user
lea ecx, [ebp + 0xac]
call fcn.008a5b5f
push str.WinMain
push 0x435
push str.c:_re_workspace_8_2_build_windows_i586_cygwin_jdk8u221_13320_install_src_windows_au_jusched_UpdateScheduler.cpp
push 3
mov edx, eax
mov ecx, 0x91d500
mov byte [ebp - 4], 1
call fcn.008b477b
push ebx
push edi
lea ecx, [ebp + 0xac]
call fcn.008a5e43
push 0xfffffffffffffffb
jmp 0x8a50fc
xor eax, eax
mov dword [ebp - 0x2c], ebx
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
lea edi, [ebp - 0x3c]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x20], ebx
call fcn.008a4b8f
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
jne 0x8a5211
push str._Running_jusched__n
call fcn.008b6f65
mov esi, dword [ebp - 0x2c]
pop ecx
mov dword [ebp - 0x18], ebx
mov edi, 0x493e0
call fcn.008afc19
cmp al, bl
je 0x8a51ed
xor edi, edi
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x8a520b
push str.Shutdown_signal_received
call fcn.008b6f65
pop ecx
mov dword [ebp - 0x18], 0x64
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
push 0x7ff
lea eax, [ebp + 0x921]
push ebx
push eax
mov byte [ebp + 0x920], bl
call fcn.008db8b0
add esp, 0xc
cmp dword [ebp - 0x14], ebx
jne 0x8a523f
lea esi, [ebp + 0x920]
call fcn.008a4cd1
mov dword [ebp - 0x14], eax
cmp dword [0x91d95c], ebx
jne 0x8a525f
push ebx
call fcn.008dbf3d
push eax
call fcn.008de496
pop ecx
pop ecx
mov dword [0x91d95c], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0xac], eax
mov dword [ebp + 0xc4], ebx
mov byte [ebp + 0xc0], bl
cmp dword [ebp - 0x14], ebx
jne 0x8a5285
call fcn.008a4d24
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x8a52b6
mov esi, str.jusched_ERROR:_error_detected_during_startup_checks
call fcn.008b001a
push dword [ebp - 0x3c]
lea eax, [ebp - 0x2c]
push eax
call fcn.008a4b61
mov eax, dword [ebp - 0x20]
pop ecx
pop ecx
lea esi, [ebp + 0xac]
mov dword [ebp + 0xb0], eax
call fcn.008b44e2
jmp 0x8a549c
push 0x16
pop ecx
push 0x7ff
lea eax, [ebp + 0x121]
push ebx
mov esi, 0x9032a8
lea edi, [ebp + 0xc8]
push eax
rep movsd dword es:[edi], dword [esi]
mov byte [ebp + 0x120], bl
call fcn.008db8b0
lea eax, [ebp]
push eax
call fcn.008b290a
add esp, 0x10
test eax, eax
jns 0x8a538d
lea eax, [ebp - 0x18]
push eax
push ebx
lea edx, [ebp + 0x120]
mov ecx, str.LocalFileName
mov dword [ebp - 0x18], 0x800
call fcn.008af8bc
pop ecx
pop ecx
cmp eax, ebx
je 0x8a5319
cmp dword [ebp - 0x18], ebx
jne 0x8a538d
xor edi, edi
call fcn.008af808
cmp eax, ebx
je 0x8a5397
push 0x2001f
push str.SOFTWAREJavaSoftJava_UpdatePolicy
lea eax, [ebp + 0xac]
mov dword [ebp + 0xac], VariantCopy
mov dword [ebp + 0xc4], ebx
mov byte [ebp + 0xc0], bl
call fcn.008b44ab
test eax, eax
jne 0x8a5397
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push str.VersionXmlURL
push dword [ebp + 0xb0]
call esi
push str.LastUpdateBeginTime
push dword [ebp + 0xb0]
call esi
push str.LastUpdateFinishTime
push dword [ebp + 0xb0]
call esi
lea esi, [ebp + 0xac]
call fcn.008b44e2
jmp 0x8a5397
mov dword [ebp + 0xe0], 1
cmp dword [ebp + 0xd4], ebx
je 0x8a53c6
lea edi, [ebp + 0xc8]
call fcn.008a3dee
cmp eax, ebx
jne 0x8a53c6
push str.Error_Querying_Frequency_Schedule_n
call fcn.008b6f65
pop ecx
mov dword [ebp + 0xd4], ebx
mov dword [ebp - 0x14], 0xfffffffd
lea ecx, [ebp + 0xc8]
call fcn.008a3a03
lea esi, [ebp + 0xc8]
call fcn.008a3e3e
mov dword [ebp - 0x1c], ebx
cmp dword [ebp + 0xd4], ebx
je 0x8a5480
cmp dword [ebp + 0xd8], ebx
je 0x8a54cf
cmp dword [ebp + 0xe4], ebx
je 0x8a5406
push str.Time_for_a_Java_Update__Critical__check._n
jmp 0x8a540b
push str.Time_for_a_Java_Update_check._n
call fcn.008b6f65
pop ecx
push dword [ebp + 0xe4]
lea eax, [ebp + 0xe0]
push dword [ebp + 0xd4]
mov dword [ebp + 0xd8], ebx
push eax
push dword [ebp + 0xf4]
lea eax, [ebp - 0x1c]
push dword [ebp + 0xf0]
mov dword [ebp + 0xe0], ebx
push dword [ebp + 0xec]
push dword [ebp + 0xe8]
push eax
push 1
lea eax, [ebp + 0x920]
push eax
lea ecx, [ebp + 0x118]
call fcn.008a499b
add esp, 0x28
cmp dword [ebp + 0xd4], ebx
jne 0x8a551b
mov esi, str.jusched_main:_StartUpdateChecker_set_bRun_to_false__user_cancel_or_shutdown_event
call fcn.008b001a
mov dword [ebp - 0x14], 0x64
push dword [ebp - 0x3c]
lea eax, [ebp - 0x2c]
push eax
call fcn.008a4b61
pop ecx
pop ecx
cmp dword [ebp - 0x20], ebx
je 0x8a549c
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.008a3681
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1e20]
xor ecx, ebp
call fcn.008da44f
add ebp, 0x1e24
leave
ret 0x10
cmp dword [ebp + 0xe0], ebx
je 0x8a5528
cmp dword [ebp - 0x1c], ebx
jne 0x8a5528
mov esi, str.There_is_a_pending_Java_Update__and_waittime0_._n
call fcn.008b001a
push dword [ebp + 0xe4]
lea eax, [ebp + 0xe0]
push dword [ebp + 0xd4]
push eax
push dword [ebp + 0xf4]
lea eax, [ebp - 0x1c]
push dword [ebp + 0xf0]
push dword [ebp + 0xec]
push dword [ebp + 0xe8]
push eax
push ebx
jmp 0x8a544e
lea ecx, [ebp + 0xc8]
call fcn.008a3a03
jmp 0x8a5532
mov esi, str.Top_of_update_check_loop__and_not_time_for_any_update_checks._n
call fcn.008b001a
mov esi, 0xff
push esi
lea eax, [ebp + 0x1d21]
push ebx
push eax
mov byte [ebp + 0x1d20], bl
call fcn.008db8b0
push esi
lea eax, [ebp + 0x1921]
push ebx
push eax
mov byte [ebp + 0x1920], bl
call fcn.008db8b0
push esi
lea eax, [ebp + 0x1b21]
push ebx
push eax
mov byte [ebp + 0x1b20], bl
call fcn.008db8b0
push esi
lea eax, [ebp + 0x1c21]
push ebx
push eax
mov byte [ebp + 0x1c20], bl
call fcn.008db8b0
mov esi, dword [ebp - 0x1c]
add esp, 0x30
cmp esi, ebx
jne 0x8a56fa
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov esi, str.__Critical_
cmp dword [ebp + 0xe4], ebx
jne 0x8a55b9
mov esi, 0x9034c6
lea eax, [ebp + 0xf0]
push eax
call fcn.008dbe10
push eax
call fcn.008db935
push eax
push esi
lea eax, [ebp + 0x1d20]
push str.JavaUpdate_s_NextSchedTime_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push dword [ebp + 0xe4]
lea eax, [ebp - 0x60]
push dword [ebp + 0xf4]
lea ecx, [ebp - 0x34]
push dword [ebp + 0xf0]
push dword [ebp + 0xec]
push dword [ebp + 0xe8]
push eax
call fcn.008a3f6a
mov eax, dword [ebp + 0xf0]
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0xf4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0xe8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0xec]
add esp, 0x30
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x18], edi
mov esi, str.JavaUpdate__Critical_
cmp dword [ebp + 0xe4], ebx
jne 0x8a5648
mov esi, str.JavaUpdate
lea eax, [ebp - 0x54]
push eax
call fcn.008dbe10
push eax
call fcn.008db935
push eax
push esi
lea eax, [ebp + 0x1b20]
push str._slastSchedTime_s
push eax
call fcn.008da7c1
add esp, 0x18
mov dword [ebp - 0x40], str.JavaUpdate__Critical_
cmp dword [ebp + 0xe4], ebx
jne 0x8a56f1
mov dword [ebp - 0x40], str.JavaUpdate
mov dword [ebp - 0x44], str.JavaUpdate
lea eax, [ebp - 0x4c]
push eax
call fcn.008dbe10
mov esi, eax
xor edx, edx
mov ecx, 0x3e8
mov eax, edi
div ecx
mov dword [ebp - 0x70], edi
fild dword [ebp - 0x70]
mov ecx, eax
test edi, edi
jns 0x8a56b2
fadd dword [0x909d00]
fdiv qword [0x909cf8]
xor edx, edx
mov edi, 0xe10
div edi
push ecx
fdiv qword [0x909cf0]
fstp qword [esp]
push eax
push ecx
push dword [ebp - 0x40]
push esi
call fcn.008db935
pop ecx
push eax
push dword [ebp - 0x44]
lea eax, [ebp + 0x1c20]
push str._snextSchedTime_s_ssleeptime__sec_u__hours_u__days_2.2f__n
push eax
call fcn.008da7c1
add esp, 0x24
jmp 0x8a5710
mov dword [ebp - 0x44], str.JavaUpdate__Critical_
jmp 0x8a568a
lea eax, [ebp + 0x1d20]
push str.JavaUpdate_waittime_still_set._n
push eax
call fcn.008da7c1
pop ecx
pop ecx
mov dword [ebp - 0x18], esi
push 0x7ff
lea eax, [ebp + 0x1121]
push ebx
push eax
mov byte [ebp + 0x1120], bl
call fcn.008db8b0
add esp, 0xc
mov esi, str.JavaUpdate__Critical_
cmp dword [ebp + 0xe4], ebx
jne 0x8a573d
mov esi, str.JavaUpdate
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, 0x3e8
div ecx
push 0x3c
pop ecx
xor edx, edx
push 0x3c
pop edi
push esi
div ecx
mov ecx, edx
xor edx, edx
div edi
push ecx
push edx
push eax
push dword [ebp - 0x18]
lea eax, [ebp + 0x1c20]
push eax
lea eax, [ebp + 0x1b20]
push eax
lea eax, [ebp + 0x1920]
push eax
lea eax, [ebp + 0x1d20]
push eax
lea eax, [ebp + 0x1120]
push str._s_s_s_sactual_sleep_time_u_msecs___01u:_02u:_02u__for__s_n
push eax
call fcn.008da7c1
lea eax, [ebp + 0x1120]
push eax
call fcn.008b6f65
add esp, 0x30
call fcn.008afc19
cmp al, bl
je 0x8a57be
cmp dword [ebp - 0x18], 0xa8c0
jbe 0x8a57be
push str.jusched.exe_exit_because_it_is_an_OEMUpdate_and_the_sleeptime_is_greater_than_12_hours
call fcn.008b6f65
pop ecx
jmp 0x8a5480
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.008dbf3d
pop ecx
push dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
push ebx
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, ebx
je 0x8a59fb
xor edi, edi
inc edi
cmp eax, edi
je 0x8a58ee
cmp eax, 0x7f
jbe 0x8a5899
cmp eax, 0x81
jbe 0x8a59fb
cmp eax, 0x102
jne 0x8a5899
push 0x7ff
lea eax, [ebp + 0x1121]
push ebx
push eax
mov byte [ebp + 0x1120], bl
call fcn.008db8b0
push 0xffffffffffffffff
push str.Timeout_occured.
lea eax, [ebp + 0x1120]
push 0x800
push eax
call fcn.008dbe88
add esp, 0x1c
lea esi, [ebp + 0x1120]
call fcn.008b001a
mov eax, esi
cmp dword [ebp - 0x1c], ebx
jne 0x8a5877
cmp dword [ebp + 0xe4], ebx
je 0x8a5864
push str.Run_Java_update__Critical__now._n
jmp 0x8a5869
push str.Run_Java_update_now._n
push eax
call fcn.008dbfa0
mov dword [ebp + 0xd8], edi
jmp 0x8a5885
push str.Java_update_had_a_waittime.__Clearing_waittime._n
push eax
call fcn.008dbfa0
mov dword [ebp - 0x1c], ebx
pop ecx
pop ecx
lea eax, [ebp + 0x1120]
push eax
call fcn.008b6f65
pop ecx
jmp 0x8a53df
push 0xff
lea eax, [ebp + 0x1a21]
push ebx
push eax
mov dword [ebp + 0xd4], ebx
mov dword [ebp - 0x14], 0xffffff9d
mov byte [ebp + 0x1a20], bl
call fcn.008db8b0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp + 0x1a20]
push str.Error_in_WaitForSingleObject:__d_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x1a20]
push eax
call fcn.008b6f65
add esp, 0x10
jmp 0x8a53df
push str.Registry_change_detected._n
call fcn.008b6f65
pop ecx
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x16
pop ecx
lea eax, [ebp - 0x20]
mov esi, 0x9032a8
lea edi, [ebp + 0x54]
push eax
mov dword [ebp - 0x20], ebx
rep movsd dword es:[edi], dword [esi]
call fcn.008af78c
pop ecx
cmp eax, ebx
je 0x8a59de
lea edi, [ebp + 0x54]
call fcn.008a3dee
cmp eax, ebx
je 0x8a59de
mov eax, dword [ebp + 0x54]
cmp eax, dword [ebp + 0xc8]
jne 0x8a598c
mov ecx, dword [ebp + 0x58]
cmp ecx, dword [ebp + 0xcc]
jne 0x8a598c
cmp dword [ebp + 0xdc], ebx
je 0x8a5966
mov ecx, dword [ebp + 0x5c]
cmp ecx, dword [ebp + 0xd0]
jne 0x8a598c
cmp dword [ebp - 0x1c], ebx
jbe 0x8a59b8
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
call fcn.008dbf3d
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x68]
pop ecx
imul eax, eax, 0x3e8
add dword [ebp - 0x1c], eax
jmp 0x8a59b8
mov dword [ebp + 0xc8], eax
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0xcc], eax
mov eax, dword [ebp + 0x5c]
lea ecx, [ebp + 0xc8]
mov dword [ebp + 0xd0], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp + 0xe0], ebx
call fcn.008a3a03
push dword [ebp - 0x20]
call fcn.008a4b12
pop ecx
mov dword [ebp - 0x28], eax
cmp eax, ebx
jne 0x8a53df
mov dword [ebp + 0xd4], ebx
mov dword [ebp - 0x14], 0xfffffffe
jmp 0x8a53df
push str.jusched_ERROR:_Opening_JavaUpdate_key_or_Querying_Frequency_Schedule_in_while_loop_n
call fcn.008b6f65
pop ecx
mov dword [ebp + 0xd4], ebx
mov dword [ebp - 0x14], 0xfffffffd
jmp 0x8a53df
push str.Received_shutdown_signal_n
mov dword [ebp + 0xd4], ebx
call fcn.008b6f65
pop ecx
mov dword [ebp - 0x14], 0x64
jmp 0x8a53df