Function at 0x4163c0
Capabilities:
Delete service

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
jne 0x41648c
mov esi, dword [esp + 0x1c]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
je 0x4163f4
call ebx
mov dword [esi], eax
mov eax, dword [0x441ff4]
test eax, eax
je 0x416484
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41641d
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x416484
cmp eax, 3
jle 0x416484
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebx
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41643e
mov edx, dword [0x441fa0]
mov dword [0x439d90], edx
call fcn.0041c4b1
test eax, eax
je 0x416476
mov eax, dword [0x439d90]
push 3
push eax
push 0x3c3
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
add esp, 0x10
call ebx
push eax
push str.TryDeleteService_OpenSCManager_error:_d_n
call fcn.0041c506
add esp, 8
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
mov ecx, dword [esp + 0x18]
push 0xf01ff
push ecx
push edi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov ebp, eax
test ebp, ebp
jne 0x41655d
mov esi, dword [esp + 0x1c]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
je 0x4164b9
call ebx
mov dword [esi], eax
mov eax, dword [0x441ff4]
test eax, eax
je 0x41654e
mov edx, dword [0x441fd4]
mov eax, dword [edx]
cmp eax, 3
je 0x4164e3
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x41654e
cmp eax, 3
jle 0x41654e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebx
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x416504
mov edx, dword [0x441fa0]
mov dword [0x439d90], edx
call fcn.0041c4b1
test eax, eax
je 0x41653c
mov eax, dword [0x439d90]
push 3
push eax
push 0x3ce
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
add esp, 0x10
call ebx
push eax
push str.TryDeleteService_OpenServiceW_error:_d_n
call fcn.0041c506
add esp, 8
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [esp + 0x10]
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
push ebp
call dword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x416626
mov esi, dword [esp + 0x1c]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
je 0x41657e
call ebx
mov dword [esi], eax
mov eax, dword [0x441ff4]
test eax, eax
je 0x416612
mov ecx, dword [0x441fd4]
mov eax, dword [ecx]
cmp eax, 3
je 0x4165a8
mov edx, dword [0x441fdc]
cmp dword [edx], 0
jne 0x416612
cmp eax, 3
jle 0x416612
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebx
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x4165c7
mov eax, dword [0x441fa0]
mov dword [0x439d90], eax
call fcn.0041c4b1
test eax, eax
je 0x416600
mov ecx, dword [0x439d90]
push 3
push ecx
push 0x3d7
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
add esp, 0x10
call ebx
push eax
push str.TryDeleteService_DeleteService_error:_d_n
call fcn.0041c506
add esp, 8
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push ebp
call esi
push edi
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push ebp
call esi
push edi
call esi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
pop ecx
ret