Function at 0xb95073
Capabilities:
Accept command line arguments
Delete registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1e4c
call fcn.00bb9470
mov eax, dword [0xbd8630]
xor eax, esp
mov dword [esp + 0x1e48], eax
push ebx
push esi
push edi
push 0xbcc7de
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryA]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov esi, dword [0xbda654]
mov dword [0xbdb6c8], ebx
jmp 0xb950ca
mov eax, dword [esi]
cmp eax, ebx
je 0xb950c7
push 1
call dword [eax + 0x20]
add esi, 4
cmp esi, dword [0xbda658]
jb 0xb950bc
lea esi, [esp + 0x58]
call fcn.00ba0ce4
mov esi, eax
mov ecx, dword [esi + 4]
push ebx
mov edx, 0xbd9d74
call fcn.00ba14c6
cmp eax, 1
jne 0xb9511d
mov ecx, dword [esi + 4]
push ebx
mov edx, 0xbd9d68
call fcn.00ba14c6
shr eax, 4
test al, 1
jne 0xb9511d
mov ecx, dword [esi + 4]
push ebx
mov edx, 0xbd9d5c
call fcn.00ba14c6
mov byte [esp + 0x13], 1
cmp eax, 0x64
jne 0xb95121
mov byte [esp + 0x13], bl
lea ecx, [esp + 0x58]
call fcn.00ba0d38
cmp byte [esp + 0x13], bl
jne 0xb95142
mov esi, str.AutoUpdate_disabled._n
call fcn.00b9e1a6
push 0xfffffffffffffffc
pop eax
jmp 0xb95aa9
call fcn.00b9e3f3
test eax, eax
jne 0xb95195
cmp dword [0xbdb6cc], 3
jg 0xb95191
push str.jusched_Error:___XP_and_not_an_admin_user
lea ecx, [esp + 0x128]
call fcn.00b95ac0
push str.WinMain
push 0x431
push str.c:_re_workspace_8_2_build_windows_amd64_cygwin_jdk8u45_3627_install_make_au2.0_jusched_UpdateScheduler.cpp
push 3
mov edx, eax
mov ecx, 0xbdb6cc
call fcn.00ba2fce
push ebx
push 1
lea ecx, [esp + 0x12c]
call fcn.00b95dcc
push 0xfffffffffffffffb
jmp 0xb9513c
xor eax, eax
mov dword [esp + 0x28], ebx
lea edi, [esp + 0x2c]
stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push eax
lea edi, [esp + 0x34]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], ebx
call fcn.00b94bb2
pop ecx
mov dword [esp + 0xc], eax
cmp eax, ebx
jne 0xb9520d
push str._Running_jusched__n
call fcn.00ba262c
mov esi, dword [esp + 0x2c]
pop ecx
mov dword [esp + 0x18], ebx
mov edi, 0x493e0
call fcn.00b9dda6
test eax, eax
je 0xb951e6
xor edi, edi
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0xb95205
push str.Shutdown_signal_received
call fcn.00ba262c
pop ecx
mov dword [esp + 0x18], 0x64
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
push 0x7ff
lea eax, [esp + 0xe55]
push ebx
push eax
mov byte [esp + 0xe5c], bl
call fcn.00baf900
add esp, 0xc
cmp dword [esp + 0xc], ebx
jne 0xb95240
lea esi, [esp + 0xe50]
call fcn.00b94d27
mov dword [esp + 0xc], eax
cmp dword [0xbdb71c], ebx
jne 0xb95260
push ebx
call fcn.00baff8d
pop ecx
push eax
call fcn.00bb294e
pop ecx
mov dword [0xbdb71c], 1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x124], eax
mov dword [esp + 0x13c], ebx
mov byte [esp + 0x138], bl
cmp dword [esp + 0xc], ebx
jne 0xb9528c
call fcn.00b94d7d
mov dword [esp + 0xc], eax
cmp eax, ebx
je 0xb952c2
mov esi, str.jusched_ERROR:_error_detected_during_startup_checks
call fcn.00b9e1a6
push dword [esp + 0x30]
lea eax, [esp + 0x2c]
push eax
call fcn.00b94b84
mov eax, dword [esp + 0x24]
pop ecx
pop ecx
lea esi, [esp + 0x124]
mov dword [esp + 0x128], eax
call fcn.00ba2d4a
jmp 0xb95a9a
push 0x16
pop ecx
push 0x7ff
lea eax, [esp + 0x1655]
push ebx
mov esi, 0xbcc5c0
lea edi, [esp + 0xd0]
push eax
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x165c], bl
call fcn.00baf900
lea eax, [esp + 0x14c]
add esp, 0xc
push eax
call fcn.00ba09fb
pop ecx
test eax, eax
jns 0xb953ad
lea eax, [esp + 0x18]
push eax
push ebx
lea edx, [esp + 0x1658]
mov ecx, str.LocalFileName
mov dword [esp + 0x20], 0x800
call fcn.00b9da5f
pop ecx
pop ecx
test eax, eax
je 0xb95331
cmp dword [esp + 0x18], ebx
jne 0xb953ad
xor edi, edi
call fcn.00b9d9ab
test eax, eax
je 0xb953b8
push 0x2001f
push str.SOFTWAREJavaSoftJava_UpdatePolicy
lea eax, [esp + 0x12c]
mov dword [esp + 0x12c], 0x80000001
mov dword [esp + 0x144], ebx
mov byte [esp + 0x140], bl
call fcn.00ba2d13
test eax, eax
jne 0xb953b8
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push str.VersionXmlURL
push dword [esp + 0x12c]
call esi
push str.LastUpdateBeginTime
push dword [esp + 0x12c]
call esi
push str.LastUpdateFinishTime
push dword [esp + 0x12c]
call esi
lea esi, [esp + 0x124]
call fcn.00ba2d4a
jmp 0xb953b8
mov dword [esp + 0xe0], 1
cmp dword [esp + 0xd4], ebx
je 0xb953eb
lea edi, [esp + 0xc8]
call fcn.00b93dbd
test eax, eax
jne 0xb953eb
push str.Error_Querying_Frequency_Schedule_n
call fcn.00ba262c
pop ecx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xc], 0xfffffffd
lea ecx, [esp + 0xc8]
call fcn.00b93a03
lea esi, [esp + 0xc8]
call fcn.00b93e0d
mov dword [esp + 0x14], ebx
cmp dword [esp + 0xd4], ebx
je 0xb95a7a
mov edi, 0xff
cmp dword [esp + 0xd8], ebx
je 0xb95486
cmp dword [esp + 0xe4], ebx
je 0xb95432
push str.Time_for_a_Java_Update__Critical__check._n
jmp 0xb95437
push str.Time_for_a_Java_Update_check._n
call fcn.00ba262c
pop ecx
push dword [esp + 0xe4]
lea eax, [esp + 0xe4]
push dword [esp + 0xd8]
mov dword [esp + 0xe0], ebx
push eax
push dword [esp + 0x100]
lea eax, [esp + 0x24]
push dword [esp + 0x100]
mov dword [esp + 0xf4], ebx
push dword [esp + 0x100]
push dword [esp + 0x100]
push eax
push 1
jmp 0xb954d7
cmp dword [esp + 0xe0], ebx
je 0xb95509
cmp dword [esp + 0x14], ebx
jne 0xb95509
mov esi, str.There_is_a_pending_Java_Update__and_waittime0_._n
call fcn.00b9e1a6
push dword [esp + 0xe4]
lea eax, [esp + 0xe4]
push dword [esp + 0xd8]
push eax
push dword [esp + 0x100]
lea eax, [esp + 0x24]
push dword [esp + 0x100]
push dword [esp + 0x100]
push dword [esp + 0x100]
push eax
push ebx
lea eax, [esp + 0xe74]
push eax
lea ecx, [esp + 0x140]
call fcn.00b94993
add esp, 0x28
cmp dword [esp + 0xd4], ebx
je 0xb95a5b
lea ecx, [esp + 0xc8]
call fcn.00b93a03
jmp 0xb95513
mov esi, str.Top_of_update_check_loop__and_not_time_for_any_update_checks._n
call fcn.00b9e1a6
push edi
lea eax, [esp + 0x155]
push ebx
push eax
mov byte [esp + 0x15c], bl
call fcn.00baf900
add esp, 0xc
push edi
lea eax, [esp + 0x555]
push ebx
push eax
mov byte [esp + 0x55c], bl
call fcn.00baf900
add esp, 0xc
push edi
lea eax, [esp + 0x255]
push ebx
push eax
mov byte [esp + 0x25c], bl
call fcn.00baf900
add esp, 0xc
push edi
lea eax, [esp + 0x355]
push ebx
push eax
mov byte [esp + 0x35c], bl
call fcn.00baf900
mov esi, dword [esp + 0x20]
add esp, 0xc
cmp esi, ebx
jne 0xb95713
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov esi, str.__Critical_
cmp dword [esp + 0xe4], ebx
jne 0xb955ae
mov esi, 0xbcc7de
lea eax, [esp + 0xf0]
push eax
call fcn.00bafe60
pop ecx
push eax
call fcn.00baf985
pop ecx
push eax
push esi
lea eax, [esp + 0x158]
push str.JavaUpdate_s_NextSchedTime_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push dword [esp + 0xf4]
lea eax, [esp + 0x2c]
push dword [esp + 0x108]
lea ecx, [esp + 0x70]
push dword [esp + 0x108]
push dword [esp + 0x108]
push dword [esp + 0x108]
push eax
call fcn.00b93f21
mov eax, dword [esp + 0x118]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
add esp, 0x28
mov edi, str.JavaUpdate__Critical_
mov dword [esp + 0x24], eax
mov esi, str.JavaUpdate
mov dword [esp + 0x20], edi
cmp dword [esp + 0xe4], ebx
jne 0xb9565b
mov dword [esp + 0x20], esi
lea eax, [esp + 0x38]
push eax
call fcn.00bafe60
pop ecx
push eax
call fcn.00baf985
pop ecx
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x258]
push str._slastSchedTime_s
push eax
call fcn.00bae8e1
add esp, 0x10
mov dword [esp + 0x20], edi
cmp dword [esp + 0xe4], ebx
jne 0xb9570d
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], esi
lea eax, [esp + 0x40]
push eax
call fcn.00bafe60
fild dword [esp + 0x1c]
mov esi, eax
mov eax, dword [esp + 0x1c]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ecx, eax
mov eax, dword [esp + 0x1c]
test eax, eax
jns 0xb956c9
fadd dword [0xbd0278]
fdiv qword [0xbd0270]
mov eax, ecx
xor edx, edx
mov edi, 0xe10
div edi
push ecx
fdiv qword [0xbd0268]
fstp qword [esp]
push eax
push ecx
push dword [esp + 0x30]
push esi
call fcn.00baf985
pop ecx
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x36c]
push str._snextSchedTime_s_ssleeptime__sec_u__hours_u__days_2.2f__n
push eax
call fcn.00bae8e1
add esp, 0x24
jmp 0xb9572b
mov dword [esp + 0x34], edi
jmp 0xb9569c
lea eax, [esp + 0x150]
push str.JavaUpdate_waittime_still_set._n
push eax
call fcn.00bae8e1
pop ecx
pop ecx
mov dword [esp + 0x24], esi
push 0x7ff
lea eax, [esp + 0x655]
push ebx
push eax
mov byte [esp + 0x65c], bl
call fcn.00baf900
add esp, 0xc
mov esi, str.JavaUpdate__Critical_
cmp dword [esp + 0xe4], ebx
jne 0xb9575b
mov esi, str.JavaUpdate
mov eax, dword [esp + 0x24]
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 [esp + 0x34]
lea eax, [esp + 0x364]
push eax
lea eax, [esp + 0x268]
push eax
lea eax, [esp + 0x56c]
push eax
lea eax, [esp + 0x170]
push eax
lea eax, [esp + 0x674]
push str._s_s_s_sactual_sleep_time_u_msecs___01u:_02u:_02u__for__s_n
push eax
call fcn.00bae8e1
lea eax, [esp + 0x67c]
add esp, 0x2c
push eax
call fcn.00ba262c
pop ecx
call fcn.00b9dda6
test eax, eax
je 0xb957da
cmp dword [esp + 0x24], 0xa8c0
ja 0xb95a6f
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
call fcn.00baff8d
pop ecx
push dword [esp + 0x24]
lea eax, [esp + 0x2c]
push ebx
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, ebx
je 0xb95a21
xor edi, edi
inc edi
cmp eax, edi
je 0xb95917
cmp eax, 0x7f
jbe 0xb958c5
cmp eax, 0x81
jbe 0xb95a21
cmp eax, 0x102
jne 0xb958c5
push 0x7ff
lea eax, [esp + 0x655]
push ebx
push eax
mov byte [esp + 0x65c], bl
call fcn.00baf900
add esp, 0xc
push 0xffffffffffffffff
push str.Timeout_occured.
lea eax, [esp + 0x658]
push 0x800
push eax
call fcn.00bafed8
add esp, 0x10
lea esi, [esp + 0x650]
call fcn.00b9e1a6
mov eax, esi
cmp dword [esp + 0x14], ebx
jne 0xb958a2
cmp dword [esp + 0xe4], ebx
je 0xb9588e
push str.Run_Java_update__Critical__now._n
jmp 0xb95893
push str.Run_Java_update_now._n
push eax
call fcn.00bafff0
mov dword [esp + 0xe0], edi
jmp 0xb958b1
push str.Java_update_had_a_waittime.__Clearing_waittime._n
push eax
call fcn.00bafff0
mov dword [esp + 0x1c], ebx
pop ecx
pop ecx
lea eax, [esp + 0x650]
push eax
call fcn.00ba262c
jmp 0xb95a3a
push 0xff
lea eax, [esp + 0x455]
push ebx
push eax
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x18], 0xffffff9d
mov byte [esp + 0x45c], bl
call fcn.00baf900
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x454]
push str.Error_in_WaitForSingleObject:__d_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x450]
jmp 0xb958ba
push str.Registry_change_detected._n
call fcn.00ba262c
pop ecx
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x16
pop ecx
lea eax, [esp + 0x1c]
push ebx
mov esi, 0xbcc5c0
lea edi, [esp + 0x74]
push eax
mov dword [esp + 0x24], ebx
rep movsd dword es:[edi], dword [esi]
call fcn.00b9d91e
pop ecx
pop ecx
test eax, eax
je 0xb95a40
lea edi, [esp + 0x70]
call fcn.00b93dbd
test eax, eax
je 0xb95a40
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
cmp eax, dword [esp + 0xc8]
jne 0xb959cb
cmp edx, dword [esp + 0xcc]
jne 0xb959cb
cmp dword [esp + 0xdc], ebx
je 0xb9599e
cmp ecx, dword [esp + 0xd0]
jne 0xb959cb
cmp dword [esp + 0x14], ebx
jbe 0xb959f7
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
call fcn.00baff8d
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x54]
pop ecx
imul eax, eax, 0x3e8
add dword [esp + 0x14], eax
jmp 0xb959f7
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xe0], ebx
call fcn.00b93a03
push dword [esp + 0x1c]
call fcn.00b94b33
pop ecx
mov dword [esp + 0x2c], eax
cmp eax, ebx
jne 0xb95407
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xc], 0xfffffffe
jmp 0xb95407
push str.Received_shutdown_signal_n
mov dword [esp + 0xd8], ebx
call fcn.00ba262c
mov dword [esp + 0x10], 0x64
pop ecx
jmp 0xb95407
push str.jusched_ERROR:_Opening_JavaUpdate_key_or_Querying_Frequency_Schedule_in_while_loop_n
call fcn.00ba262c
mov dword [esp + 0xd8], ebx
mov dword [esp + 0x10], 0xfffffffd
jmp 0xb95a79
mov esi, str.jusched_main:_StartUpdateChecker_set_bRun_to_false__user_cancel_or_shutdown_event
call fcn.00b9e1a6
mov dword [esp + 0xc], 0x64
jmp 0xb95a7a
push str.jusched.exe_exit_because_it_is_an_OEMUpdate_and_the_sleeptime_is_greater_than_12_hours
call fcn.00ba262c
pop ecx
push dword [esp + 0x30]
lea eax, [esp + 0x2c]
push eax
call fcn.00b94b84
pop ecx
pop ecx
cmp dword [esp + 0x1c], ebx
je 0xb95a9a
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00b936ef
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1e54]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00bae56d
mov esp, ebp
pop ebp
ret 0x10