Function at 0x4d7c00
Capabilities:
Check for time delay via gettickcount
Query service status

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54af64
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x596c60]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov eax, dword [0x59f554]
mov dword [ebp - 0x64], edi
test al, 1
jne 0x4d7c67
or eax, 1
mov dword [0x59f554], eax
mov dword [ebp - 4], 0
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d7c7c
cmp byte [eax + 0x19], 6
jb 0x4d7c7c
mov al, 1
jmp 0x4d7c7e
xor al, al
cmp byte [0x59f560], 0
jne 0x4d7c98
cmp byte [0x59f561], 0
jne 0x4d7c98
test al, al
je 0x4d7dd1
sub esp, 8
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x100]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x100]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x145
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b46c
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Service::StopService
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x18], 0x10
jb 0x4d7d2c
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4d7d2c
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x100]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 4
cmp dword [esi + 0x14], 0x10
jb 0x4d7d49
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d7d74
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 5
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 4
push esi
push 6
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp - 0x18], 0x10
jb 0x4d7d97
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4d7d97
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 1
call fcn.0047b5a0
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x4d7dca
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
call fcn.004d8d60
mov dword [ebp - 0x64], eax
test eax, eax
je 0x4d7f85
mov eax, dword [0x59f554]
test al, 1
jne 0x4d7e14
or eax, 1
mov dword [0x59f554], eax
mov dword [ebp - 4], 7
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4d7e29
cmp byte [eax + 0x19], 2
jb 0x4d7e29
mov al, 1
jmp 0x4d7e2b
xor al, al
cmp byte [0x59f560], 0
jne 0x4d7e45
cmp byte [0x59f561], 0
jne 0x4d7e45
test al, al
je 0x4d7f60
sub esp, 8
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x100]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 9
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x100]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x14c
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_Disable_Lockdown.
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 9
cmp dword [ebp - 0x18], 0x10
jb 0x4d7ecd
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4d7ecd
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x100]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0xb
cmp dword [esi + 0x14], 0x10
jb 0x4d7eea
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d7f15
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0xc
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0xb
push esi
push 2
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp - 0x18], 0x10
jb 0x4d7f38
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4d7f38
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 8
call fcn.0047b5a0
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005072fd
mov esp, ebp
pop ebp
ret
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [edi + 0x4c], eax
test eax, eax
je 0x4d827e
cmp dword [edi + 0x80], 8
lea ecx, [edi + 0x6c]
jb 0x4d7fad
mov ecx, dword [ecx]
push 0xf01ff
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [edi + 0x50], eax
test eax, eax
je 0x4d810f
mov ebx, dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
lea ecx, [ebp - 0x48]
push ecx
push eax
call ebx
cmp dword [ebp - 0x44], 1
je 0x4d8225
lea eax, [ebp - 0x48]
push eax
push 0xda
push dword [edi + 0x50]
call dword [sym.imp.ADVAPI32.dll_ControlService]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
cmp dword [ebp - 0x44], 1
je 0x4d8225
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
cmp eax, 0x7530
jbe 0x4d80f6
push 2
push ecx
call fcn.004a1320
add esp, 4
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x4d80e6
sub esp, 8
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x100]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x100]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x170
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_stop_the_service._Timed_Out.
mov ecx, eax
call fcn.0047f0b0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.0047abe0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x100]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x11
cmp dword [esi + 0x14], 0x10
jb 0x4d80c4
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp - 0x2c]
call fcn.0047abe0
lea ecx, [ebp - 0x100]
call fcn.00479050
mov eax, 0x41d
jmp 0x4d7f63
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x48]
push eax
push dword [edi + 0x50]
call ebx
jmp 0x4d7ff6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x64], eax
call fcn.004a1320
mov ecx, dword [0x597f88]
test byte [ecx + 0x1c], 2
je 0x4d8133
cmp byte [ecx + 0x19], 2
jb 0x4d8133
mov cl, 1
jmp 0x4d8135
xor cl, cl
cmp byte [eax], 0
jne 0x4d8148
cmp byte [eax + 1], 0
jne 0x4d8148
test cl, cl
je 0x4d8225
sub esp, 8
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x100]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x14
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x100]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x17c
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_open_service._Service_Uninstall_Failed.
mov ecx, eax
call fcn.0047f0b0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x14
call fcn.0047abe0
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x100]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x16
cmp dword [esi + 0x14], 0x10
jb 0x4d81df
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp - 0x60]
call fcn.0047abe0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xb0]
call fcn.0047b5a0
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x59f554]
test al, 1
jne 0x4d8255
or dword [0x59f554], 1
mov dword [ebp - 4], 0x1e
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x597f88]
test byte [ecx + 0x1c], 2
je 0x4d83c2
cmp byte [ecx + 0x19], 6
jb 0x4d83c2
mov al, 1
jmp 0x4d83c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x64], eax
mov eax, dword [0x59f554]
test al, 1
jne 0x4d82b7
or dword [0x59f554], 1
mov dword [ebp - 4], 0x18
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x597f88]
test byte [ecx + 0x1c], 2
je 0x4d82cd
cmp byte [ecx + 0x19], 2
jb 0x4d82cd
mov al, 1
jmp 0x4d82cf
xor al, al
cmp byte [0x59f560], 0
jne 0x4d82e9
cmp byte [0x59f561], 0
jne 0x4d82e9
test al, al
je 0x4d8225
sub esp, 8
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1a
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x100]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x182
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_open_SCManager._Service_Uninstall_Failed.
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x18], 0x10
jb 0x4d8371
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4d8371
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x100]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x1c
cmp dword [esi + 0x14], 0x10
jb 0x4d838e
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
cmp dword [ebp - 0x18], 0x10
jb 0x4d83b3
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4d83b3
push eax
call fcn.00507b54
add esp, 4
mov byte [ebp - 4], 0x19
jmp 0x4d81fa
xor al, al
cmp byte [0x59f560], 0
jne 0x4d83de
cmp byte [0x59f561], 0
jne 0x4d83de
test al, al
je 0x4d7f60
sub esp, 8
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x198]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x20
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x198]
call fcn.0047ee50
mov edx, str..Service.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x185
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b498
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Service::StopService
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 0x20
cmp dword [ebp - 0x18], 0x10
jb 0x4d8472
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4d8472
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x198]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x22
cmp dword [esi + 0x14], 0x10
jb 0x4d848f
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4d84ba
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x23
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x22
push esi
push 6
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp - 0x18], 0x10
jb 0x4d84dd
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4d84dd
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x1f
call fcn.0047b5a0
lea eax, [ebp - 0x148]
mov dword [ebp - 0x148], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x4d7f60