Function at 0x408a60
Capabilities:
Create service
Modify service
Start service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c0
mov eax, dword [0x435b3c]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x114], str.NVIDIA_Stereoscopic_3D_Driver_Service
push 0x105
lea eax, [ebp - 0x110]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x110]
push ecx
push str.__s_
lea edx, [ebp - 0x228]
push edx
call fcn.00414291
add esp, 0xc
mov ecx, dword [ebp - 0x3c0]
call fcn.00408a00
movzx eax, al
test eax, eax
je 0x408b38
mov ecx, dword [ebp - 0x3c0]
call fcn.00408cc0
movzx ecx, al
test ecx, ecx
je 0x408af4
mov ecx, dword [ebp - 0x3c0]
call fcn.00408a00
movzx edx, al
test edx, edx
je 0x408af2
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x408ad6
jmp 0x408b38
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
push eax
push str.Stereo_Server_has_not_been_uninstalled_properly_installed._nError:__08X
lea ecx, [ebp - 0x2a8]
push ecx
call fcn.00414291
add esp, 0xc
push 0
push 0x42cc70
lea edx, [ebp - 0x2a8]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
jmp 0x408caf
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x408b57
xor al, al
jmp 0x408caf
push 0
push str..LocalSystem
push 0
push 0
push str.Video
lea eax, [ebp - 0x228]
push eax
push 1
mov ecx, dword [ebp + 8]
push ecx
push 0x10
push 0xf01ff
mov edx, dword [ebp - 0x114]
push edx
mov eax, dword [ebp - 0x3c0]
add eax, 4
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
jne 0x408bf3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x334], eax
mov edx, dword [ebp - 0x334]
push edx
push 0x42cc90
lea eax, [ebp - 0x330]
push eax
call fcn.00414291
add esp, 0xc
push 0
push 0x42cccc
lea ecx, [ebp - 0x330]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor al, al
jmp 0x408caf
mov eax, dword [ebp - 0x3c0]
add eax, 4
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], str.Provides_system_support_for_NVIDIA_Stereoscopic_3D_driver
lea ecx, [ebp - 0x120]
push ecx
push 1
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2A]
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x408c85
lea eax, [ebp - 0x11c]
push eax
push 1
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.ADVAPI32.dll_StartServiceA]
test eax, eax
jne 0x408c85
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x3bc], eax
mov edx, dword [ebp - 0x3bc]
push edx
push str.Stereo_Server_has_not_been_properly_installed._nError:__08X
lea eax, [ebp - 0x3b8]
push eax
call fcn.00414291
add esp, 0xc
push 0
push str.Error
lea ecx, [ebp - 0x3b8]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, dword [ebp - 0x3c0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3c0]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00413d9d
mov esp, ebp
pop ebp
ret 4