Function at 0x419770
Capabilities:
Query service status
Start service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a6cb0
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x65b0c8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0x14], 0
jne 0x419853
lea ecx, [ebp - 0x64]
call fcn.0044a2a0
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4197c0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.d:jenkinsworkspace_n_mb4uns_srcmb4unsmbamservice.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb14
mov ecx, eax
call fcn.00416f60
push 0x46
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.Attempt_to_start_without_name
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x50]
add esp, 4
cmp edx, 8
jb 0x41984c
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x419842
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419dd2
push edx
push ecx
call fcn.00573caf
add esp, 8
xor al, al
jmp 0x419ad9
push 0x20000004
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov edi, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], 1
test edi, edi
jne 0x4198e7
lea ecx, [ebp - 0x64]
call fcn.0044a2a0
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x419889
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.d:jenkinsworkspace_n_mb4uns_srcmb4unsmbamservice.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb14
mov ecx, eax
call fcn.00416f60
push 0x4e
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.OpenSCManager_failed:
mov ecx, eax
call fcn.00416f60
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.0041b120
jmp 0x419809
cmp dword [esi + 0x18], 8
lea eax, [esi + 4]
jb 0x4198f2
mov eax, dword [eax]
push 0x14
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 3
test esi, esi
jne 0x4199c9
lea ecx, [ebp - 0x64]
call fcn.0044a2a0
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x419924
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.d:jenkinsworkspace_n_mb4uns_srcmb4unsmbamservice.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb14
mov ecx, eax
call fcn.00416f60
push 0x56
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.OpenService_failed:
mov ecx, eax
call fcn.00416f60
mov dword [ebp - 0x48], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x48]
push eax
call fcn.0041b120
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x50]
add esp, 4
cmp edx, 8
jb 0x4199c2
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4199b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419dd2
push edx
push ecx
call fcn.00573caf
add esp, 8
push 0
jmp 0x419ab3
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0x24
lea eax, [ebp - 0x40]
mov dword [ebp - 0x20], 0
push eax
xorps xmm0, xmm0
push 0
push esi
movups xmmword [ebp - 0x40], xmm0
movups xmmword [ebp - 0x30], xmm0
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x419af4
lea ecx, [ebp - 0x64]
call fcn.0044a2a0
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x419a14
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.d:jenkinsworkspace_n_mb4uns_srcmb4unsmbamservice.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb14
mov ecx, eax
call fcn.00416f60
push 0x60
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.QueryServiceStatusEx_failed:
mov ecx, eax
call fcn.00416f60
mov dword [ebp - 0x48], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x48]
push eax
call fcn.0041b120
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x50]
add esp, 4
cmp edx, 8
jb 0x419ab2
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x419aa8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419dd2
push edx
push ecx
call fcn.00573caf
add esp, 8
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov byte [ebp - 0x41], 0
test esi, esi
je 0x419acf
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov al, byte [ebp - 0x41]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0057374d
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x3c], 4
jne 0x419b0e
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov byte [ebp - 0x41], 1
jmp 0x419ac4
push 0
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x419c52
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x48], eax
cmp eax, 0x420
je 0x419c52
lea ecx, [ebp - 0x64]
cmp eax, 0x241
je 0x419bf0
call fcn.0044a2a0
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x419b57
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.d:jenkinsworkspace_n_mb4uns_srcmb4unsmbamservice.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb14
mov ecx, eax
call fcn.00416f60
push 0x75
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.StartService_failed:
mov ecx, eax
call fcn.00416f60
push dword [ebp - 0x48]
mov ecx, eax
call fcn.0041b120
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x50]
add esp, 4
cmp edx, 8
jb 0x419ab2
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x419aa8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x419aa8
jmp 0x419dd2
call fcn.0044a2a0
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x419c04
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.d:jenkinsworkspace_n_mb4uns_srcmb4unsmbamservice.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb14
mov ecx, eax
call fcn.00416f60
push 0x7d
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.Service_requires_restart_due_to_ELAM_driver_state.
mov ecx, eax
call fcn.00416f60
jmp 0x419a6f
mov byte [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
nop dword [eax]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x14]
push eax
push 0x24
lea eax, [ebp - 0x40]
push eax
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x419d58
mov eax, dword [ebp - 0x4c]
mov ecx, 1
cmp dword [ebp - 0x3c], 4
movzx eax, al
cmove eax, ecx
mov ecx, dword [ebp - 0x48]
inc ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
cmp ecx, 0x3c
jae 0x419ccd
test al, al
je 0x419c60
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 0x41], 1
jmp 0x419ac4
test al, al
jne 0x419cab
lea ecx, [ebp - 0x7c]
call fcn.0044a2a0
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x419ce8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.d:jenkinsworkspace_n_mb4uns_srcmb4unsmbamservice.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb14
mov ecx, eax
call fcn.00416f60
push 0x99
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.Timed_out_waiting_for_service_start:
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x68]
add esp, 4
cmp edx, 8
jb 0x419ab2
mov ecx, dword [ebp - 0x7c]
lea edx, [edx*2 + 2]
jmp 0x419a8a
lea ecx, [ebp - 0x7c]
call fcn.0044a2a0
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x419d6f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.d:jenkinsworkspace_n_mb4uns_srcmb4unsmbamservice.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb14
mov ecx, eax
call fcn.00416f60
push 0x8c
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.QueryServiceStatusEx_failed:
mov ecx, eax
call fcn.00416f60
mov dword [ebp - 0x48], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x48]
push eax
call fcn.0041b120
jmp 0x419d34
call fcn.0057f4be
int3