Function at 0x412d60
Capabilities:
Create service
Modify service
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x5c2b50]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor eax, eax
push edi
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.00537300
add esp, 0xc
mov dword [ebp - 0x210], 0
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x412e67
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov esi, eax
push 0
push esi
call fcn.00537300
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0x10
call edi
push eax
push str.SvcInstall
push 0x1c9
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_servicemain.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x20
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x1c9
push str.SvcInstall
call fcn.00404610
add esp, 0xc
test esi, esi
je 0x412e3d
push esi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call ebx
call edi
push eax
push str.Cannot_install_service___d__n
call fcn.00536761
add esp, 8
call edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536ab6
mov esp, ebp
pop ebp
ret
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov edi, eax
test edi, edi
jne 0x412f29
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov esi, eax
push edi
push esi
call fcn.00537300
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0x10
call edi
push eax
push str.SvcInstall
push 0x1d8
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_servicemain.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x20
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x1d8
push str.SvcInstall
call fcn.00404610
add esp, 0xc
test esi, esi
je 0x412eff
push esi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call ebx
call edi
push eax
push str.OpenSCManager_failed___d__n
call fcn.00536761
add esp, 8
call edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536ab6
mov esp, ebp
pop ebp
ret
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x20c]
push eax
push 1
push esi
push 0x10
push 0xf01ff
push str.COMODO_Chromodo_Update_Service
push str.ChromodoUpdater
push edi
call dword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov ebx, eax
test ebx, ebx
jne 0x413011
push str._n______________________________________________________________________________________________n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x800
call fcn.005369fe
push 0x800
mov esi, eax
push ebx
push esi
call fcn.00537300
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0x10
call ebx
push eax
push str.SvcInstall
push 0x1f0
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_servicemain.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x20
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x1f0
push str.SvcInstall
call fcn.00404610
add esp, 0xc
test esi, esi
je 0x412fdc
push esi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call ebx
push eax
push str.CreateService_failed___d__n
call fcn.00536761
add esp, 8
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536ab6
mov esp, ebp
pop ebp
ret
push str.Service_installed_successfully_n
call fcn.00536761
push 0x5ce034
push 0x208
call fcn.0053808b
add esp, 0xc
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4130dc
push str._n______________________________________________________________________________________________n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x800
call fcn.005369fe
push 0x800
mov esi, eax
push 0
push esi
call fcn.00537300
push 8
push str.SvcInstall
push 0x1fc
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_servicemain.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x30
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x1fc
push str.SvcInstall
call fcn.00404610
add esp, 0xc
test esi, esi
je 0x4130af
push esi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push ebx
call esi
push edi
call esi
pop edi
pop esi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536ab6
mov esp, ebp
pop ebp
ret
push 0x208
push 0
push eax
call fcn.00537300
push 0x64
push str.Automatically_installs_updates_for_COMODO_Chromodo
push dword [ebp - 0x210]
call fcn.00536cb0
add esp, 0x18
lea eax, [ebp - 0x210]
push eax
push 1
push ebx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
test eax, eax
jne 0x41319d
push str._n______________________________________________________________________________________________n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x800
call fcn.005369fe
push 0x800
mov esi, eax
push 0
push esi
call fcn.00537300
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SvcInstall
push 0x209
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_servicemain.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x20
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x209
push str.SvcInstall
call fcn.00404610
add esp, 0xc
test esi, esi
je 0x413192
push esi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push dword [ebp - 0x210]
call fcn.0041e8e8
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
add esp, 4
mov dword [ebp - 0x210], 0
push ebx
call esi
push edi
call esi
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00536ab6
mov esp, ebp
pop ebp
ret