Function at 0x5f462c
Capabilities:
Modify service

Disassembly:
push 0x154
mov eax, 0x6b9bcd
call fcn.0064d018
mov esi, edx
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x140], eax
call fcn.005f38d1
test al, al
jne 0x5f4675
push str.O15Client::RestoreOfficeService:_failed_to_remove_new_service.
push 0x32
push 0xe
pop edx
mov ecx, 0x7c1409
call fcn.004f4c26
pop ecx
pop ecx
xor al, al
jmp 0x5f4a21
xor ebx, ebx
mov dword [ebp - 0xa8], 7
xor eax, eax
mov dword [ebp - 0xac], ebx
mov word [ebp - 0xbc], ax
mov dword [ebp - 4], ebx
mov ecx, esi
cmp dword [esi + 0x14], 8
jb 0x5f469d
mov ecx, dword [esi]
push ebx
push 0xffffffffffffffff
mov edx, str.ClickToRunSvc
call fcn.0040bf20
test eax, eax
jne 0x5f46d7
push dword [ebp - 0x144]
mov edx, str.__s___service
lea ecx, [ebp - 0x40]
call reloc.KERNEL32.dll_WerRegisterMemoryBlock
push eax
lea ecx, [ebp - 0xbc]
call fcn.0040d3a8
lea ecx, [ebp - 0x40]
call fcn.0040d475
jmp 0x5f4703
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x5f46e1
mov ecx, dword [esi]
push ebx
push 0xffffffffffffffff
mov edx, str.OfficeSvc
call fcn.0040bf20
test eax, eax
jne 0x5f4703
push dword [ebp - 0x144]
lea ecx, [ebp - 0xbc]
call fcn.0040d37a
lea ecx, [ebp - 0x160]
call fcn.0050cee2
xor eax, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
push ecx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
push ecx
push ecx
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0x140]
lea ecx, [ebp - 0x160]
push esi
call fcn.0050d4d5
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0040d475
push 0x40012
push esi
lea ecx, [ebp - 0x160]
call fcn.0050d066
test al, al
jne 0x5f487d
push 0x816a80
mov edx, str.Service_cannot_open_ServiceName:_s
lea ecx, [ebp - 0xd4]
call fcn.00411f2c
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x5f4786
mov esi, dword [esi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 7
pop edx
mov dword [ebp - 0x140], eax
lea edi, [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x30], ebx
mov ecx, edx
mov dword [ebp - 0x2c], edx
rep stosd dword es:[edi], eax
mov word [ebp - 0x40], ax
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], edx
mov word [ebp - 0xa4], ax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], edx
mov word [ebp - 0x8c], ax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], edx
mov word [ebp - 0x74], ax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], dl
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x13c]
call fcn.005b30c3
xor ecx, ecx
mov dword [ebp - 0x5c], vtable.C2R::CommonTelemetry.0
mov word [ebp - 0x58], cx
mov edx, 0x3ae
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x48], ebx
push ecx
push eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x44], 7
push eax
push str.O15Client::RestoreOfficeService
push 0xa
mov ecx, 0x7c140a
mov dword [ebp - 0x1c], vtable.Mso::Logging::StructuredObject_wchar_t_const___1_.0
mov dword [ebp - 0x18], str.ContextData
mov dword [ebp - 0x14], esi
call fcn.00411ea6
lea ecx, [ebp - 0x58]
call fcn.0040d475
lea ecx, [ebp - 0x13c]
call fcn.00413b8b
lea ecx, [ebp - 0x74]
call fcn.0040d475
lea ecx, [ebp - 0x8c]
call fcn.0040d475
lea ecx, [ebp - 0xa4]
call fcn.0040d475
lea ecx, [ebp - 0x40]
jmp 0x5f49f5
mov esi, 0x816a80
mov ecx, 0x7c140b
push esi
push str.O15Client::RestoreOfficeService____s_previous_service_re_installed__starting_the_service.
push 0x32
push 0xe
pop edx
call fcn.00437655
cmp dword [edi + 0x14], 8
jb 0x5f489f
mov edi, dword [edi]
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], edi
push eax
push 1
push dword [ebp - 0x15c]
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
sub esp, 0x10
lea ecx, [ebp - 0x160]
call fcn.0050d5af
push ecx
lea ecx, [ebp - 0x160]
call fcn.0050d616
lea ecx, [ebp - 0x160]
call fcn.0050d12d
test al, al
jne 0x5f4a07
push esi
mov edx, str.Service_cannot_start_ServiceName:_s
lea ecx, [ebp - 0xd4]
call fcn.00411f2c
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x5f4902
mov esi, dword [esi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 7
pop edx
mov dword [ebp - 0x140], eax
lea edi, [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x64], ebx
mov ecx, edx
mov dword [ebp - 0x60], edx
rep stosd dword es:[edi], eax
mov word [ebp - 0x74], ax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], edx
mov word [ebp - 0x8c], ax
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], edx
mov word [ebp - 0xa4], ax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], edx
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x13c]
call fcn.005b30c3
xor ecx, ecx
mov dword [ebp - 0x5c], vtable.C2R::CommonTelemetry.0
mov word [ebp - 0x58], cx
mov edx, 0x3ae
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x48], ebx
push ecx
push eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x44], 7
push eax
push str.O15Client::RestoreOfficeService
push 0xa
mov ecx, 0x7c140c
mov dword [ebp - 0x1c], vtable.Mso::Logging::StructuredObject_wchar_t_const___1_.0
mov dword [ebp - 0x18], str.ContextData
mov dword [ebp - 0x14], esi
call fcn.00411ea6
lea ecx, [ebp - 0x58]
call fcn.0040d475
lea ecx, [ebp - 0x13c]
call fcn.00413b8b
lea ecx, [ebp - 0x40]
call fcn.0040d475
lea ecx, [ebp - 0xa4]
call fcn.0040d475
lea ecx, [ebp - 0x8c]
call fcn.0040d475
lea ecx, [ebp - 0x74]
call fcn.0040d475
lea ecx, [ebp - 0xd4]
call fcn.0040d475
jmp 0x5f4a09
mov bl, 1
lea ecx, [ebp - 0x160]
call fcn.0050cfd9
lea ecx, [ebp - 0xbc]
call fcn.0040d475
mov al, bl
call fcn.0064cfc2
ret 8