Function at 0x417800
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x418da8
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x42300c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], 1
mov ecx, dword [ebp - 0x10]
call fcn.00417bb0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0x10]
call fcn.004175a0
movzx edx, al
test edx, edx
je 0x417b92
mov ecx, dword [ebp - 0x10]
call fcn.00417500
movzx eax, al
test eax, eax
jne 0x417b92
push ecx
mov ecx, esp
mov dword [ebp - 0x44], esp
push 0x41e8e0
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.00416c20
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x41789f
push 0x10
push 0x41e8e4
push str.This_upgrade_requires_MDAC_2.8_available_from_Microsoft.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 0
je 0x417b92
mov ecx, dword [ebp - 0x10]
call fcn.004171e0
movzx ecx, al
test ecx, ecx
je 0x417b92
mov ecx, dword [ebp - 0x10]
call fcn.004176d0
movzx edx, al
test edx, edx
je 0x417b8b
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x41e872
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.00416b20
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0x41e934
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.004168b0
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x417921
cmp dword [ebp - 0x14], 0
je 0x417921
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x20], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push 0x41e938
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.004168b0
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x417979
cmp dword [ebp - 0x14], 0
je 0x417979
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
push 0x41e93c
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.00416b20
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
je 0x417979
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x24], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
push 0x41e940
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.004168b0
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x4179d1
cmp dword [ebp - 0x14], 0
je 0x4179d1
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
push 0x41e948
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.00416b20
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0
je 0x4179d1
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x28], 1
mov ecx, dword [ebp - 0x10]
call fcn.00416820
test eax, eax
jne 0x417a14
cmp dword [ebp - 0x14], 0
je 0x417a14
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push 0x41e950
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.00416b20
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x417a14
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x3c], 1
mov ecx, dword [ebp - 0x10]
call fcn.00415ee0
test eax, eax
jne 0x417a30
cmp dword [ebp - 0x14], 0
je 0x417a30
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x40], 1
cmp dword [ebp - 0x14], 0
je 0x417b89
push 0x10
push 0x41e954
push str.Components_necessary_to_run_Practice_Manager_are_now_being_installed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 0x10]
call fcn.00415940
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x10]
call fcn.004159b0
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x1c]
call fcn.00418080
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x1c]
call fcn.004180a0
cmp dword [ebp - 0x18], 2
je 0x417b16
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x20], 0
je 0x417ab2
push ecx
mov ecx, esp
mov dword [ebp - 0x64], esp
push str.v1.1.4322
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.00416330
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x24], 0
je 0x417ad3
push ecx
mov ecx, esp
mov dword [ebp - 0x68], esp
push str.v2.0.50727
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.00416330
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x28], 0
je 0x417af4
push ecx
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 0x41e9c8
call fcn.00401640
mov ecx, dword [ebp - 0x10]
call fcn.00416330
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x3c], 0
je 0x417b05
mov ecx, dword [ebp - 0x10]
call fcn.00416650
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x40], 0
je 0x417b16
mov ecx, dword [ebp - 0x10]
call fcn.00415d20
cmp dword [ebp - 0x18], 0
je 0x417b56
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x18], 1
jne 0x417b54
mov dword [ebp - 0x40], 0
mov ecx, dword [ebp - 0x40]
push ecx
push 2
call dword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x417b54
push 0x10
push 0x41e9d0
push str.The_client_upgrade_was_unable_to_automatically_reboot_your_computer._nTo_ensure_proper_installation__you_should_reboot_your_computer_manually.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x417b7a
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x1c], 0
je 0x417b7a
push 0x10
push 0x41e9e4
push str.The_client_upgrade_was_successful._Please_launch_practice_manager_again_to_log_in.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00418090
jmp 0x417b92
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret