Function at 0x140002f40
Capabilities:
Copy file
Create service
Delete file
Modify service
Move file
Set registry value
Stop service

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4d0
mov ebp, ecx
mov rax, qword [0x140038010]
xor rax, rsp
mov qword [rsp + 0x4c8], rax
xor ecx, ecx
xor edx, edx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test rax, rax
je 0x140003013
mov rsi, rax
lea rdi, [rsp + 0xa0]
xor ecx, ecx
mov rdx, rdi
mov r8d, 0x105
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14000305b
lea rdx, str.MozillaMaintenance
mov rcx, rsi
mov r8d, 0xf01ff
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test rbx, rbx
jne 0x1400030a3
cmp eax, 0x424
je 0x1400030a3
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140003e96
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_open_service.____lu_
jmp 0x140003094
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140003e14
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_open_service_manager.____lu_
mov r8d, eax
call fcn.140009010
xor ebp, ebp
jmp 0x1400038b8
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140003e55
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_obtain_module_filename_when_attempting_to_install_service.____lu_
mov r8d, eax
call fcn.140009010
xor ebp, ebp
jmp 0x1400038af
test rbx, rbx
je 0x140003515
lea r14, [rsp + 0x2b0]
mov qword [r14], 0
mov rcx, rbx
mov rdx, r14
call fcn.140004a90
mov edi, eax
mov rcx, qword [r14]
test rcx, rcx
je 0x1400030d6
call qword [sym.imp.KERNEL32.dll_LocalFree]
test edi, edi
je 0x14000311b
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140003ed7
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_reset_security_ACE_on_service_handle._It_might_not_be_possible_to_start_the_service._This_error_should_never_happen.____lu_
mov r8d, eax
call fcn.140009010
lea r9, [rsp + 0x94]
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
jne 0x140003144
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400037de
lea r14, [rsp + 0x94]
mov r15d, dword [r14]
mov rcx, r15
call fcn.14000af24
mov rdi, rax
mov rcx, rbx
mov rdx, rax
mov r8d, r15d
mov r9, r14
call qword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
je 0x140003603
cmp byte [0x14003a338], 0
je 0x140003651
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
mov rcx, qword [rdi + 0x10]
lea rax, [rsp + 0x84]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0x8c]
lea r9, [rsp + 0x88]
call fcn.1400046b0
mov r14d, eax
lea rax, [rsp + 0x74]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x7c]
lea r9, [rsp + 0x78]
call fcn.1400046b0
test eax, eax
je 0x140003864
cmp ebp, 2
je 0x14000320b
test r14d, r14d
je 0x14000320b
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x90], eax
jae 0x140003922
mov rcx, rbx
call fcn.1400029e0
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor ecx, ecx
xor edx, edx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
test rax, rax
je 0x1400038dc
mov rbx, rax
lea rdx, str.MozillaMaintenance
mov rcx, rax
mov r8d, 0xf01ff
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov r14, rax
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov ecx, dword [rcx + 4]
test r14, r14
je 0x140003976
cmp eax, ecx
jg 0x140004127
lea rcx, [0x14003a118]
lea rdx, str.Sending_stop_request...
call fcn.140008f00
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rsp + 0x2b0]
mov rcx, r14
mov edx, 1
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x140003304
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x426
je 0x140003304
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000432f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Error_sending_stop_request.____lu_
mov r8d, eax
call fcn.140009010
mov r15, qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call r15
mov rcx, r14
call r15
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140004168
lea rcx, [0x14003a118]
lea rdx, str.Waiting_for_service_stop...
call fcn.140008f00
lea rcx, str.MozillaMaintenance
mov edx, 0x1e
call fcn.140009fa0
mov ebx, eax
lea rcx, [0x1400310ea]
mov edx, 0x1e
call fcn.14000a310
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400041a9
lea rcx, [0x14003a118]
lea rdx, str.Done_waiting_for_service_stop__last_service_state:__lu
mov r8d, ebx
call fcn.140008f00
xor ebp, ebp
cmp ebx, 1
jne 0x1400039a5
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0xa0]
call fcn.140014f78
test eax, eax
je 0x140003aa5
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0xa0]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x140003cd8
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000426c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_overwrite_old_service_binary_file._This_should_never_happen__but_if_it_does_the_next_upgrade_will_fix_it__the_service_is_not_a_critical_component_that_needs_to_be_installed_for_upgrades_to_work.____lu_
mov r8d, eax
call fcn.140009010
mov r14, qword [rdi + 0x10]
mov rcx, r14
call fcn.14000b010
cmp rax, 4
jb 0x140003aef
mov r15, rax
inc rax
lea r12, [r15 + r15 + 2]
mov rcx, 0xffffffffffffffff
cmovns rcx, r12
call fcn.14000af24
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r12
call fcn.14000cde0
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.14000b14c
lea rcx, [rbx + r15*2]
add rcx, 0xfffffffffffffffa
lea rdx, [0x14003128c]
mov r8d, 3
call fcn.14000b14c
mov rcx, qword [rdi + 0x10]
mov rdx, rbx
mov r8d, 9
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x140003b73
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0xa0]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [0x14003a328]
mov edx, dword [0x140038d6c]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov edx, dword [rdx + 4]
test eax, eax
je 0x140003bc3
cmp ecx, edx
jg 0x1400044e5
lea rcx, [0x14003a118]
lea rdx, str.The_new_service_binary_was_copied_in_by_first_moving_the_old_one_out_of_the_way.
call fcn.140008f00
mov ebp, 1
jmp 0x140003be0
test ebp, ebp
je 0x1400037d4
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathQuoteSpacesW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 0x10
lea rdx, str.MozillaMaintenance
lea r8, str.Mozilla_Maintenance_Service
mov rcx, rsi
mov r9d, 0xf01ff
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
test rax, rax
je 0x140003826
mov rbx, rax
lea r14, [rsp + 0x2b0]
mov qword [r14], 0
mov rcx, rax
mov rdx, r14
call fcn.140004a90
mov edi, eax
mov rcx, qword [r14]
test rcx, rcx
je 0x1400035ac
call qword [sym.imp.KERNEL32.dll_LocalFree]
test edi, edi
je 0x1400035f1
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140004064
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_set_security_ACE_on_service_handle__the_service_will_not_be_able_to_be_started_from_unelevated_processes._This_error_should_never_happen.____lu_
mov r8d, eax
call fcn.140009010
mov rcx, rbx
call fcn.1400029e0
mov ebp, 1
jmp 0x1400038a6
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140003f18
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_open_service_but_could_not_query_service_config.____lu_
mov r8d, eax
call fcn.140009010
mov rcx, rdi
call fcn.14000b144
jmp 0x14000381f
mov r14, qword [rdi + 0x10]
mov rcx, r14
call fcn.14000b010
cmp rax, 3
jb 0x1400036c7
mov r15, rax
lea rdx, str.maintenanceservice_tmp.exe
mov rcx, r14
call fcn.14000d024
test rax, rax
jne 0x1400036c7
cmp word [r14], 0x22
jne 0x1400036c7
cmp word [r14 + r15*2 - 2], 0x22
jne 0x1400036c7
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400042ad
lea rcx, [0x14003a118]
lea rdx, str.The_MozillaMaintenance_service_path_is_correct.
call fcn.140008f00
jmp 0x140003181
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140003f59
lea rcx, [0x14003a118]
lea rdx, str.The_MozillaMaintenance_path_is_NOT_correct._It_was:__ls
mov r8, r14
call fcn.140008f00
lea r15, [rsp + 0x2b0]
mov r8d, 0x20a
mov rcx, r15
xor edx, edx
call fcn.14000cde0
mov r8d, 0x104
mov rcx, r15
mov rdx, r14
call fcn.14000b14c
mov rcx, r15
call qword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
mov rcx, r15
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x1400039b2
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140003fdb
lea r14, str.Couldnt_remove_file_spec.____lu_
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
mov rdx, r14
mov r8d, eax
call fcn.140009010
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140003f9a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_fix_service_path._This_should_never_happen.____lu_
mov r8d, eax
call fcn.140009010
mov ebp, 1
jmp 0x14000389e
mov ebp, 1
jmp 0x1400038af
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140004023
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_determine_buffer_size_for_query_service_config.____lu_
mov r8d, eax
call fcn.140009010
xor ebp, ebp
jmp 0x1400038a6
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400040a5
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_create_Windows_service._This_error_should_never_happen_since_a_service_install_should_only_be_called_when_elevated.____lu_
jmp 0x140003094
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400040e6
lea rcx, [0x14003a118]
lea rdx, str.Could_not_obtain_version_number_from_new_path
call fcn.140009010
xor ebp, ebp
mov rcx, rdi
call fcn.14000b144
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, qword [rsp + 0x4c8]
xor rcx, rsp
call fcn.140016cf0
mov eax, ebp
add rsp, 0x4d0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400041ea
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_open_service_manager.____lu_
mov r8d, eax
call fcn.140009010
jmp 0x1400039a3
jne 0x14000395b
mov eax, dword [rsp + 0x7c]
cmp dword [rsp + 0x8c], eax
jb 0x14000320b
jne 0x14000395b
mov eax, dword [rsp + 0x78]
cmp dword [rsp + 0x88], eax
jb 0x14000320b
jne 0x14000395b
mov eax, dword [rsp + 0x84]
cmp eax, dword [rsp + 0x74]
jb 0x14000320b
lea rcx, [rsp + 0xa0]
xor edx, edx
mov r8d, 4
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x1400037ca
cmp eax, ecx
jg 0x14000422b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x14003a118]
lea rdx, str.Could_not_open_service.____lu_
mov r8d, eax
call fcn.140009010
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor ebp, ebp
mov rcx, rdi
call fcn.14000b144
jmp 0x1400038af
lea rdx, [0x1400310ea]
lea r14, [rsp + 0x2b0]
mov rcx, r14
call fcn.1400280b0
test eax, eax
je 0x140003b2e
mov rcx, r14
call qword [sym.imp.SHLWAPI.dll_PathQuoteSpacesW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov edx, 0xffffffff
mov r8d, 0xffffffff
mov r9d, 0xffffffff
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
mov ecx, dword [0x14003a328]
mov edx, dword [0x140038d6c]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov edx, dword [rdx + 4]
test eax, eax
je 0x140003b5f
cmp ecx, edx
jg 0x140004433
lea rcx, [0x14003a118]
lea rdx, str.Fixed_service_path_to:__ls.
lea r8, [rsp + 0x2b0]
call fcn.140008f00
mov byte [0x14003a338], 1
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140004474
lea rcx, [0x14003a118]
lea rdx, str.Restarting_install_action:__d
mov r8d, ebp
call fcn.140008f00
mov ecx, ebp
call fcn.140002f40
mov ebp, eax
jmp 0x14000389e
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140004370
lea rcx, [0x14003a118]
lea rdx, str.File_is_already_in_the_correct_location__no_action_needed_for_upgrade.__The_path_is:___ls_
lea r8, [rsp + 0xa0]
call fcn.140008f00
mov ebp, 1
jmp 0x1400039a5
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400043b1
lea rcx, [0x14003a118]
lea rdx, str.Service_binary_path_was_less_than_3__service_will_not_be_updated.__This_should_never_happen.
call fcn.140009010
xor ebp, ebp
jmp 0x140003c4f
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400044b5
lea r14, str.Couldnt_append_file_spec.____lu_
jmp 0x140003771
cmp ecx, edx
jg 0x1400044cd
lea r14, str.Could_not_fix_service_path.____lu_
jmp 0x140003771
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140004567
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [rdi + 0x10]
mov dword [rsp + 0x20], eax
lea rcx, [0x14003a118]
lea rdx, str.Could_not_move_old_service_file_out_of_the_way_from:___ls__to___ls_._Service_will_not_be_upgraded.____lu_
mov r9, rbx
call fcn.140009010
xor ebp, ebp
jmp 0x140003c47
cmp ecx, edx
jg 0x1400045a8
lea rcx, [0x14003a118]
lea rdx, str.The_new_service_binary_could_not_be_copied_in._The_service_will_not_be_upgraded.
call fcn.140009010
xor ebp, ebp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [0x14003a328]
mov edx, dword [0x140038d6c]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov edx, dword [rdx + 4]
test eax, eax
je 0x140003c2c
cmp ecx, edx
jg 0x140004526
lea rcx, [0x14003a118]
lea rdx, str.The_old_temp_service_path_was_deleted:__ls.
mov r8, rbx
call fcn.140008f00
jmp 0x140003c47
cmp ecx, edx
jg 0x1400045e9
lea rcx, [0x14003a118]
lea rdx, str.The_old_temp_service_path_was_not_deleted.
call fcn.140009010
mov rcx, rbx
call fcn.14000b144
lea rcx, [rsp + 0xa0]
xor edx, edx
mov r8d, 4
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [0x14003a328]
mov edx, dword [0x140038d6c]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov edx, dword [rdx + 4]
test eax, eax
je 0x140003cb0
cmp ecx, edx
jg 0x1400042ee
lea rcx, [0x14003a118]
lea rdx, str.Deleting_the_old_file_path_on_the_next_reboot:__ls.
lea r8, [rsp + 0xa0]
call fcn.140008f00
jmp 0x1400039a5
cmp ecx, edx
jg 0x1400043f2
lea rcx, [0x14003a118]
lea rdx, str.Call_to_delete_the_old_file_path_failed:__ls.
lea r8, [rsp + 0xa0]
call fcn.140009010
jmp 0x1400039a5
lea rbx, [rsp + 0x2b0]
mov r8d, 0x100
mov rcx, rbx
xor edx, edx
call fcn.14000cde0
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x78]
mov edx, dword [rsp + 0x7c]
mov r9d, dword [rsp + 0x80]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
lea r8, str._d._d._d._d
mov edx, 0x80
mov rcx, rbx
call fcn.140027f50
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallMozillaMaintenanceService
mov rcx, 0xffffffff80000002
xor r8d, r8d
mov r9d, 0x20206
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140003d9a
mov rcx, rbx
call fcn.14000b010
add eax, eax
add eax, 2
mov rcx, qword [rsp + 0x98]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
lea rdx, str.DisplayVersion
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
je 0x140003dd2
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000466b
lea rcx, [0x14003a118]
lea rdx, str.The_uninstaller_version_string_could_not_be_updated.
call fcn.140008f00
mov eax, dword [0x14003a328]
mov ecx, dword [0x140038d6c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000462a
lea rcx, [0x14003a118]
lea rdx, str.The_new_service_binary_was_copied_in.
call fcn.140008f00
mov ebp, 1
jmp 0x140003c4f
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003038
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003038
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003080
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003080
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140002ffa
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140002ffa
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x1400030ff
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x1400030ff
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003628
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003628
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x1400036ec
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x1400036ec
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x1400037ae
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x1400037ae
lea rcx, [0x14003a328]
call fcn.14000b370
lea r14, str.Couldnt_remove_file_spec.____lu_
cmp dword [0x14003a328], 0xffffffff
jne 0x140003771
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003771
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003803
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003803
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x1400035d5
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x1400035d5
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x14000384b
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x14000384b
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003889
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003889
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003281
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003281
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x14000333c
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x14000333c
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003398
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003398
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003901
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003901
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x14000397e
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x14000397e
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003414
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003414
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x1400036af
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x1400036af
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003c90
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003c90
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x1400032e8
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x1400032e8
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003aca
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003aca
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003b14
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003b14
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003cb8
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003cb8
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003a3a
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003a3a
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003a81
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003a81
lea rcx, [0x14003a328]
call fcn.14000b370
lea r14, str.Couldnt_append_file_spec.____lu_
jmp 0x140003fee
lea rcx, [0x14003a328]
call fcn.14000b370
lea r14, str.Could_not_fix_service_path.____lu_
jmp 0x140003fee
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x1400034f8
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x1400034f8
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003c14
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003c14
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003b98
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003b98
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003bcb
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003bcb
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003c34
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003c34
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003df7
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003df7
lea rcx, [0x14003a328]
call fcn.14000b370
cmp dword [0x14003a328], 0xffffffff
jne 0x140003dbf
mov qword [0x14003a118], 0
lea rcx, [0x140002720]
call fcn.14000b528
lea rcx, [0x14003a328]
call fcn.14000b3d8
jmp 0x140003dbf