Function at 0x4171d0
Capabilities:
Query service status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x5d7b20]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
push 0xf003f
push esi
push esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], esi
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x24], eax
cmp eax, esi
jne 0x417227
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.OpenSCManager_is_failed._ErrorCode__0x_d_n
call fcn.00415550
add esp, 8
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053e1ad
mov esp, ebp
pop ebp
ret
push ebx
push 0xf01ff
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov ebx, eax
cmp ebx, esi
jne 0x417298
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 0x424
jne 0x417275
push edi
push str._s_doesnot_exist._n
call fcn.00415550
add esp, 8
pop ebx
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053e1ad
mov esp, ebp
pop ebp
ret
call esi
push eax
push str.OpenService_is_failed._ErrorCode__0x_d_n
call fcn.00415550
add esp, 8
pop ebx
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053e1ad
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x28]
push ecx
push esi
push esi
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
jne 0x41741c
lea ecx, [ecx]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
cmp eax, 0x7a
jne 0x417350
mov eax, dword [ebp - 0x28]
push 0x1b93
push str.DevConFunc.cpp
push eax
mov edi, eax
call fcn.0043e4e0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x417339
lea edx, [ebp - 0x28]
push edx
push edi
push esi
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
je 0x4172b0
mov ecx, dword [esi + 0x20]
push ecx
push str.Service_Configuration:__s_n
call fcn.00415550
mov edx, dword [esi]
push edx
push str.Type:_0x_x_n
call fcn.00415550
mov eax, dword [esi + 4]
push eax
push str.Start_Type:_0x_x_n
call fcn.00415550
add esp, 0x18
cmp dword [esi + 4], 2
je 0x41736f
push str.Service_Configuration_isnot_SERVICE_AUTO_START._n
push 0x56dce8
call fcn.00415550
add esp, 8
jmp 0x41741c
push str.Memory_donot_Allocate.__n
push 0x56dce8
call fcn.00415550
add esp, 8
jmp 0x41741c
call edi
push eax
push str.QueryServiceConfig_failed._ErrorCode__0x_d_n
call fcn.00415550
mov eax, dword [ebp - 0x24]
add esp, 8
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x41741c
lea ecx, [ebp - 0x20]
push ecx
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x417397
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.QueryServiceStatus_is_failed._ErrorCode__0x_d_n
call fcn.00415550
add esp, 8
jmp 0x41741c
cmp dword [ebp - 0x1c], 4
je 0x4173b6
push str.Service_isnot_RUNNING._n
push 0x56dce8
call fcn.00415550
add esp, 8
mov dword [ebp - 0x2c], 1
mov edx, dword [esi + 0x20]
push edx
push str.__s_._n
call fcn.00415550
mov eax, dword [ebp - 0x1c]
push eax
push str.Current_State:__d_n
call fcn.00415550
mov ecx, dword [ebp - 0x14]
push ecx
push str.Exit_Code:__d_n
call fcn.00415550
mov edx, dword [ebp - 0x10]
push edx
push str.Service_Specific_Exit_Code:__d_n
call fcn.00415550
mov eax, dword [ebp - 0xc]
push eax
push str.Check_Point:__d_n
call fcn.00415550
mov ecx, dword [ebp - 8]
push ecx
push str.Wait_Hint:__d_n
call fcn.00415550
push str._n
push 0x56dce8
call fcn.00415550
add esp, 0x38
push esi
call fcn.0043e500
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
add esp, 4
push ebx
call esi
mov edx, dword [ebp - 0x24]
push edx
call esi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
pop ebx
pop edi
xor ecx, ebp
pop esi
call fcn.0053e1ad
mov esp, ebp
pop ebp
ret