Function at 0x14000d800
Capabilities:
Query service status

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov rax, qword [0x14006f820]
xor rax, rsp
mov qword [rbp + 0x2f], rax
lea rbx, [rcx + 0x120]
mov r14, rcx
mov rcx, rbx
call fcn.14003812c
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_Synchronizing_execution_with_Windows_Installer_Service.
mov ecx, 2
call fcn.14000afd8
call fcn.14001f090
xor edx, edx
xor ecx, ecx
mov r8d, 0x80000000
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov r13, rax
test rax, rax
jne 0x14000d8a6
mov rcx, rbx
call fcn.14003812c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, [rbp - 5]
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_Warning__unable_to_check_status_of_MSIServer_Service._::OpenSCManager___failed_____d_.
mov dword [rbp - 5], eax
lea ecx, [r13 + 2]
call fcn.14000b440
call fcn.14001f090
jmp 0x14000dab1
mov r8d, 4
lea rdx, str.MSIServer
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov r15, rax
test rax, rax
jne 0x14000d8f6
mov rcx, rbx
call fcn.14003812c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, [rbp - 5]
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_warning__unable_to_check_status_of_MSIServer_Service._::OpenServiceW___failed____d_.
mov dword [rbp - 5], eax
lea ecx, [r15 + 2]
call fcn.14000b3e8
call fcn.14001f090
jmp 0x14000daa8
xor r12d, r12d
lea rdx, [rbp - 1]
and dword [rbp - 1], r12d
xor eax, eax
mov rcx, r14
mov dword [rbp + 3], eax
mov edi, 0xa
call fcn.14000bb54
jmp 0x14000da6a
and dword [rbp - 5], 0
lea rcx, [rbp + 7]
xor edx, edx
lea r8d, [rdx + 0x24]
call fcn.140024740
lea rax, [rbp - 5]
mov r9d, 0x24
lea r8, [rbp + 7]
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x14000db28
mov eax, 0x88888889
mov esi, r12d
mul r12d
shr edx, 5
imul eax, edx, 0x3c
sub esi, eax
jne 0x14000d9d1
mov rcx, rbx
call fcn.14003812c
lea rax, [rbp + 0x27]
mov r8, rbx
mov qword [rsp + 0x58], rax
lea r9, [rbp + 7]
lea rax, [rbp + 0x23]
mov qword [rsp + 0x50], rax
lea rdx, str.__s__WAIT_MSISERVICE:_Status_of_MSIServer:_ServiceType0x_x__CurrentState0x_x__ControlsAccepted0x_x__Win32ExitCode_d__ServiceSpecificExitCode_d__CheckPoint_d__WaitHint_d__ProcessId_d__ServiceFlags_d
lea rax, [rbp + 0x1f]
mov qword [rsp + 0x48], rax
lea ecx, [rsi + 2]
lea rax, [rbp + 0x1b]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x17]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x13]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xf]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb]
mov qword [rsp + 0x20], rax
call fcn.14000b4f0
call fcn.14001f090
mov eax, dword [rbp + 0xb]
and eax, 1
test al, al
jne 0x14000d9ec
mov eax, dword [rbp + 0xf]
and eax, 1
test al, al
jne 0x14000d9ec
mov edi, 0xa
jmp 0x14000da24
mov rcx, rbx
test edi, edi
je 0x14000daff
dec edi
call fcn.14003812c
imul eax, edi, 0x3e8
lea r9, [rbp - 9]
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_MSIService_is_ready__but_need_to_ensure_that_it_remains_idle_for__d_ms.
mov ecx, 2
mov dword [rbp - 9], eax
call fcn.14000b264
call fcn.14001f090
test esi, esi
jne 0x14000da57
cmp edi, 0xa
jb 0x14000da57
mov rcx, rbx
call fcn.14003812c
lea r9, [rbp - 9]
mov dword [rbp - 9], 0xea60
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_MSIService_not_ready__waiting_for___d__ms.
lea ecx, [rsi + 2]
call fcn.14000ae60
call fcn.14001f090
inc r12d
mov edx, 1
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_SleepEx]
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14000dd5c
test al, al
je 0x14000d918
mov rcx, rbx
call fcn.14003812c
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_Warning__terminating_wait__has_been_waiting_for_at_least_24_hours.
mov ecx, 2
call fcn.14000b15c
call fcn.14001f090
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call fcn.14003812c
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_Done_waiting.
mov ecx, 2
call fcn.14000aa1c
call fcn.14001f090
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140021d40
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14003812c
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x2710
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_MSIService_is_ready__and_has_been_idle_since_the_past_at_least__d_ms.
mov ecx, 2
call fcn.14000b20c
jmp 0x14000da9a
mov rcx, rbx
call fcn.14003812c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, [rbp - 9]
mov r8, rbx
lea rdx, str.__s__WAIT_MSISERVICE:_Warning__unable_to_check_status_of_MSIServer_Service._::QueryServiceStatusEx___failed____d_.
mov dword [rbp - 9], eax
mov ecx, 2
call fcn.14000b498
jmp 0x14000da9a