Function at 0x140028720
Capabilities:
Listen for remote procedure calls

Disassembly:
push rdi
sub rsp, 0x20
xor edi, edi
mov dword [0x14005713c], 2
mov dword [0x140057150], 0xbb8
cmp dword [0x140057610], edi
mov dword [0x140057144], edi
jne 0x140028792
lea r8, str._Service_Status__Start_Pending
lea edx, [rdi + 2]
lea ecx, [rdi + 0x18]
call fcn.140031a70
mov eax, dword [0x140055400]
mov rcx, qword [0x1400575f0]
inc eax
lea rdx, [0x140057138]
mov dword [0x140057140], 0x80
mov dword [0x140055400], eax
mov dword [0x14005714c], eax
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
test eax, eax
je 0x1400287c6
lea r8, str.pipeAMD_Fuel_ServiceEngine
lea rcx, str.ncacn_np
xor r9d, r9d
mov edx, 0x4d2
call qword [sym.imp.RPCRT4.dll_RpcServerUseProtseqEpW]
test eax, eax
je 0x1400287ce
lea r8, str.StartRPCServer:_RpcServerUseProtseqEp___failed_
mov edx, 4
lea ecx, [rdx + 0x11]
call fcn.140031a70
xor eax, eax
add rsp, 0x20
pop rdi
ret
cmp dword [0x140057610], edi
mov dword [0x14005713c], 2
mov dword [0x140057144], edi
mov dword [0x140057150], 0xbb8
jne 0x14002883a
mov edx, 2
lea r8, str._Service_Status__Start_Pending
lea ecx, [rdx + 0x16]
call fcn.140031a70
mov eax, dword [0x140055400]
mov rcx, qword [0x1400575f0]
inc eax
lea rdx, [0x140057138]
mov dword [0x140057140], 0x80
mov dword [0x140055400], eax
mov dword [0x14005714c], eax
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
test eax, eax
je 0x1400287c6
lea rcx, [0x14003ebe0]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.RPCRT4.dll_RpcServerRegisterIf]
test eax, eax
je 0x14002885c
lea r8, str.StartRPCServer:_RpcServerRegisterIf___failed_
jmp 0x1400287b9
cmp dword [0x140057610], edi
mov dword [0x14005713c], 2
mov dword [0x140057144], edi
mov dword [0x140057150], 0xbb8
jne 0x1400288cc
mov edx, 2
lea r8, str._Service_Status__Start_Pending
lea ecx, [rdx + 0x16]
call fcn.140031a70
mov eax, dword [0x140055400]
mov rcx, qword [0x1400575f0]
inc eax
lea rdx, [0x140057138]
mov dword [0x140057140], 0x80
mov dword [0x140055400], eax
mov dword [0x14005714c], eax
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
test eax, eax
je 0x1400287c6
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0xa]
call qword [sym.imp.RPCRT4.dll_RpcServerRegisterAuthInfoW]
test eax, eax
je 0x1400288ee
lea r8, str.StartRPCServer:_RpcServerRegisterAuthInfo___failed_
jmp 0x1400287b9
cmp dword [0x140057610], edi
mov dword [0x14005713c], 2
mov dword [0x140057144], edi
mov dword [0x140057150], 0xbb8
jne 0x14002895e
mov edx, 2
lea r8, str._Service_Status__Start_Pending
lea ecx, [rdx + 0x16]
call fcn.140031a70
mov eax, dword [0x140055400]
mov rcx, qword [0x1400575f0]
inc eax
lea rdx, [0x140057138]
mov dword [0x140057140], 0x80
mov dword [0x140055400], eax
mov dword [0x14005714c], eax
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
test eax, eax
je 0x1400287c6
mov r8d, 1
mov edx, 0x4d2
mov ecx, r8d
call qword [sym.imp.RPCRT4.dll_RpcServerListen]
test eax, eax
je 0x140028982
lea r8, str.StartRPCServer:_RpcServerListen___failed_
jmp 0x1400287b9
cmp dword [0x140057610], edi
mov dword [0x14005762c], 1
mov dword [0x14005713c], 4
mov dword [0x140057144], edi
mov dword [0x140057150], edi
jne 0x140028a2f
mov edx, 2
lea r8, str._Service_Status__Service_Running
mov qword [rsp + 0x30], rbx
lea ecx, [rdx + 0x16]
call fcn.140031a70
mov rcx, qword [0x1400575f0]
lea rdx, [0x140057138]
mov dword [0x140057140], 0x145
mov dword [0x14005714c], edi
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
cmp byte [0x140056f28], 1
mov ebx, eax
jne 0x140028a22
mov edx, 2
lea r8, str._ReportStatusToSCMgr_:_SessionNotification_called_using_cached_Login_Info
mov byte [0x140056f28], dil
lea ecx, [rdx + 0x16]
call fcn.140031a70
mov edx, dword [0x140056f24]
mov ecx, dword [0x140056f20]
call fcn.14002a550
test ebx, ebx
mov rbx, qword [rsp + 0x30]
je 0x1400287c6
xor ecx, ecx
call fcn.140031430
mov edx, 2
lea r8, str._StartRPCServer_:_RPC_mechanism_is_running__Service_is_listening
lea ecx, [rdx + 0x13]
mov byte [0x1400575cf], dil
call fcn.140031a70
call qword [sym.imp.RPCRT4.dll_RpcMgmtWaitServerListen]
test eax, eax
je 0x140028a6f
mov edx, 3
lea r8, str.StartRPCServer:_RpcMgmtWaitServerListen___failed_
lea ecx, [rdx + 0x12]
call fcn.140031a70
mov dword [0x14005762c], edi
mov eax, 1
add rsp, 0x20
pop rdi
ret