Function at 0x428ad0
Capabilities:
Start service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x525a56
mov eax, dword fs:[0]
push eax
sub esp, 0x21c
mov eax, dword [0x57594c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14c], ecx
cmp dword [ebp + 8], 3
jge 0x428b0e
xor eax, eax
jmp 0x4292c2
push 0x548fc0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
call fcn.004bbc2e
add esp, 8
test eax, eax
jne 0x428be7
lea eax, [ebp - 0x130]
push eax
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx + 0x20]
push eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x1c]
push edx
mov ecx, dword [ebp - 0x188]
call fcn.00409770
push eax
push str._s_Version__d._d_n
call fcn.004256d0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
call fcn.00406d30
mov ecx, dword [ebp - 0x14c]
call fcn.004292e0
test eax, eax
je 0x428bba
mov dword [ebp - 0x160], str.currently
jmp 0x428bc4
mov dword [ebp - 0x160], 0x548ffc
mov eax, dword [ebp - 0x160]
push eax
push str.The_service_is__s_installed_n
call fcn.004256d0
add esp, 8
mov eax, 1
jmp 0x4292c2
push 3
push 0x549040
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx]
push eax
call fcn.004bbdaa
add esp, 0xc
test eax, eax
jne 0x42906b
mov ecx, dword [ebp - 0x14c]
call fcn.004292e0
test eax, eax
je 0x428c74
lea ecx, [ebp - 0x70]
push ecx
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x190], eax
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x198], edx
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x198]
call fcn.00409770
push eax
push 0x549044
call fcn.004256d0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00406d30
jmp 0x42905c
mov eax, 4
shl eax, 0
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp + 0xc]
add edx, dword [ecx + eax]
mov dword [ebp - 0x168], edx
push 0x7c
mov edx, dword [ebp - 0x168]
push edx
call fcn.00428910
add esp, 8
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
je 0x428ffc
mov eax, dword [ebp - 0x154]
mov byte [eax], 0
lea ecx, [ebp - 0x28]
call fcn.00408250
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.00408250
mov byte [ebp - 4], 3
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f8], esp
mov edx, dword [ebp - 0x168]
push edx
call fcn.00406b80
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 4], 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.00424bd0
mov ecx, dword [ebp - 0x154]
add ecx, 1
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0x214], esp
push ecx
mov ecx, edx
call fcn.00406b80
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x204], eax
mov byte [ebp - 4], 5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.00424bd0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x224], esp
lea edx, [ebp - 0x40]
push edx
call fcn.00406900
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 4], 6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f0], esp
lea edx, [ebp - 0x28]
push edx
call fcn.00406900
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1e4], eax
mov byte [ebp - 4], 7
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x14c]
call fcn.004293b0
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x428fdf
lea ecx, [ebp - 0x88]
push ecx
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x1c8], eax
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1d0], edx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d0]
call fcn.00409770
push eax
push str._s_installed_n
call fcn.004256d0
add esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x88]
call fcn.00406d30
mov dword [ebp - 0x164], 0
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0
je 0x428fdf
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1e0], ecx
mov byte [ebp - 4], 9
push 0xf01ff
mov ecx, dword [ebp - 0x1e0]
call fcn.00409770
push eax
mov edx, dword [ebp - 0x158]
push edx
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [ebp - 0x15c], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe8]
call fcn.00406d30
cmp dword [ebp - 0x15c], 0
je 0x428ecf
push 0
push 0
mov eax, dword [ebp - 0x15c]
push eax
call dword [sym.imp.ADVAPI32.dll_StartServiceA]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x15c]
push ecx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov edx, dword [ebp - 0x158]
push edx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp dword [ebp - 0x164], 0
je 0x428eee
mov byte [ebp - 0x14d], 1
jmp 0x428ef5
mov byte [ebp - 0x14d], 0
movzx eax, byte [ebp - 0x14d]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x200], esp
push 0x549094
call fcn.004067b0
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x208], ecx
mov byte [ebp - 4], 0xa
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x210], esp
push str.UpgSvrStart
call fcn.004067b0
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x218], edx
mov byte [ebp - 4], 0xb
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x220], esp
lea eax, [ebp - 0x28]
push eax
call fcn.00406900
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x228], ecx
mov byte [ebp - 4], 0xc
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1ec], esp
push 0x5490b0
call fcn.004067b0
mov dword [ebp - 0x17c], eax
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x20c], edx
mov byte [ebp - 4], 0xd
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f4], esp
push 0x5490c0
call fcn.004067b0
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 3
call fcn.00421b90
add esp, 0x7c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.004068e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004068e0
jmp 0x42905c
lea ecx, [ebp - 0x118]
push ecx
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 4], 0xf
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x1b4]
call fcn.00409770
push eax
push str._s_failed_to_install._Error__d_n
call fcn.004256d0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x118]
call fcn.00406d30
mov eax, 1
jmp 0x4292c2
push 0x549158
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
call fcn.004bbc2e
add esp, 8
test eax, eax
jne 0x429235
mov ecx, dword [ebp - 0x14c]
call fcn.004292e0
test eax, eax
jne 0x4290fc
lea eax, [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0x1cc]
call fcn.00409770
push eax
push str._s_is_not_installed_n
call fcn.004256d0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.00406d30
jmp 0x429226
mov ecx, dword [ebp - 0x14c]
call fcn.00429ab0
test eax, eax
je 0x4291c6
lea edx, [ebp - 0x58]
push edx
call fcn.00427420
add esp, 4
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x58]
call fcn.00424a30
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x19c], ecx
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x100]
push edx
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1dc], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x19c]
call fcn.00409770
push eax
mov ecx, dword [ebp - 0x1dc]
call fcn.00409770
push eax
push str._s_removed.__You_must_delete_the_file___s__yourself.__n
call fcn.004256d0
add esp, 0xc
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x100]
call fcn.00406d30
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xb8]
call fcn.00406d30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.004068e0
jmp 0x429226
lea ecx, [ebp - 0xa0]
push ecx
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x16c], eax
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 4], 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x1c4]
call fcn.00409770
push eax
push str.Could_not_remove__s._Error__d_n
call fcn.004256d0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00406d30
mov eax, 1
jmp 0x4292c2
push 0x549238
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax]
push edx
call fcn.004bbc2e
add esp, 8
test eax, eax
jne 0x4292c0
mov ecx, dword [ebp - 0x14c]
call fcn.00429d60
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x14c]
add ecx, 4
call fcn.00424a30
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 4], 0x15
mov ecx, dword [ebp - 0x178]
call fcn.00409770
push eax
push str._s_service_start
call fcn.004256d0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
call fcn.00406d30
mov eax, 1
jmp 0x4292c2
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b8d48
mov esp, ebp
pop ebp
ret 8