Function at 0x140007280
Capabilities:
Check if file exists
Copy file
Create a process with modified i/o handles and window
Create directory
Create process on windows
Create thread
Delete file
Get common file path
Get disk information
Get file attributes
Move file
Query or enumerate registry value
Read file on windows
Set registry value
Start service
Write and execute a file
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf68
movaps xmmword [rsp + 0xf50], xmm6
mov rdi, rdx
mov r13d, ecx
mov rax, qword [0x140048030]
xor rax, rsp
mov qword [rsp + 0xf48], rax
lea rcx, [0x14003edd2]
call fcn.140020e94
test rax, rax
je 0x1400072cc
cmp byte [rax], 0
setne al
jmp 0x1400072ce
xor eax, eax
mov byte [0x14004aa38], al
lea rcx, str.MOZ_USING_SERVICE
call fcn.14001dd10
cmp r13d, 3
jg 0x14000730f
mov ecx, 2
call fcn.140015808
lea rcx, str.Usage:_updater_patch_dir_install_dir_apply_to_dir__wait_pid__callback_working_dir_callback_path_args...___n
mov edx, 0x6a
mov r8d, 1
mov r9, rax
call fcn.140020bb8
jmp 0x140008168
lea r14, [rdi + 8]
mov rdx, qword [rdi + 8]
lea rbx, [0x14004a200]
mov r8d, 0x104
mov rcx, rbx
call fcn.140013424
mov word [0x14004a406], 0
lea r15, [rsp + 0xb20]
mov r8d, 0x208
mov rcx, r15
xor edx, edx
call fcn.140015060
lea r8, str._supdate_elevated.lock
mov edx, 0x104
mov rcx, r15
mov r9, rbx
call fcn.140003ff0
mov al, 1
cmp byte [0x14004aa38], 0
jne 0x14000738f
lea rcx, [rsp + 0xb20]
call fcn.14001efdc
test eax, eax
je 0x14000738d
call fcn.14001a840
cmp dword [rax], 2
setne al
jmp 0x14000738f
xor eax, eax
mov byte [0x14004ac48], al
mov rcx, qword [r14]
call fcn.140012b30
test al, al
je 0x140007576
mov rcx, qword [rdi + 0x10]
call fcn.140012b30
test al, al
je 0x14000758f
mov rdx, qword [rdi + 0x10]
lea rbx, [0x14004aa40]
mov r8d, 0x104
mov rcx, rbx
call fcn.140013424
mov word [0x14004ac46], 0
mov rcx, rbx
mov dx, 0x5c
call fcn.14001539c
test rax, rax
je 0x1400073f5
cmp word [rax + 2], 0
jne 0x1400073f5
mov word [rax], 0
lea r8, str._s_update.status
lea r9, [0x14004a200]
lea rbx, [rsp + 0x290]
mov edx, 0x104
mov rcx, rbx
call fcn.140003ff0
lea rdx, [0x140040444]
mov rcx, rbx
call fcn.14001edb4
test rax, rax
mov qword [rsp + 0x68], r14
je 0x140007470
mov r15, rax
xorps xmm0, xmm0
lea rcx, [rsp + 0xd30]
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
mov edx, 1
mov r8d, 0x1f
mov r9, rax
call fcn.140020924
mov r12, rax
mov rcx, r15
call fcn.14002031c
test eax, eax
je 0x140007478
xor r12d, r12d
jmp 0x1400075d9
xor r12d, r12d
jmp 0x1400075e1
mov rsi, r13
mov byte [rsp + r12 + 0xd30], 0
lea r12, [rsp + 0xd30]
mov rcx, r12
mov edx, 0x3a
call fcn.1400151f0
mov r13, rax
test rax, rax
jne 0x1400074ce
lea rcx, [rsp + 0xd30]
mov edx, 0xa
call fcn.1400151f0
test rax, rax
jne 0x1400074ce
lea rcx, [rsp + 0xd30]
call fcn.140021780
add rax, rsp
add rax, 0xd30
sub rax, r12
cmp rax, 0xf
jne 0x140007504
movabs rax, 0x2d676e69646e6570
xor rax, qword [rsp + 0xd30]
movabs rcx, 0x656369767265732d
xor rcx, qword [rsp + 0xd37]
or rcx, rax
je 0x1400075d3
test r13, r13
jne 0x14000753b
lea rcx, [rsp + 0xd30]
mov edx, 0xa
call fcn.1400151f0
mov r13, rax
test rax, rax
jne 0x14000753b
lea rcx, [rsp + 0xd30]
call fcn.140021780
lea r13, [rsp + rax]
add r13, 0xd30
sub r13, r12
cmp r13, 0xf
jne 0x140007571
movabs rax, 0x2d6465696c707061
xor rax, qword [rsp + 0xd30]
movabs rcx, 0x656369767265732d
xor rcx, qword [rsp + 0xd37]
or rcx, rax
sete r12b
jmp 0x1400075d6
xor r12d, r12d
jmp 0x1400075d6
mov rsi, qword [r14]
mov ecx, 2
call fcn.140015808
lea rdx, str.The_patch_directory_path_is_not_valid_for_this_application___S__n
jmp 0x14000815d
lea r8, str.failed:__d_n
lea rsi, [rsp + 0x290]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x4b
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov rsi, qword [rdi + 0x10]
mov ecx, 2
call fcn.140015808
lea rdx, str.The_install_directory_path_is_not_valid_for_this_application___S__n
jmp 0x14000815d
mov r12b, 1
mov r13, rsi
mov rcx, r15
call fcn.140020234
xor esi, esi
mov qword [rsp + 0x290], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rsi
mov ebp, 2
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], 0
lea rdx, str.SoftwareClassesApplications
mov r14, qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov rcx, 0xffffffff80000001
xor r8d, r8d
xor r9d, r9d
call r14
mov rcx, qword [rsp + 0x290]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], 1
lea rdx, str.SoftwareClassesApplicationsupdater.exe
mov rcx, 0xffffffff80000001
xor r8d, r8d
xor r9d, r9d
call r14
test eax, eax
jne 0x1400076e2
mov rcx, qword [rsp + 0x290]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea rdx, str.IsHostApp
mov rbx, qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor r8d, r8d
xor r9d, r9d
call rbx
mov rcx, qword [rsp + 0x290]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea rdx, str.NoOpenWith
xor r8d, r8d
xor r9d, r9d
call rbx
mov rcx, qword [rsp + 0x290]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea rdx, str.NoStartPage
xor r8d, r8d
xor r9d, r9d
call rbx
mov rcx, qword [rsp + 0x290]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp r13d, 5
jl 0x140007718
mov rcx, qword [rdi + 0x20]
call fcn.14001f0d4
cmp rax, 0xffffffffffffffff
je 0x14000771c
mov rbx, rax
mov rcx, qword [rdi + 0x20]
lea rdx, str._replace
call fcn.14001544c
test rax, rax
je 0x14000772d
lea rax, [0x14004ac49]
jmp 0x14000772a
xor ebx, ebx
jmp 0x14000772d
mov rbx, 0xffffffffffffffff
lea rax, [0x14004a408]
mov byte [rax], 1
mov rcx, qword [rdi + 0x18]
call fcn.140012b30
test al, al
je 0x140007fb4
mov rdx, qword [rdi + 0x18]
lea r15, [0x14004a410]
mov r8d, 0x104
mov rcx, r15
call fcn.140013424
mov word [0x14004a616], 0
mov rcx, r15
mov dx, 0x5c
call fcn.14001539c
test rax, rax
je 0x14000777d
cmp word [rax + 2], 0
jne 0x14000777d
mov word [rax], 0
cmp r13d, 7
jl 0x140007868
mov rcx, qword [rdi + 0x30]
call fcn.140012b30
test al, al
je 0x1400080dd
mov ebp, r12d
mov rsi, r13
lea r15, [0x14004aa40]
mov rcx, r15
call fcn.1400132f0
mov r12, rax
lea r13, [rsp + 0x290]
mov r8d, 0x208
mov rcx, r13
xor edx, edx
call fcn.140015060
mov rdx, qword [rdi + 0x30]
mov rcx, r13
mov r8, r12
call fcn.140013424
mov rcx, r15
mov rdx, r13
call fcn.140021f7c
test eax, eax
jne 0x14000811e
mov r13, rsi
cmp r13d, 8
mov r12d, ebp
jl 0x140007843
lea esi, [r13 - 6]
dec rsi
xor r14d, r14d
lea r15, str.backgroundtask
mov rcx, qword [rdi + r14*8 + 0x38]
test rcx, rcx
je 0x14000783b
movzx eax, word [rcx]
cmp eax, 0x2f
je 0x140007825
cmp eax, 0x2d
jne 0x14000783b
cmp word [rcx + 2], 0x2d
je 0x14000782b
add rcx, 2
jmp 0x14000782f
add rcx, 4
mov rdx, r15
call fcn.140021f7c
test eax, eax
je 0x140007860
inc r14
cmp rsi, r14
jne 0x140007807
lea rcx, str.MOZ_APP_SILENT_START
call fcn.140020e94
test rax, rax
je 0x14000785c
cmp byte [rax], 0
setne al
jmp 0x140007862
xor eax, eax
jmp 0x140007862
mov al, 1
mov byte [0x14004ac4a], al
lea rcx, [rsp + 0x910]
mov r8d, 0x20a
xor edx, edx
call fcn.140015060
cmp byte [0x14004ac48], 0
je 0x1400079b0
lea r15, [rsp + 0xd30]
mov r8d, 0x20a
mov rcx, r15
xor edx, edx
call fcn.140015060
mov rcx, r15
call fcn.140012e40
test eax, eax
je 0x1400078dd
lea r15, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, r15
xor edx, edx
call fcn.140015060
lea rcx, [0x1400403ea]
mov rdx, r15
call fcn.140012f40
test eax, eax
jne 0x1400083f1
lea rcx, [rsp + 0xd30]
call fcn.140012e40
test eax, eax
je 0x14000791d
lea r15, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, r15
xor edx, edx
call fcn.140015060
lea rcx, [0x14003fc46]
mov rdx, r15
call fcn.140012f40
test eax, eax
jne 0x140008420
lea rcx, [rsp + 0xd30]
call fcn.140012e40
test eax, eax
je 0x14000795d
lea r15, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, r15
xor edx, edx
call fcn.140015060
lea rcx, [0x1400401be]
mov rdx, r15
call fcn.140012f40
test eax, eax
jne 0x14000844f
lea rcx, [rsp + 0x910]
call fcn.140012e40
test eax, eax
je 0x1400079d0
lea r15, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, r15
xor edx, edx
call fcn.140015060
lea rcx, [0x1400401be]
mov rdx, r15
call fcn.140012f40
test eax, eax
je 0x1400079d0
lea rcx, [rsp + 0x910]
lea rdx, [rsp + 0x290]
call fcn.140035400
jmp 0x1400079d0
lea r8, str._supdate.log
lea r9, [0x14004a200]
lea rcx, [rsp + 0x910]
mov edx, 0x105
call fcn.140003ff0
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140009ff6
cmp qword [0x14004bc78], 0
jne 0x140007a48
lea rcx, [rsp + 0x910]
call fcn.1400132f0
dec eax
cmp eax, 0x101
ja 0x140007a48
lea r15, [0x14004bc80]
lea rdx, [rsp + 0x910]
mov r8d, 0x104
mov rcx, r15
call fcn.140013424
lea rdx, [0x14003fba0]
mov rcx, r15
call fcn.14001edb4
mov qword [0x14004bc78], rax
lea rcx, str.applying
call fcn.14000a840
test al, al
je 0x140007a8f
cmp byte [0x14004a408], 1
jne 0x140007aca
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a14e
lea r15, str.Performing_a_staged_update
jmp 0x140007aff
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a037
lea rdx, str.failed_setting_status_to_applying
call fcn.1400128e0
call fcn.14000aa50
jmp 0x140008168
cmp byte [0x14004ac49], 1
jne 0x140007b07
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a163
lea r15, str.Performing_a_replace_request
mov rdx, r15
call fcn.1400128e0
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a078
lea rdx, str.PATCH_DIRECTORY__S
lea r8, [0x14004a200]
call fcn.1400128e0
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a0b9
lea rdx, str.INSTALLATION_DIRECTORY__S
lea r8, [0x14004aa40]
call fcn.1400128e0
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a0fa
lea rdx, str.WORKING_DIRECTORY__S
lea r15, [0x14004a410]
mov r8, r15
call fcn.1400128e0
lea rsi, [0x14004aa40]
mov r8d, 0x104
mov rcx, r15
mov rdx, rsi
call fcn.14001ebd0
test eax, eax
je 0x140007c95
cmp byte [0x14004a408], 0
jne 0x140007be8
cmp byte [0x14004ac49], 0
je 0x140007f59
lea r8, [0x14003fcd0]
lea r9, [0x14004a410]
lea r15, [rsp + 0x290]
mov edx, 0x104
mov rcx, r15
call fcn.140003ff0
mov rcx, r15
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x140007ef0
lea rdx, [0x14004aa40]
lea rcx, [rsp + 0x290]
mov r8d, 0x104
call fcn.14001ebd0
test eax, eax
je 0x140007c95
lea r8, str.failed:__d_n
lea rsi, [rsp + 0xd30]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x48
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a1ab
lea rdx, str.The_apply_to_directory_must_be_the_same_as_or_a_child_of_the_installation_directory__Exiting.
jmp 0x140007abb
test rbx, rbx
jle 0x140007d00
mov ecx, 0x100000
xor edx, edx
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_OpenProcess]
test rax, rax
je 0x140007d00
mov rbx, rax
mov rcx, rax
mov edx, 0x7530
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
je 0x140007d00
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a380
lea rdx, str.The_parent_process_didnt_exit__Continuing_with_update.
call fcn.1400128e0
cmp byte [0x14004ac49], 0
jne 0x140007d12
cmp byte [0x14004a408], 1
jne 0x140007d49
lea rbx, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, rbx
xor edx, edx
call fcn.140015060
mov rcx, rbx
mov edx, 0x105
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x140007d49
lea rcx, [rsp + 0x290]
call fcn.14001e524
mov rbp, 0xffffffffffffffff
cmp byte [0x14004aa38], 0
je 0x140007ec6
cmp byte [0x14004a408], 1
jne 0x140007d74
lea rcx, [0x14004a410]
xor edx, edx
call fcn.14000aed0
cmp byte [0x14004ac49], 0
jne 0x140007d9b
lea rcx, [0x14004a410]
call fcn.14001eee4
test eax, eax
je 0x140007d9b
call fcn.14001a840
cmp dword [rax], 0x11
jne 0x140007ac0
lea rcx, [0x14004a410]
lea rdx, [rsp + 0xd30]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x140007ff8
mov r12, 0xffffffffffffffff
cmp r13d, 7
jl 0x1400081d6
mov qword [rsp + 0x58], r13
lea rcx, [rsp + 0x700]
mov ebx, 0x208
mov r8d, 0x208
xor edx, edx
call fcn.140015060
lea r14, [rdi + 0x30]
mov r15, qword [rdi + 0x30]
lea r13, [rsp + 0x290]
mov r8d, 0x410
mov rcx, r13
xor edx, edx
call fcn.140015060
cmp byte [0x14004ac49], 1
jne 0x14000819b
mov rcx, r15
mov rdx, rsi
xor r8d, r8d
call qword [sym.imp.SHLWAPI.dll_PathCommonPrefixW]
movsxd r15, eax
mov rdx, qword [r14]
mov rcx, r13
mov r8, r15
call fcn.140013424
lea r12, [rsp + r15*2]
add r12, 0x290
sub rbx, r15
mov qword [rsp + 0x60], rbp
lea rbp, [rsi + r15*2]
mov rcx, r12
mov rdx, rbp
mov r8, rbx
call fcn.140013424
mov rcx, rbp
call fcn.1400132f0
lea r12, [r12 + rax*2]
add r12, 2
mov dword [r12 - 2], 0x5c
not rax
add rbx, rax
lea rbp, [rsp + 0x80]
mov rcx, rbp
mov rdx, rsi
call fcn.140013258
mov rcx, qword [r14]
mov rdx, rbp
mov rbp, qword [rsp + 0x60]
xor r8d, r8d
call qword [sym.imp.SHLWAPI.dll_PathCommonPrefixW]
cmp eax, r15d
cmova r15d, eax
movsxd rdx, r15d
add rdx, rdx
add rdx, qword [r14]
mov rcx, r12
mov r8, rbx
call fcn.140013424
jmp 0x14000819e
mov al, byte [0x14004a408]
cmp r13d, 6
jg 0x1400080b5
test al, 1
jne 0x1400080bd
cmp byte [0x14004ac49], 1
jne 0x140007d7d
jmp 0x14000848b
lea r8, str.failed:__d_n
lea rsi, [rsp + 0xd30]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x47
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a1ec
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Error_calling_PathRemoveFileSpecW:__lu
mov r8d, eax
call fcn.1400128e0
jmp 0x140007ac0
lea r8, str.failed:__d_n
lea rsi, [rsp + 0x290]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x4a
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a22d
lea rdx, str.Installation_directory_and_working_directory_must_be_the_same_for_non_staged_updates._Exiting.
jmp 0x140007abb
lea r8, str.failed:__d_n
lea rsi, [rsp + 0x290]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x4c
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov rsi, qword [rdi + 0x18]
mov ecx, 2
call fcn.140015808
lea rdx, str.The_working_directory_path_is_not_valid_for_this_application___S__n
jmp 0x14000815d
lea r8, str.failed:__d_n
lea rbx, [rsp + 0x290]
mov edx, 0x20
mov rcx, rbx
mov r9d, 0x41
call fcn.140001000
mov rcx, rbx
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a33f
lea rdx, str.NS_main:_unable_to_find_apply_to_dir:__S
lea r8, [0x14004a410]
call fcn.1400128e0
call fcn.14000aa50
cmp rbp, 0xffffffffffffffff
je 0x14000806e
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xb20]
call fcn.14001efdc
test eax, eax
je 0x14000808d
call fcn.14001a840
cmp dword [rax], 2
jne 0x140008168
cmp r13d, 7
jl 0x140008168
mov r9b, byte [0x14004aa38]
add r13d, 0xfffffffa
mov rcx, qword [rdi + 0x28]
add rdi, 0x30
mov edx, r13d
mov r8, rdi
jmp 0x1400087f4
test al, 1
je 0x14000847e
lea r8, str._s_updated.update_in_progress.lock
lea r9, [0x14004aa40]
lea rcx, [rsp + 0x700]
mov edx, 0x104
jmp 0x1400084ca
lea r8, str.failed:__d_n
lea rsi, [rsp + 0x290]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x4d
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov rsi, qword [rdi + 0x30]
mov ecx, 2
call fcn.140015808
lea rdx, str.The_callback_file_path_is_not_valid_for_this_application___S__n
jmp 0x14000815d
lea r8, str.failed:__d_n
lea rsi, [rsp + 0xd30]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x4e
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov rsi, qword [rdi + 0x30]
mov ecx, 2
call fcn.140015808
lea rdx, str.The_callback_file_must_be_located_in_the_installation_directory___S__n
mov rcx, rax
mov r8, rsi
call fcn.140035130
mov esi, 1
mov rcx, qword [rsp + 0xf48]
xor rcx, rsp
call fcn.140025ef0
mov eax, esi
movaps xmm6, xmmword [rsp + 0xf50]
add rsp, 0xf68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r13, r15
lea rdx, [rsp + 0x700]
mov rcx, r13
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x14000874b
mov r12, 0xffffffffffffffff
cmp byte [0x14004ac49], 0
je 0x1400087fe
mov r13, qword [rsp + 0x58]
cmp byte [0x14004a408], 0
jne 0x140008230
cmp byte [0x14004ac49], 0
jne 0x140008230
lea rax, str.tobedeleted
mov qword [rsp + 0x20], rax
lea rbx, [0x14004ac50]
lea r8, str._s__s
lea r9, [0x14004a410]
mov edx, 0x104
mov rcx, rbx
call fcn.140003ff0
mov rcx, rbx
xor edx, edx
call fcn.14001e464
test eax, eax
je 0x140008230
lea rcx, [0x14004ac50]
call fcn.14001eee4
lea rax, [0x14000b120]
lea rbx, [rsp + 0x290]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 0
lea rsi, [rsp + 0x700]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0
lea r8, [0x14000aca0]
xor ecx, ecx
xor edx, edx
mov r9, rbx
call fcn.140019a34
mov qword [rbx], rax
test rax, rax
je 0x1400082a7
cmp byte [0x14004a408], 0
jne 0x1400082a7
cmp byte [0x14004ac49], 0
jne 0x1400082a7
cmp byte [0x14004ac4a], 0
jne 0x1400082a7
xor ecx, ecx
mov dl, 1
call fcn.140002ed0
mov rax, qword [rsp + 0x290]
mov rcx, rax
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp r13d, 7
jl 0x140008333
cmp byte [0x14004ac49], 0
jne 0x140008333
cmp r12, 0xffffffffffffffff
je 0x1400082e1
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x14004a830]
call fcn.14001efdc
test eax, eax
je 0x140008333
call fcn.14001a840
cmp dword [rax], 2
je 0x140008333
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a569
lea rdx, str.NS_main:_non_fatal_error_removing_backup_of_callback_app_file__path:__S
lea r8, [0x14004a830]
call fcn.1400128e0
cmp byte [0x14004a408], 0
jne 0x140008cdb
cmp byte [0x14004ac49], 0
jne 0x140008cdb
lea rcx, [0x14004ac50]
call fcn.14001f034
test eax, eax
je 0x140008cdb
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a4d2
call fcn.14001a840
mov r9d, dword [rax]
lea rdx, str.NS_main:_unable_to_remove_directory:__S__err:__d
lea r8, str.tobedeleted
call fcn.1400128e0
lea rcx, [0x14004ac50]
xor edx, edx
mov r8d, 4
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [0x14004be88]
mov edx, dword [0x140048de8]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov edx, dword [rdx + 4]
test eax, eax
je 0x140008cbd
cmp ecx, edx
jg 0x14000a554
lea rbx, str.NS_main:_directory_will_be_removed_on_OS_reboot:__S
jmp 0x140008ccc
lea rcx, [rsp + 0xd30]
lea rdx, [rsp + 0x290]
call fcn.140035400
test eax, eax
je 0x1400078dd
lea rcx, [rsp + 0xd30]
call fcn.14001efdc
jmp 0x1400078dd
lea rcx, [rsp + 0xd30]
lea rdx, [rsp + 0x290]
call fcn.140035400
test eax, eax
je 0x14000791d
lea rcx, [rsp + 0xd30]
call fcn.14001efdc
jmp 0x14000791d
lea rcx, [rsp + 0xd30]
lea rdx, [rsp + 0x290]
call fcn.140035400
test eax, eax
je 0x14000795d
lea rcx, [rsp + 0xd30]
call fcn.14001efdc
jmp 0x14000795d
cmp byte [0x14004ac49], 1
jne 0x140008baf
lea rdx, [0x14004aa40]
lea rbx, [rsp + 0x290]
mov rcx, rbx
call fcn.140013258
mov rcx, rbx
mov dx, 0x5c
call fcn.14001539c
mov word [rax], 0
lea r8, str._smoz_update_in_progress.lock
lea rcx, [rsp + 0x700]
mov edx, 0x104
mov r9, rbx
call fcn.140003ff0
lea rcx, [rsp + 0x700]
call fcn.14001efdc
test eax, eax
je 0x1400084ee
call fcn.14001a840
cmp dword [rax], 2
jne 0x140008700
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x4000000
mov dword [rsp + 0x20], 4
lea rcx, [rsp + 0x700]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
lea rcx, [rsp + 0xb20]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140008955
lea rbx, [rsp + 0x80]
mov qword [rbx], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xf00ff
mov r8, rbx
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x14000891b
mov dword [rsp + 0x70], r12d
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x58], r13
mov r12, qword [rsp + 0x80]
xor ebx, ebx
lea r14, str.SeAssignPrimaryTokenPrivilege
lea r13, [rsp + 0xd30]
mov rsi, qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
xorps xmm6, xmm6
mov r15, qword [rbx + r14]
xor ecx, ecx
mov rdx, r15
mov r8, r13
call rsi
test eax, eax
je 0x140008609
mov dword [rsp + 0x290], 1
mov rax, qword [rsp + 0xd30]
mov qword [rsp + 0x294], rax
mov dword [rsp + 0x29c], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
movups xmmword [rsp + 0x20], xmm6
mov rcx, r12
xor edx, edx
lea r8, [rsp + 0x290]
mov r9d, 0x10
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x140008609
call rbp
test eax, eax
je 0x140008654
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140008686
call rbp
lea rdx, str.Could_not_disable_token_privilege_value:__s.___lu_
mov r8, r15
mov r9d, eax
call fcn.1400128e0
add rbx, 8
cmp rbx, 0x110
jne 0x1400085a1
jmp 0x140008719
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400086c3
lea rdx, str.Disabled_unneeded_token_privilege:__s.
mov r8, r15
call fcn.1400128e0
jmp 0x14000863e
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x14000862a
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x14000862a
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008675
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008675
cmp byte [0x14004ac49], 1
jne 0x140008b1a
lea rcx, str.pending
jmp 0x140008b48
mov rcx, qword [rsp + 0x80]
test rcx, rcx
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x70]
lea rsi, [0x14004aa40]
je 0x140008955
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140008955
lea r8, str.failed:__d_n
lea rbx, [rsp + 0x80]
mov edx, 0x20
mov rcx, rbx
mov r9d, 0x42
call fcn.140001000
mov rcx, rbx
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a402
lea rdx, str.NS_main:_unable_to_find_callback_file:__S
mov r8, r13
call fcn.1400128e0
call fcn.14000aa50
cmp rbp, 0xffffffffffffffff
je 0x1400087bd
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xb20]
call fcn.14001efdc
test eax, eax
mov rsi, qword [rsp + 0x58]
je 0x1400087e1
call fcn.14001a840
cmp dword [rax], 2
jne 0x140008168
mov r9b, byte [0x14004aa38]
add esi, 0xfffffffa
mov rcx, qword [rdi + 0x28]
mov edx, esi
mov r8, r14
call fcn.140007110
jmp 0x140008168
lea rcx, [rsp + 0xd30]
call fcn.1400132f0
movsxd rcx, eax
lea rax, [rsp + rcx*2]
add rax, 0x700
xor edx, edx
cmp word [rax], 0x5c
sete dl
movzx eax, word [rax + rdx*2]
add rdx, rdx
lea rcx, [rdx + rcx*2]
lea rdx, [rsp + rcx]
add rdx, 0x702
xor ecx, ecx
lea r8, [0x14004a620]
mov r9d, 0x2f
cmp ax, 0x5c
cmove eax, r9d
mov word [rcx + r8], ax
movzx eax, word [rdx + rcx]
add rcx, 2
test ax, ax
jne 0x140008846
mov word [rcx + r8], 0
mov r9, qword [r14]
lea rcx, [0x14004a830]
lea r8, str._s.moz_callback
mov edx, 0x104
call fcn.140003ff0
cmp eax, 0x104
jb 0x140008bbf
lea r8, str.failed:__d_n
lea rsi, [rsp + 0x80]
mov edx, 0x20
mov rcx, rsi
mov r9d, 3
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a513
lea rdx, str.NS_main:_callback_backup_path_truncated
call fcn.1400128e0
call fcn.14000aa50
cmp rbp, 0xffffffffffffffff
je 0x1400088fc
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xb20]
call fcn.14001efdc
test eax, eax
je 0x140008168
call fcn.14001a840
jmp 0x140008168
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a450
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Could_not_obtain_token_for_current_process__no_privileges_changed.___lu_
mov r8d, eax
call fcn.140012a00
cmp rbp, 0xffffffffffffffff
jne 0x140007d5d
lea rcx, [rsp + 0xb20]
call fcn.14001efdc
test eax, eax
je 0x14000897e
call fcn.14001a840
cmp dword [rax], 2
jne 0x140008b7e
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x4000000
mov dword [rsp + 0x20], 4
lea rcx, [rsp + 0xb20]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x140008b7e
mov r15, rax
lea edx, [r13 - 1]
lea rbx, [rsp + 0x78]
mov rcx, rbx
mov r8, qword [rsp + 0x68]
call fcn.140001090
mov rbx, qword [rbx]
test rbx, rbx
je 0x140008ea4
test r12b, r12b
je 0x140009356
lea rcx, [0x14004aa40]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x140009356
mov ebp, eax
mov r12d, eax
add r12, r12
mov rcx, r12
call fcn.14001321c
mov r14, rax
mov rcx, rax
xor edx, edx
mov r8, r12
call fcn.140015060
lea rcx, [0x14004aa40]
mov rdx, r14
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x140009170
mov qword [rsp + 0x58], r13
lea rsi, [rsp + 0x290]
mov qword [rsi], 0
lea rcx, [0x140036010]
xor edx, edx
xor r8d, r8d
mov r9, rsi
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
js 0x14000916b
mov r13, qword [rsp + 0x290]
mov rcx, r13
call fcn.1400132f0
test rax, rax
je 0x14000915d
mov qword [rsp + 0x68], rbx
cmp word [r13 + rax*2 - 2], 0x5c
jne 0x14000917d
mov rcx, r14
mov rdx, r13
mov r8, rax
call fcn.14001ebd0
test eax, eax
je 0x1400091e5
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [rsp + 0x290], 0
mov r12, rsi
mov qword [rsp + 0x30], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersion
lea r8, str.ProgramFilesDir
mov rcx, 0xffffffff80000002
mov r9d, 0x10002
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x140008b08
mov ebp, dword [rsp + 0x290]
cmp rbp, 4
jae 0x1400096d7
mov rcx, r14
call fcn.14001341c
mov r13, qword [rsp + 0x58]
jmp 0x140009351
cmp byte [0x14004a408], 1
jne 0x140008b4d
lea r8, str.failed:__d_n
lea rsi, [rsp + 0x290]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x2c
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a3c1
lea rdx, str.Update_already_in_progress__Exiting
jmp 0x140007abb
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a491
lea rdx, str.Unable_to_create_elevated_lock_file__Exiting
jmp 0x140007abb
mov r9, qword [rdi + 0x30]
lea r8, str._s.update_in_progress.lock
jmp 0x1400080cb
mov rcx, qword [r14]
lea rdx, [0x14004a830]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x140008eb2
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], rbp
mov ebp, 1
mov rsi, qword [sym.imp.KERNEL32.dll_CreateFileW]
lea r15, str.NS_main:_callback_app_file_open_attempt__d_failed._File:__S._Last_error:__lu
mov r14, qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
mov rcx, r13
mov edx, 0x40010000
mov r8d, 6
xor r9d, r9d
call rsi
cmp rax, 0xffffffffffffffff
jne 0x140008ee3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140008c83
mov dword [rsp + 0x20], ebx
mov rdx, r15
mov r8d, ebp
mov r9, r13
call fcn.1400128e0
mov ecx, 0x64
call r14
inc ebp
cmp ebp, 0xb
jne 0x140008bfe
jmp 0x140008ef5
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008c5d
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008c5d
cmp ecx, edx
jg 0x14000a5aa
lea rbx, str.NS_main:_failed_to_schedule_OS_reboot_removal_of_directory:__S
lea r8, str.tobedeleted
mov rdx, rbx
call fcn.1400128e0
call fcn.14000aa50
cmp r13d, 7
jl 0x140008d71
cmp byte [0x14004aa3a], 1
jne 0x140008d29
call fcn.140006c90
test al, al
jne 0x140008d20
mov ecx, 2
call fcn.140015808
lea rcx, str.The_post_update_process_was_not_launched
mov edx, 0x28
mov r8d, 1
mov r9, rax
call fcn.140020bb8
cmp byte [0x14004aa38], 0
je 0x140008d80
cmp rbp, 0xffffffffffffffff
je 0x140008d38
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xb20]
call fcn.14001efdc
test eax, eax
je 0x140008d53
call fcn.14001a840
cmp dword [rax], 2
jne 0x140008d71
mov r9b, byte [0x14004aa38]
add r13d, 0xfffffffa
mov rcx, qword [rdi + 0x28]
add rdi, 0x30
mov edx, r13d
mov r8, rdi
call fcn.140007110
movzx esi, byte [0x14004aa3a]
xor esi, 1
jmp 0x14000816d
xor ecx, ecx
xor edx, edx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
test rax, rax
je 0x140008d29
mov r14, rax
lea rdx, str.MozillaMaintenance
mov rcx, rax
mov r8d, 0xf01ff
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rbx, rax
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test rbx, rbx
je 0x140008d29
lea r9, [rsp + 0x6d0]
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
jne 0x140008dec
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140009133
mov qword [rsp + 0x60], rbp
lea r15, [rsp + 0x6d0]
mov r12d, dword [r15]
mov rcx, r12
call fcn.14001321c
mov r14, rax
mov rcx, rax
xor edx, edx
mov r8, r12
call fcn.140015060
mov rcx, rbx
mov rdx, r14
mov r8d, r12d
mov r9, r15
call qword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
mov ebp, eax
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test ebp, ebp
je 0x140008e92
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
lea rcx, [rsp + 0x290]
mov r8d, 0x20a
xor edx, edx
call fcn.140015060
mov rbx, qword [r14 + 0x10]
mov rcx, rbx
call fcn.1400132f0
cmp rax, 0x104
ja 0x140008e92
lea r15, [rsp + 0x290]
mov r8d, 0x105
mov rcx, r15
mov rdx, rbx
call fcn.140013424
mov rcx, r15
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x140009764
mov rcx, r14
call fcn.14001341c
mov rbp, qword [rsp + 0x60]
jmp 0x140008d29
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140007ac0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.failed:__d_n
lea rdi, [rsp + 0x80]
mov edx, 0x20
mov rcx, rdi
cmp eax, 5
jne 0x140008f72
mov r9d, 0x23
jmp 0x140008f78
mov r12, rax
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
jmp 0x1400081d6
cmp ebx, 0x20
jne 0x14000900a
cmp byte [0x14004ac4a], 0
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov ecx, dword [rcx + 4]
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
je 0x140009141
cmp eax, ecx
jg 0x14000a6f6
mov r8, qword [rsi]
lea rdx, str.NS_main:_callback_app_file_in_use__failed_to_exclusively_open_executable_file_from_background_task:__S
call fcn.1400128e0
lea r8, str.failed:__d_n
lea rbx, [rsp + 0x80]
mov edx, 0x20
mov rcx, rbx
mov r9d, 0x6a
jmp 0x140009087
mov r9d, 0x25
call fcn.140001000
mov rcx, rdi
call fcn.14000a840
mov rsi, qword [rsp + 0x58]
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a5f2
mov r8, qword [r14]
lea rdx, str.NS_main:_failed_to_copy_callback_file__S_into_place_at__S
lea r9, [0x14004a830]
call fcn.1400128e0
call fcn.14000aa50
cmp rbp, 0xffffffffffffffff
je 0x140008fd9
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xb20]
call fcn.14001efdc
test eax, eax
je 0x140008ff8
call fcn.14001a840
cmp dword [rax], 2
jne 0x140008168
mov r9b, byte [0x14004aa38]
add esi, 0xfffffffa
mov rcx, qword [r14]
jmp 0x1400087ef
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
jg 0x14000a6b5
mov r8, qword [rsi]
lea rdx, str.NS_main:_callback_app_file_in_use__failed_to_exclusively_open_executable_file:__S
call fcn.1400128e0
lea r8, str.failed:__d_n
cmp ebx, 5
jne 0x140009071
lea rbx, [rsp + 0x80]
mov edx, 0x20
mov rcx, rbx
mov r9d, 0x23
jmp 0x140009087
lea rbx, [rsp + 0x80]
mov edx, 0x20
mov rcx, rbx
mov r9d, 0x25
call fcn.140001000
mov rcx, rbx
call fcn.14000a840
lea rcx, [0x14004a830]
call fcn.14001efdc
test eax, eax
je 0x1400090e6
call fcn.14001a840
cmp dword [rax], 2
je 0x1400090e6
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a737
lea rdx, str.NS_main:_unable_to_remove_backup_of_callback_app_file__path:__S
lea r8, [0x14004a830]
call fcn.1400128e0
call fcn.14000aa50
cmp rbp, 0xffffffffffffffff
je 0x1400090fa
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0xb20]
call fcn.14001efdc
test eax, eax
je 0x140009119
call fcn.14001a840
cmp dword [rax], 2
jne 0x140008168
mov r9b, byte [0x14004aa38]
add r13d, 0xfffffffa
mov rcx, qword [rdi + 0x28]
mov edx, r13d
mov r8, rsi
jmp 0x1400087f4
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x140008d29
cmp eax, ecx
jg 0x14000a778
mov r8, qword [rsi]
lea rdx, str.NS_main:_callback_app_file_in_use__continuing_without_exclusive_access_for_executable_file:__S
call fcn.1400128e0
jmp 0x1400081d6
test r13, r13
je 0x14000916b
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov r13, qword [rsp + 0x58]
mov rcx, r14
call fcn.14001341c
jmp 0x140009356
lea rcx, [rax + 1]
mov qword [rsp + 0x60], rcx
mov rbp, rax
add rbp, 2
lea rax, [rax + rax + 4]
mov r12, 0xffffffffffffffff
cmovns r12, rax
mov rcx, r12
call fcn.14001321c
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r12
call fcn.140015060
mov rcx, rbx
mov rdx, rbp
mov r9, r13
call fcn.140012ab0
mov rcx, r14
mov rdx, rbx
mov r8, qword [rsp + 0x60]
call fcn.14001ebd0
mov ebp, eax
mov rcx, rbx
call fcn.14001341c
test ebp, ebp
jne 0x140008aae
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, r14
call fcn.14001341c
mov r13, qword [rsp + 0x58]
mov r14, qword [rdi]
lea rcx, [rsp + 0x290]
mov r8d, 0x20a
xor edx, edx
call fcn.140015060
mov rcx, r14
call fcn.1400132f0
cmp rax, 0x105
jae 0x140009351
lea rbx, [rsp + 0x290]
mov r8d, 0x104
mov rcx, rbx
mov rdx, r14
call fcn.140013424
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathStripToRootW]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
mov rbx, qword [rsp + 0x68]
jne 0x140009356
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r12, [rsp + 0x290]
mov rcx, rax
mov edx, 8
mov r8, r12
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140009b86
mov rcx, qword [rsp + 0x290]
lea rsi, [rsp + 0x80]
mov qword [rsp + 0x20], rsi
lea r14, [rsp + 0xd30]
mov edx, 0x12
mov r8, r14
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
mov ebx, eax
mov ebp, dword [r14]
mov rcx, qword [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x140009b86
cmp ebp, 3
jne 0x140009b86
mov qword [rsp + 0x20], r12
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem
mov rcx, 0xffffffff80000002
xor r8d, r8d
mov r9d, 0x20019
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140009b86
mov rcx, qword [rsp + 0x290]
mov dword [rsp + 0xd30], 4
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
lea rdx, str.ConsentPromptBehaviorAdmin
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x290]
test eax, eax
je 0x140009b24
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140009b86
mov rbx, qword [rsp + 0x68]
cmp byte [0x14004a408], 1
jne 0x1400093c4
lea r8, str.failed:__d_n
lea rsi, [rsp + 0x290]
mov edx, 0x20
mov rcx, rsi
mov r9d, 0x2b
call fcn.140001000
mov rcx, rsi
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a633
lea rdx, str.Non_critical_update_staging_error__Falling_back_to_non_staged_updates_and_exiting
call fcn.1400128e0
call fcn.14000aa50
jmp 0x14000966e
mov r12, rbx
cmp byte [0x14004ac4a], 0
je 0x14000945a
lea r8, str.failed:__d_n
lea rbx, [rsp + 0x290]
mov edx, 0x20
mov rcx, rbx
mov r9d, 0x69
call fcn.140001000
mov rcx, rbx
call fcn.14000a840
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a674
lea rdx, str.Skipping_update_to_avoid_UAC_prompt_from_background_task.
call fcn.1400128e0
call fcn.14000aa50
mov r9b, byte [0x14004aa38]
add r13d, 0xfffffffa
mov rcx, qword [rdi + 0x28]
add rdi, 0x30
mov edx, r13d
mov r8, rdi
call fcn.140007110
mov rbx, r12
jmp 0x14000966e
xorps xmm6, xmm6
movaps xmmword [rsp + 0x6e0], xmm6
movaps xmmword [rsp + 0x6d0], xmm6
mov qword [rsp + 0x6ed], 0
xor esi, esi
lea rbx, [rsp + 0xd30]
mov r8d, 0x20a
mov rcx, rbx
xor edx, edx
call fcn.140015060
mov rcx, rbx
call fcn.140012e40
test eax, eax
je 0x1400094d0
lea rbx, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, rbx
xor edx, edx
call fcn.140015060
lea rcx, [0x1400403ea]
mov rdx, rbx
call fcn.140012f40
test eax, eax
jne 0x140009910
xor esi, esi
lea r8, str.failed:__d_n
lea rbx, [rsp + 0x290]
mov edx, 0x20
mov rcx, rbx
mov r9d, 0x4f
call fcn.140001000
mov rcx, rbx
call fcn.14000a840
xor eax, eax
lea rcx, [rsp + 0x80]
mov qword [rcx + 0x68], rax
movups xmmword [rcx + 0x58], xmm6
movups xmmword [rcx + 0x48], xmm6
movups xmmword [rcx + 0x38], xmm6
movups xmmword [rcx + 0x28], xmm6
movabs rdx, 0x54000000070
mov qword [rcx], rdx
mov qword [rcx + 8], rax
mov rax, qword [rdi]
mov qword [rcx + 0x18], rax
mov rbx, r12
mov qword [rcx + 0x20], r12
lea rax, str.runas
mov qword [rcx + 0x10], rax
mov dword [rcx + 0x30], 1
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x1400095ff
mov rcx, qword [rsp + 0xe8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [0x14004aa39], 1
xorps xmm0, xmm0
movaps xmmword [rsp + 0x6b0], xmm0
movaps xmmword [rsp + 0x6a0], xmm0
mov qword [rsp + 0x6bd], 0
test sil, sil
je 0x140009633
lea rbx, [rsp + 0xd30]
mov r8d, 0x20a
mov rcx, rbx
xor edx, edx
call fcn.140015060
mov rcx, rbx
call fcn.140012e40
test eax, eax
je 0x1400095fa
lea rbx, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, rbx
xor edx, edx
call fcn.140015060
lea rcx, [0x1400403ea]
mov rdx, rbx
call fcn.140012f40
test eax, eax
jne 0x1400099cb
mov rbx, r12
jmp 0x140009633
mov byte [0x14004aa39], 0
lea r8, str.failed:__d_n
lea rbx, [rsp + 0x290]
mov edx, 0x20
mov rcx, rbx
mov r9d, 9
call fcn.140001000
mov rcx, rbx
mov rbx, r12
call fcn.14000a840
cmp byte [0x14004a408], 0
je 0x14000967d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.14000aa50
cmp r13d, 7
jl 0x14000966e
mov r9b, byte [0x14004aa38]
add r13d, 0xfffffffa
mov rcx, qword [rdi + 0x28]
add rdi, 0x30
mov edx, r13d
mov r8, rdi
call fcn.140007110
mov rcx, rbx
call fcn.14001341c
xor esi, esi
jmp 0x14000816d
lea rdx, [rsp + 0x290]
mov byte [rdx], 0
lea rcx, str.succeeded
xor r8d, r8d
call fcn.14000acc0
test al, al
je 0x14000963c
cmp byte [rsp + 0x290], 0
je 0x14000963c
call fcn.140006c90
test al, al
jne 0x14000963c
mov ecx, 2
call fcn.140015808
lea rcx, str.The_post_update_process_which_runs_as_the_user_for_service_update_could_not_be_launched.
mov edx, 0x58
mov r8d, 1
mov r9, rax
call fcn.140020bb8
jmp 0x14000963c
mov ebx, ebp
and ebx, 0xfffffffe
mov rcx, rbx
call fcn.14001321c
mov r13, rax
xor esi, esi
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.140015060
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], 0
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersion
lea r8, str.ProgramFilesDir
mov rcx, 0xffffffff80000002
mov r9d, 0x10002
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov bl, 1
test eax, eax
je 0x140009987
mov rcx, r13
call fcn.14001341c
mov rcx, r14
call fcn.14001341c
test bl, bl
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
je 0x140009356
test sil, sil
jne 0x1400091fb
jmp 0x140009356
lea rdx, str.maintenanceservice_tmp.exe
lea rcx, [rsp + 0x290]
call fcn.140035400
test eax, eax
je 0x140008e92
lea rcx, [0x14004aa40]
call fcn.1400132f0
cmp rax, 0x104
ja 0x140008e92
lea r15, [rsp + 0xd30]
mov r8d, 0x20a
mov rcx, r15
xor edx, edx
call fcn.140015060
lea rbx, [0x14004aa40]
mov r8d, 0x104
mov rcx, r15
mov rdx, rbx
call fcn.140013424
lea rdx, str.maintenanceservice.exe
mov rcx, r15
call fcn.140035400
lea rdx, [rsp + 0x290]
mov rcx, r15
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x140008e92
lea rcx, [rsp + 0x290]
call fcn.140011740
test eax, eax
je 0x14000a13b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x700], xmm0
movaps xmmword [rsp + 0x710], xmm0
movaps xmmword [rsp + 0x750], xmm0
movaps xmmword [rsp + 0x740], xmm0
movaps xmmword [rsp + 0x730], xmm0
movaps xmmword [rsp + 0x720], xmm0
xor ebp, ebp
mov qword [rsp + 0x760], rbp
mov dword [rsp + 0x700], 0x68
lea rax, [0x1400405ea]
mov qword [rsp + 0x710], rax
lea r12, [rsp + 0x80]
mov qword [r12 + 0x10], rbp
movaps xmmword [r12], xmm0
lea r15, [rsp + 0x910]
movaps xmmword [r15 + 0x70], xmm0
movaps xmmword [r15 + 0x60], xmm0
movaps xmmword [r15 + 0x50], xmm0
movaps xmmword [r15 + 0x40], xmm0
movaps xmmword [r15 + 0x30], xmm0
movaps xmmword [r15 + 0x20], xmm0
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15], xmm0
lea rdx, str.dummyparam.exe_upgrade
mov r8d, 0x3f
mov rcx, r15
call fcn.140013424
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebp
lea rcx, [rsp + 0x290]
mov rdx, r15
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140008e92
mov rcx, qword [rsp + 0x80]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rsi
mov rcx, qword [rsp + 0x88]
call rsi
jmp 0x140008e92
lea rcx, [rsp + 0xd30]
lea rdx, [rsp + 0x290]
call fcn.140035400
test eax, eax
je 0x1400094ce
lea rdx, [0x140040444]
lea rcx, [rsp + 0xd30]
call fcn.14001edb4
test rax, rax
je 0x1400094ce
mov r14, rax
lea rcx, [rsp + 0x6d0]
mov edx, 0x24
mov r8d, 1
mov r9, rax
call fcn.140020924
cmp rax, 1
sete sil
jne 0x14000997a
mov byte [rsp + 0x6f4], 0
mov rcx, r14
call fcn.140020234
jmp 0x1400094d0
shr rbp, 1
mov rcx, r13
mov rdx, rbp
call fcn.140021fb4
test rax, rax
je 0x140009aa2
cmp word [r13 + rax*2 - 2], 0x5c
jne 0x140009aa9
mov rcx, r14
mov rdx, r13
mov r8, rax
call fcn.14001ebd0
test eax, eax
jne 0x140009b0a
mov bl, 1
mov sil, 1
jmp 0x140009734
lea rcx, [rsp + 0xd30]
lea rdx, [rsp + 0x290]
call fcn.140035400
test eax, eax
je 0x1400095fa
lea rdx, [0x140040444]
lea rcx, [rsp + 0xd30]
call fcn.14001edb4
test rax, rax
je 0x1400095fa
mov r14, rax
mov rsi, r13
lea rcx, [rsp + 0x6a0]
mov edx, 0x24
mov r8d, 1
mov r9, rax
call fcn.140020924
cmp rax, 1
jne 0x140009b14
lea rbx, [rsp + 0x6a0]
mov byte [rbx + 0x24], 0
mov rcx, r14
call fcn.140020234
lea rcx, [rsp + 0x6d0]
mov r8d, 0x25
mov rdx, rbx
call fcn.140021840
test eax, eax
mov r13, rsi
mov rbx, r12
jne 0x140009633
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a7b9
lea rdx, str.The_secure_ID_hasnt_changed_after_launching_the_updater_using_runas
call fcn.1400128e0
mov byte [0x14004aa39], 0
jmp 0x140009b1c
xor esi, esi
jmp 0x140009734
lea rsi, [rax + 1]
mov r12, rax
add r12, 2
lea rax, [rax + rax + 4]
mov rbp, 0xffffffffffffffff
cmovns rbp, rax
mov rcx, rbp
call fcn.14001321c
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, rbp
call fcn.140015060
mov rcx, rbx
mov rdx, r12
mov r9, r13
call fcn.140012ab0
mov rcx, r14
mov rdx, rbx
mov r8, rsi
call fcn.14001ebd0
mov ebp, eax
mov rcx, rbx
call fcn.14001341c
test ebp, ebp
je 0x1400099c1
mov sil, 1
xor ebx, ebx
jmp 0x140009734
mov rcx, r14
call fcn.140020234
mov r13, rsi
jmp 0x1400095fa
mov dword [rsp + 0xd30], 4
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x6d0]
mov qword [rsp + 0x20], rax
lea rdx, str.PromptOnSecureDesktop
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, eax
mov rcx, qword [rsp + 0x290]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x140009b86
mov eax, dword [rsp + 0x80]
or eax, dword [rsp + 0x6d0]
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
je 0x140009356
lea rcx, [rsp + 0x290]
call fcn.140001270
test eax, eax
je 0x140008b10
lea rax, [rsp + 0xd30]
mov qword [rax], 0
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x290]
mov rcx, 0xffffffff80000002
xor r8d, r8d
mov r9d, 0x20119
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140009bdf
mov rcx, qword [rsp + 0xd30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x9d], 0
mov dword [rsp + 0x60], 0
lea rsi, [rsp + 0xd30]
mov r8d, 0x20a
mov rcx, rsi
xor edx, edx
call fcn.140015060
mov rcx, rsi
call fcn.140012e40
test eax, eax
je 0x140009c61
lea rbx, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, rbx
xor edx, edx
call fcn.140015060
lea rcx, [0x1400403ea]
mov rdx, rbx
call fcn.140012f40
test eax, eax
jne 0x140009f7c
mov dword [rsp + 0x60], 0
lea r8, str.failed:__d_n
lea rbx, [rsp + 0x290]
mov edx, 0x20
mov rcx, rbx
mov r9d, 0x3a
call fcn.140001000
mov rcx, rbx
call fcn.14000a840
mov rsi, qword [rsp + 0x58]
lea r13d, [rsi + 2]
lea rax, [r13*8]
cmp esi, 0xfffffffe
mov rcx, 0xffffffffffffffff
cmovge rcx, rax
call fcn.14001321c
mov r12, rax
lea rax, str.MozillaMaintenance
mov qword [r12], rax
lea rax, str.software_update
mov qword [r12 + 8], rax
test esi, esi
jle 0x140009ce3
lea rcx, [r12 + 0x10]
mov r8d, dword [rsp + 0x58]
shl r8, 3
mov rdx, rdi
call fcn.140025f40
mov ecx, 5
call fcn.140013010
cmp eax, 1
jne 0x140009d67
xor ecx, ecx
xor edx, edx
mov r8d, 5
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140009d7c
lea rdx, str.MozillaMaintenance
mov rcx, qword [rsp + 0x70]
mov r8d, 0x10
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
test rax, rax
je 0x140009d71
mov r14, rax
mov esi, 0xffffff9c
mov rbx, qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, r14
mov edx, r13d
mov r8, r12
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x140009d84
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov ecx, 0x64
call rbx
add esi, 0x64
cmp esi, 0x1324
jb 0x140009d38
jmp 0x140009d86
mov ebp, eax
add ebp, 0x4e20
jmp 0x140009d99
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r12
jmp 0x140008b0b
xor ebp, ebp
mov rsi, qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r14
call rsi
mov rcx, qword [rsp + 0x70]
call rsi
mov rcx, r12
call fcn.14001341c
test ebp, ebp
jne 0x140008b10
xor esi, esi
cmp byte [0x14004a408], 0
jne 0x140009dc8
cmp byte [0x14004ac4a], 0
jne 0x140009dc8
call fcn.140002d90
test eax, eax
sete sil
mov ecx, 5
call fcn.140013010
cmp eax, 1
je 0x140009e5d
lea rax, [0x14000ac80]
lea rbx, [rsp + 0x290]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 0
lea rax, [rsp + 0xd30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
lea r8, [0x14000aca0]
xor ecx, ecx
xor edx, edx
mov r9, rbx
call fcn.140019a34
mov qword [rbx], rax
test rax, rax
sete cl
xor sil, 1
or sil, cl
jne 0x140009e41
mov cl, 1
xor edx, edx
call fcn.140002ed0
mov rax, qword [rsp + 0x290]
mov rcx, rax
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 1
call fcn.140013010
cmp eax, 1
jne 0x140008b10
mov byte [0x14004aa39], 1
xorps xmm0, xmm0
movaps xmmword [rsp + 0x6e0], xmm0
movaps xmmword [rsp + 0x6d0], xmm0
mov qword [rsp + 0x6ed], 0
cmp byte [rsp + 0x60], 0
je 0x140009ef9
lea rbx, [rsp + 0xd30]
mov r8d, 0x20a
mov rcx, rbx
xor edx, edx
call fcn.140015060
mov rcx, rbx
call fcn.140012e40
test eax, eax
je 0x140009ef0
lea rbx, [rsp + 0x290]
mov r8d, 0x20a
mov rcx, rbx
xor edx, edx
call fcn.140015060
lea rcx, [0x1400403ea]
mov rdx, rbx
call fcn.140012f40
test eax, eax
jne 0x14000a26e
cmp byte [0x14004aa39], 1
jne 0x140009f02
cmp byte [0x14004a408], 0
je 0x140009f11
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x140009633
xor eax, eax
lea r8, [rsp + 0x290]
mov byte [r8], al
mov byte [r8 + 4], al
lea rcx, [0x14003df1b]
lea rdx, [rsp + 0xd30]
call fcn.14000acc0
test al, al
je 0x140009f02
cmp byte [rsp + 0xd30], 0
je 0x140009f02
cmp byte [rsp + 0x294], 0
je 0x140009f02
mov eax, dword [rsp + 0x290]
lea ecx, [rax - 0x18]
cmp ecx, 0xa
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jb 0x140009356
add eax, 0xffffffcf
cmp eax, 9
ja 0x140009633
jmp 0x140009356
lea rcx, [rsp + 0xd30]
lea rdx, [rsp + 0x290]
call fcn.140035400
test eax, eax
je 0x140009c59
lea rdx, [0x140040444]
lea rcx, [rsp + 0xd30]
call fcn.14001edb4
test rax, rax
je 0x140009c59
mov r14, rax
lea rcx, [rsp + 0x80]
mov edx, 0x24
mov r8d, 1
mov r9, rax
call fcn.140020924
cmp rax, 1
sete al
mov dword [rsp + 0x60], eax
jne 0x140009fe9
mov byte [rsp + 0xa4], 0
mov rcx, r14
call fcn.140020234
jmp 0x140009c61
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x1400079f5
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x1400079f5
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140007ab4
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007ab4
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140007b2c
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007b2c
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140007b64
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007b64
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140007b9c
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007b9c
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x140008e92
lea rcx, [0x14004be88]
call fcn.1400135f0
lea r15, str.Performing_a_staged_update
jmp 0x14000a176
lea rcx, [0x14004be88]
call fcn.1400135f0
lea r15, str.Performing_a_replace_request
cmp dword [0x14004be88], 0xffffffff
jne 0x140007aff
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007aff
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140007c89
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007c89
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140007f3f
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007f3f
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140007fa8
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007fa8
lea rcx, [rsp + 0xd30]
lea rdx, [rsp + 0x290]
call fcn.140035400
test eax, eax
je 0x140009ef0
lea rdx, [0x140040444]
lea rcx, [rsp + 0xd30]
call fcn.14001edb4
test rax, rax
je 0x140009ef0
mov r14, rax
lea rcx, [rsp + 0x6d0]
mov edx, 0x24
mov r8d, 1
mov r9, rax
call fcn.140020924
cmp rax, 1
jne 0x14000a443
lea rbx, [rsp + 0x6d0]
mov byte [rbx + 0x24], 0
mov rcx, r14
call fcn.140020234
lea rcx, [rsp + 0x80]
mov r8d, 0x25
mov rdx, rbx
call fcn.140021840
test eax, eax
jne 0x140009ef0
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000a7fa
lea rdx, str.The_secure_ID_hasnt_changed_after_launching_the_updater_using_the_service
call fcn.1400128e0
mov byte [0x14004aa39], 0
jmp 0x140009f02
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008047
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008047
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140007cf4
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140007cf4
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008b72
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008b72
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x14000879a
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x14000879a
mov rcx, r14
call fcn.140020234
jmp 0x140009ef0
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008940
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008940
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008ba3
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008ba3
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008386
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008386
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x1400088dc
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x1400088dc
lea rcx, [0x14004be88]
call fcn.1400135f0
lea rbx, str.NS_main:_directory_will_be_removed_on_OS_reboot:__S
jmp 0x14000a5bd
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008320
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008320
lea rcx, [0x14004be88]
call fcn.1400135f0
lea rbx, str.NS_main:_failed_to_schedule_OS_reboot_removal_of_directory:__S
cmp dword [0x14004be88], 0xffffffff
jne 0x140008ccc
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008ccc
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008faf
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008faf
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x1400093ae
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x1400093ae
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140009423
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140009423
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x14000903e
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x14000903e
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140008f41
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140008f41
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x1400090d3
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x1400090d3
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140009149
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140009149
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140009a8d
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140009a8d
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x14000a327
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x14000a327