Function at 0x410190
Capabilities:
Stop service
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x479d06
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x438
mov al, byte [0x4a709c]
test al, al
push ebx
push esi
push edi
je 0x4102f2
push 1
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov edi, eax
mov dword [esp + 0xc], edi
test edi, edi
mov dword [esp + 0x44c], 0
jne 0x41021c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x484b40
lea ecx, [esp + 0x344]
call fcn.0044ba90
mov esi, eax
push 0x49859c
lea eax, [esp + 0x23c]
mov ecx, 0x41
lea edi, [esp + 0x23c]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00459658
mov ecx, dword [ebp + 8]
push 0x20
push ecx
push edi
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
mov byte [esp + 0x44c], 1
jne 0x410275
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x484b9c
lea ecx, [esp + 0x344]
call fcn.0044ba90
push 0x49859c
lea edx, [esp + 0x23c]
mov esi, eax
mov ecx, 0x41
lea edi, [esp + 0x23c]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.00459658
lea eax, [esp + 0x118]
push eax
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x4102c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x484dbc
lea ecx, [esp + 0x344]
call fcn.0044ba90
mov esi, eax
mov ecx, 0x41
lea edi, [esp + 0x238]
rep movsd dword es:[edi], dword [esi]
push 0x49859c
lea ecx, [esp + 0x23c]
push ecx
call fcn.00459658
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call esi
push edi
call esi
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x444]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push edx
call fcn.0040f720
mov esi, eax
add esp, 4
test esi, esi
jne 0x410346
push 0x484d98
mov byte [esp + 0x138], al
lea eax, [esp + 0x138]
push 0x100
push eax
call fcn.0044c260
add esp, 0xc
mov ecx, 0x40
lea esi, [esp + 0x134]
lea edi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
push 0x498d60
lea ecx, [esp + 0x18]
push ecx
call fcn.00459658
push 0x484d78
push 0x4a6e08
call fcn.00402ee0
add esp, 8
push 0
push 0
push 0x400
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x4103ae
push 0x484d60
lea edx, [esp + 0x138]
push 0x100
push edx
mov byte [esp + 0x140], al
call fcn.0044c260
add esp, 0xc
push 0x498d60
lea eax, [esp + 0x18]
mov ecx, 0x40
lea esi, [esp + 0x138]
lea edi, [esp + 0x18]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00459658
lea ecx, [esp + 0xc]
push ecx
push esi
mov dword [esp + 0x14], 0
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
jne 0x4103fa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x484d3c
lea ecx, [esp + 0x13c]
call fcn.0044ba90
push 0x49859c
lea edx, [esp + 0x18]
mov esi, eax
mov ecx, 0x41
lea edi, [esp + 0x18]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.00459658
mov eax, dword [esp + 0xc]
push eax
push 0
push 0x100001
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
jne 0x410446
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x484d1c
lea ecx, [esp + 0x13c]
call fcn.0044ba90
mov esi, eax
mov ecx, 0x41
lea edi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
push 0x49859c
lea ecx, [esp + 0x18]
push ecx
call fcn.00459658
push 0x484d0c
push 0x4a6e08
mov ebx, 5
call fcn.00402ee0
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add esp, 8
mov edx, ebx
dec ebx
test edx, edx
je 0x410476
push 0x3e8
push esi
call edi
test eax, eax
jne 0x410463
test ebx, ebx
jne 0x4102d0
push 0x484cec
push 0x4a6e08
call fcn.00402ee0
add esp, 8
push 1
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x4104d1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x484ccc
lea ecx, [esp + 0x13c]
call fcn.0044ba90
mov esi, eax
push 0x49859c
lea eax, [esp + 0x18]
mov ecx, 0x41
lea edi, [esp + 0x18]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00459658
push str.service_failed_to_quit___called_TerminateProcess
lea ecx, [esp + 0x23c]
call fcn.00404c00
mov esi, eax
mov ecx, 0x40
lea edi, [esp + 0x33c]
rep movsd dword es:[edi], dword [esi]
push 0x498d60
lea ecx, [esp + 0x340]
push ecx
call fcn.00459658
int3