Function at 0x413fc7
Capabilities:
Query service status
Stop service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4391e2
mov eax, dword fs:[0]
push eax
sub esp, 0x1bc
mov eax, dword [0x4444c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1a0], ecx
push 0x24
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x134], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x130], eax
push str.DoInstall.cpp
lea ecx, [ebp - 0x48]
call fcn.00408211
and dword [ebp - 4], 0
push dword [ebp - 0x130]
push str.OpenSCManager___delete__failed_dwErr_d_n
lea eax, [ebp - 0x2c]
push eax
call fcn.00419558
add esp, 0xc
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 4], 1
push 1
push dword [ebp - 0x1a8]
push 3
push 0x63c
lea eax, [ebp - 0x48]
push eax
mov ecx, 0x44621c
call fcn.0041952f
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00402ad2
mov byte [ebp - 4], 0
mov dword [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.00402ad2
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x134], 0
je 0x414491
push 0x24
push str.YSDrv
push dword [ebp - 0x134]
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
je 0x4143ba
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x138]
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp dword [ebp - 0x150], 1
jne 0x4140f7
and dword [ebp - 0x12c], 0
jmp 0x4143a9
lea eax, [ebp - 0x154]
push eax
push 1
push dword [ebp - 0x138]
call dword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
je 0x414205
mov dword [ebp - 0x158], 0x64
cmp dword [ebp - 0x150], 3
jne 0x41415b
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x158]
dec ecx
mov dword [ebp - 0x158], ecx
test eax, eax
jle 0x41415b
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x138]
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
jmp 0x41411e
cmp dword [ebp - 0x150], 1
jne 0x414170
and dword [ebp - 0x12c], 0
jmp 0x414200
push str.DoInstall.cpp
lea ecx, [ebp - 0x80]
call fcn.00408211
mov dword [ebp - 4], 4
push dword [ebp - 0x150]
push str.Failed_to_stop_service._status_d_n
lea eax, [ebp - 0x64]
push eax
call fcn.00419558
add esp, 0xc
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 5
push 1
push dword [ebp - 0x1b0]
push 3
push 0x655
lea eax, [ebp - 0x80]
push eax
mov ecx, 0x44621c
call fcn.0041952f
mov byte [ebp - 4], 6
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.00402ad2
mov byte [ebp - 4], 4
mov dword [ebp - 4], 7
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.00402ad2
or dword [ebp - 4], 0xffffffff
or dword [ebp - 0x12c], 0xffffffff
jmp 0x4143a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x150], 3
jne 0x414235
cmp dword [ebp - 0x130], 0x425
jne 0x414235
mov dword [ebp - 0x12c], 2
jmp 0x4143a9
cmp dword [ebp - 0x150], 4
jne 0x4142ff
cmp dword [ebp - 0x130], 0x41c
jne 0x4142ff
push str.DoInstall.cpp
lea ecx, [ebp - 0xb8]
call fcn.00408211
mov dword [ebp - 4], 8
push dword [ebp - 0x150]
push dword [ebp - 0x130]
push str.ControlService_failed_with_dwErr_d._status_d_n
lea eax, [ebp - 0x9c]
push eax
call fcn.00419558
add esp, 0x10
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
mov byte [ebp - 4], 9
push 1
push dword [ebp - 0x1b8]
push 3
push 0x662
lea eax, [ebp - 0xb8]
push eax
mov ecx, 0x44621c
call fcn.0041952f
mov byte [ebp - 4], 0xa
push 0
push 1
lea ecx, [ebp - 0x9c]
call fcn.00402ad2
mov byte [ebp - 4], 8
mov dword [ebp - 4], 0xb
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00402ad2
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x12c], 2
jmp 0x4143a9
push str.DoInstall.cpp
lea ecx, [ebp - 0xf0]
call fcn.00408211
mov dword [ebp - 4], 0xc
push dword [ebp - 0x150]
push dword [ebp - 0x130]
push str.ControlService_failed_with_dwErr_d._status_d_n
lea eax, [ebp - 0xd4]
push eax
call fcn.00419558
add esp, 0x10
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 0xd
push 1
push dword [ebp - 0x1c0]
push 3
push 0x666
lea eax, [ebp - 0xf0]
push eax
mov ecx, 0x44621c
call fcn.0041952f
mov byte [ebp - 4], 0xe
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.00402ad2
mov byte [ebp - 4], 0xc
mov dword [ebp - 4], 0xf
push 0
push 1
lea ecx, [ebp - 0xf0]
call fcn.00402ad2
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x12c], eax
push dword [ebp - 0x138]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x414483
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x130], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x424
jne 0x4143df
and dword [ebp - 0x12c], 0
jmp 0x414483
push str.DoInstall.cpp
lea ecx, [ebp - 0x128]
call fcn.00408211
mov dword [ebp - 4], 0x10
push dword [ebp - 0x130]
push str.OpenService_failed_dwErr_d_n
lea eax, [ebp - 0x10c]
push eax
call fcn.00419558
add esp, 0xc
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], eax
mov byte [ebp - 4], 0x11
push 1
push dword [ebp - 0x1c8]
push 3
push 0x674
lea eax, [ebp - 0x128]
push eax
mov ecx, 0x44621c
call fcn.0041952f
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0x10c]
call fcn.00402ad2
mov byte [ebp - 4], 0x10
mov dword [ebp - 4], 0x13
push 0
push 1
lea ecx, [ebp - 0x128]
call fcn.00402ad2
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x12c], eax
push dword [ebp - 0x134]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x41449d
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041c438
leave
ret