Function at 0x416470
Capabilities:
Delete registry value
Persist via run registry key
Print debug messages
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x5c2b50]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x24], 0
push eax
push 0x56df70
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov dword [ebp - 0xc], 0
mov word [ebp - 0x1c], ax
call fcn.004089f0
cmp byte [ebp + 0x20], 1
lea eax, [ebp - 0x20]
jne 0x416669
push 0
push eax
push 0
push 2
push 0
push 0
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov esi, eax
test esi, esi
je 0x41653c
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.ModifyAutoStartRegValue
push 0x151
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_regstate_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x151
jmp 0x41675c
lea eax, [ebp - 0x24]
push eax
push str.chromodo.exe
call fcn.0041b8a0
mov esi, eax
add esp, 8
test esi, esi
je 0x4165b3
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.ModifyAutoStartRegValue
push 0x158
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_regstate_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x158
jmp 0x41675c
push dword [ebp - 0x24]
lea ecx, [ebp - 0x1c]
call fcn.0041cf50
push 0x57001c
lea ecx, [ebp - 0x1c]
call fcn.00417800
push 0xffffffffffffffff
push 0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00415280
cmp dword [ebp - 8], 8
lea ecx, [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
cmovae ecx, dword [ebp - 0x1c]
add eax, eax
push eax
push ecx
push 1
push 0
push str.CSEnableAutoStart
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
je 0x41677d
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.ModifyAutoStartRegValue
push 0x169
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_regstate_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x169
jmp 0x41675c
push eax
push 0x2001f
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test esi, esi
je 0x4166e4
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.ModifyAutoStartRegValue
push 0x179
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_regstate_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x179
jmp 0x41675c
push str.CSEnableAutoStart
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov esi, eax
test esi, esi
je 0x41677d
cmp esi, 2
je 0x41677d
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.ModifyAutoStartRegValue
push 0x182
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_regstate_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x182
push str.ModifyAutoStartRegValue
call fcn.00404610
add esp, 0xc
test edi, edi
je 0x416776
push edi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call ebx
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x416794
push eax
call fcn.005369c6
add esp, 4
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4167a2
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 8], 8
jb 0x4167b3
push dword [ebp - 0x1c]
call fcn.0041e8e8
add esp, 4
xor eax, eax
mov dword [ebp - 8], 7
cmp dword [ebp + 0x1c], 8
mov dword [ebp - 0xc], 0
mov word [ebp - 0x1c], ax
jb 0x4167d8
push dword [ebp + 8]
call fcn.0041e8e8
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00536ab6
mov esp, ebp
pop ebp
ret