Function at 0x4057a0
Capabilities:
Check if file exists
Copy file
Create directory
Create process on windows
Create thread
Delete file
Get common file path
Get file attributes
Move file
Read file on windows
Set registry value
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe90
mov eax, dword [0x43d00c]
mov ebx, dword [ebp + 8]
xor eax, ebp
mov dword [esp + 0xe88], eax
push 0x436dd8
call fcn.0041f8df
add esp, 4
test eax, eax
je 0x4057d9
cmp byte [eax], 0
setne al
jmp 0x4057db
xor eax, eax
mov byte [0x43f478], al
push str.MOZ_USING_SERVICE
call fcn.0041ccbc
add esp, 4
cmp ebx, 3
jg 0x405818
push 2
call fcn.00415c8f
add esp, 4
push eax
push 1
push 0x6a
push str.Usage:_updater_patch_dir_install_dir_apply_to_dir__wait_pid__callback_working_dir_callback_path_args...___n
call fcn.0041f65e
add esp, 0x10
mov edi, 1
jmp 0x4076f7
mov edi, dword [ebp + 0xc]
push dword [edi + 4]
call fcn.00410bd0
add esp, 4
mov esi, dword [edi + 4]
test al, al
je 0x40606b
push 0x104
push esi
push 0x43ec50
call fcn.00420489
add esp, 0xc
mov word [0x43ee56], 0
lea esi, [esp + 0xc80]
push 0x208
push 0
push esi
call fcn.00415350
add esp, 0xc
push 0x43ec50
push str._supdate_elevated.lock
push 0x104
push esi
call fcn.00403ef0
add esp, 0x10
cmp byte [0x43f478], 0
mov al, 1
jne 0x4058aa
lea eax, [esp + 0xc80]
push eax
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x4058a8
call fcn.0041a26c
cmp dword [eax], 2
setne al
jmp 0x4058aa
xor eax, eax
mov byte [0x43f684], al
push dword [edi + 8]
call fcn.00410bd0
add esp, 4
test al, al
je 0x406080
push 0x104
push dword [edi + 8]
push 0x43f47c
call fcn.00420489
add esp, 0xc
mov word [0x43f682], 0
push 0x5c
push 0x43f47c
call fcn.004157de
add esp, 8
test eax, eax
je 0x4058ff
cmp word [eax + 2], 0
jne 0x4058ff
mov word [eax], 0
lea esi, [esp + 0x220]
push 0x43ec50
push str._s_update.status
push 0x104
push esi
call fcn.00403ef0
add esp, 0x10
push 0x438464
push esi
call fcn.0041db22
add esp, 8
test eax, eax
je 0x405985
xorps xmm0, xmm0
mov edi, eax
lea esi, [esp + 0xa70]
movaps xmmword [esp + 0xa80], xmm0
movaps xmmword [esp + 0xa70], xmm0
push eax
push 1
push 0x20
push esi
call fcn.0041f44b
add esp, 0x10
push 0xf
push 0x4352b8
push esi
call fcn.004143a7
add esp, 0xc
test eax, eax
je 0x40598f
push 0xf
push str.applied_service
push esi
call fcn.004143a7
add esp, 0xc
test eax, eax
sete al
jmp 0x405991
mov dword [esp + 8], 0
jmp 0x40599e
mov al, 1
mov dword [esp + 8], eax
push edi
call fcn.0041ee50
add esp, 4
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [esp + 0x220], 0
push 0
lea eax, [esp + 0x224]
mov edi, eax
push eax
push 0
push 2
push 0
push 0
push 0
push str.SoftwareClassesApplications
push 0x80000001
call esi
push dword [esp + 0x220]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
push edi
push 0
push 2
push 1
push 0
push 0
push str.SoftwareClassesApplicationsupdater.exe
push 0x80000001
call esi
mov edi, dword [ebp + 0xc]
test eax, eax
jne 0x405a53
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 0
push 0
push 0
push 0
push str.IsHostApp
push dword [esp + 0x234]
call esi
push 0
push 0
push 0
push 0
push str.NoOpenWith
push dword [esp + 0x234]
call esi
push 0
push 0
push 0
push 0
push str.NoStartPage
push dword [esp + 0x234]
call esi
push dword [esp + 0x220]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor esi, esi
cmp ebx, 5
mov dword [esp], 0
jl 0x405aaa
push dword [edi + 0x10]
call fcn.0041dd6f
add esp, 4
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x405a97
mov esi, eax
mov dword [esp], edx
push str._replace
push dword [edi + 0x10]
call fcn.00415880
add esp, 8
test eax, eax
je 0x405aaa
mov byte [0x43f685], 1
jmp 0x405aaa
mov byte [0x43ee58], 1
mov esi, 0xffffffff
mov dword [esp], 0xffffffff
mov dword [esp + 4], esi
push dword [edi + 0xc]
call fcn.00410bd0
add esp, 4
test al, al
je 0x406218
push 0x104
push dword [edi + 0xc]
push 0x43ee60
call fcn.00420489
add esp, 0xc
mov word [0x43f066], 0
push 0x5c
push 0x43ee60
call fcn.004157de
add esp, 8
test eax, eax
je 0x405af9
cmp word [eax + 2], 0
je 0x405b5f
cmp ebx, 7
jl 0x405b69
push dword [edi + 0x18]
call fcn.00410bd0
add esp, 4
test al, al
je 0x40639e
push 0x43f47c
call fcn.00420010
add esp, 4
mov esi, eax
lea ebx, [esp + 0x220]
push 0x208
push 0
push ebx
call fcn.00415350
add esp, 0xc
push esi
push dword [edi + 0x18]
push ebx
call fcn.00420489
add esp, 0xc
push ebx
push 0x43f47c
call fcn.0041ffae
add esp, 8
test eax, eax
jne 0x40662a
mov ebx, dword [ebp + 8]
jmp 0x405b69
mov word [eax], 0
cmp ebx, 7
jge 0x405afe
lea esi, [esp + 0xa70]
push 0x20a
push 0
push esi
call fcn.00415350
add esp, 0xc
cmp byte [0x43f684], 0
je 0x405bab
push 0x43ec50
call fcn.004111d0
add esp, 4
push esi
push 0x4381c0
push 0x43ec50
call fcn.00411050
add esp, 0xc
jmp 0x405bc3
push 0x43ec50
push str._supdate.log
push 0x105
push esi
call fcn.00403ef0
add esp, 0x10
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
lea edi, [esp + 0x220]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40727b
mov ecx, 0x43f890
push esi
call fcn.00410aa0
mov ecx, str.applying
call fcn.00407ac0
test al, al
je 0x405c26
cmp byte [0x43ee58], 1
jne 0x405c68
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov esi, str.Performing_a_staged_update
jmp 0x405c88
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4073d7
push str.failed_setting_status_to_applying
push 0x43f890
call fcn.00410af0
add esp, 8
call fcn.00407ba0
mov edi, 1
jmp 0x4076f7
cmp byte [0x43f685], 1
jne 0x405ca5
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov esi, str.Performing_a_replace_request
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4074e3
push esi
push 0x43f890
call fcn.00410af0
add esp, 8
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40741a
push 0x43ec50
push str.PATCH_DIRECTORY__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov esi, dword [esp]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40745d
push 0x43f47c
push str.INSTALLATION_DIRECTORY__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4074a0
push 0x43ee60
push str.WORKING_DIRECTORY__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
push 0x104
push 0x43f47c
push 0x43ee60
call fcn.0041d974
add esp, 0xc
test eax, eax
je 0x405dc3
cmp byte [0x43ee58], 0
jne 0x405d81
cmp byte [0x43f685], 0
je 0x406800
push 0x43ee60
push 0x437cac
push 0x104
push edi
call fcn.00403ef0
add esp, 0x10
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x40674e
push 0x104
push 0x43f47c
push edi
call fcn.0041d974
add esp, 0xc
test eax, eax
jne 0x4067b1
mov eax, dword [esp + 4]
cmp eax, 1
sbb esi, 0
jl 0x405e2f
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x405e2f
mov edi, eax
push 0x7530
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x405e2f
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407529
push str.The_parent_process_didnt_exit__Continuing_with_update.
push 0x43f890
call fcn.00410af0
add esp, 8
cmp byte [0x43f685], 0
mov edi, dword [ebp + 0xc]
jne 0x405e44
cmp byte [0x43ee58], 1
jne 0x405e74
lea esi, [esp + 0x220]
push 0x20a
push 0
push esi
call fcn.00415350
add esp, 0xc
push 0x105
push esi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x405e74
push esi
call fcn.0041d384
add esp, 4
cmp byte [0x43f478], 0
mov esi, 0xffffffff
je 0x40601e
cmp byte [0x43ee58], 1
jne 0x405e9b
mov ecx, 0x43ee60
xor edx, edx
call fcn.00407d40
cmp byte [0x43f685], 0
jne 0x405ec3
push 0x43ee60
call fcn.0041dc2c
add esp, 4
test eax, eax
je 0x405ec3
call fcn.0041a26c
cmp dword [eax], 0x11
jne 0x405c59
lea eax, [esp + 0x868]
push 0x104
push eax
push 0x43ee60
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x4066af
mov eax, 0xffffffff
cmp ebx, 7
mov dword [esp], esi
jl 0x406430
lea eax, [esp + 0x630]
push 0x208
push 0
push eax
call fcn.00415350
add esp, 0xc
mov ebx, dword [edi + 0x18]
lea eax, [edi + 0x18]
mov dword [esp + 4], eax
push 0x410
push 0
lea eax, [esp + 0x228]
push eax
call fcn.00415350
add esp, 0xc
cmp byte [0x43f685], 1
jne 0x405fe8
push 0
push 0x43f47c
push ebx
call dword [sym.imp.SHLWAPI.dll_PathCommonPrefixW]
mov edi, eax
push eax
mov eax, dword [esp + 8]
push dword [eax]
lea eax, [esp + 0x228]
push eax
call fcn.00420489
add esp, 0xc
mov ebx, 0x208
lea eax, [esp + edi*2 + 0x220]
lea esi, [edi + edi + 0x43f47c]
sub ebx, edi
mov dword [esp + 8], eax
push ebx
push esi
push eax
call fcn.00420489
add esp, 0xc
push esi
call fcn.00420010
add esp, 4
mov esi, eax
mov eax, dword [esp + 8]
mov dword [eax + esi*2], 0x5c
lea eax, [eax + esi*2 + 2]
not esi
add esi, ebx
lea ebx, [esp + 0x10]
mov dword [esp + 8], eax
push 0x43f47c
push ebx
call fcn.0041ffee
add esp, 8
push 0
push ebx
mov ebx, dword [esp + 0xc]
push dword [ebx]
call dword [sym.imp.SHLWAPI.dll_PathCommonPrefixW]
cmp eax, edi
cmovb eax, edi
mov edi, dword [ebp + 0xc]
add eax, eax
add eax, dword [ebx]
push esi
push eax
push dword [esp + 0x10]
call fcn.00420489
add esp, 0xc
lea ebx, [esp + 0x220]
push 0x104
lea eax, [esp + 0x634]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x406848
cmp byte [0x43f685], 0
mov eax, 0xffffffff
je 0x4060bc
mov ebx, dword [ebp + 8]
jmp 0x406430
mov al, byte [0x43ee58]
cmp ebx, 6
jle 0x40604d
test al, 1
jne 0x406055
cmp byte [0x43f685], 1
je 0x406266
lea eax, [esp + 0x868]
push dword [edi + 0x18]
push str._s.update_in_progress.lock
jmp 0x406298
test al, 1
je 0x406254
lea eax, [esp + 0x868]
push 0x43f47c
push str._s_updated.update_in_progress.lock
jmp 0x406298
push 2
call fcn.00415c8f
add esp, 4
push esi
push str.The_patch_directory_path_is_not_valid_for_this_application___S__n
jmp 0x406664
sub esp, 0x10
lea esi, [esp + 0x230]
mov dword [esp + 0xc], 0x4b
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov esi, dword [edi + 8]
push 2
call fcn.00415c8f
add esp, 4
push esi
push str.The_install_directory_path_is_not_valid_for_this_application___S__n
jmp 0x406664
lea eax, [esp + 0x868]
push eax
call fcn.00420010
add esp, 4
cmp word [esp + eax*2 + 0x630], 0x5c
lea ecx, [esp + eax*2 + 0x630]
lea eax, [esp + eax*2 + 0x632]
mov esi, 0x2f
cmovne eax, ecx
mov ecx, 2
movzx edx, word [eax]
nop word cs:[eax + eax]
nop dword [eax]
cmp dx, 0x5c
cmove edx, esi
mov word [ecx + 0x43f066], dx
movzx edx, word [eax + ecx]
add ecx, 2
test dx, dx
jne 0x406100
mov esi, dword [esp + 4]
mov word [ecx + 0x43f066], 0
push dword [esi]
push str._s.moz_callback
push 0x104
push 0x43f270
call fcn.00403ef0
add esp, 0x10
cmp eax, 0x104
jae 0x40691b
push 0
push 0x43f270
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x4069a5
mov esi, 1
nop word [eax + eax]
push 0
push 0
push 3
push 0
push 6
push 0x40010000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
jne 0x4063da
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov edi, eax
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4061dc
push edi
push ebx
push esi
push str.NS_main:_callback_app_file_open_attempt__d_failed._File:__S._Last_error:__d
push 0x43f890
call fcn.00410af0
add esp, 0x14
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0xb
jne 0x406170
jmp 0x4063e2
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x4061b4
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x4061b4
sub esp, 0x10
lea esi, [esp + 0x230]
mov dword [esp + 0xc], 0x4c
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov esi, dword [edi + 0xc]
push 2
call fcn.00415c8f
add esp, 4
push esi
push str.The_working_directory_path_is_not_valid_for_this_application___S__n
jmp 0x406664
cmp byte [0x43f685], 1
mov esi, 0xffffffff
jne 0x405ea4
lea esi, [esp + 0x220]
push 0x43f47c
push esi
call fcn.0041ffee
add esp, 8
push 0x5c
push esi
call fcn.004157de
add esp, 8
mov word [eax], 0
lea eax, [esp + 0x868]
push esi
push str._smoz_update_in_progress.lock
push 0x104
push eax
call fcn.00403ef0
add esp, 0x10
lea esi, [esp + 0x868]
push esi
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x4062c8
call fcn.0041a26c
cmp dword [eax], 2
jne 0x406382
push 0
push 0x4000000
push 4
push 0
push 0
push 0xc0000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
lea eax, [esp + 0xc80]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x406307
push 0x22
push 0x43d9bc
push 0
call fcn.004107f0
add esp, 0xc
cmp esi, 0xffffffff
jne 0x405e86
lea eax, [esp + 0xc80]
push eax
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x40632e
call fcn.0041a26c
cmp dword [eax], 2
jne 0x406357
push 0
push 0x4000000
push 4
push 0
push 0
push 0xc0000000
lea eax, [esp + 0xc98]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
jne 0x406aa1
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40770f
push str.Unable_to_create_elevated_lock_file__Exiting
jmp 0x405c4c
cmp byte [0x43f685], 1
jne 0x406677
mov ecx, str.pending
call fcn.00407ac0
jmp 0x406684
sub esp, 0x10
lea esi, [esp + 0x230]
mov dword [esp + 0xc], 0x4d
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov esi, dword [edi + 0x18]
push 2
call fcn.00415c8f
add esp, 4
push esi
push str.The_callback_file_path_is_not_valid_for_this_application___S__n
jmp 0x406664
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
jmp 0x406430
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407752
mov eax, dword [esp + 4]
mov ebx, dword [ebp + 8]
cmp edi, 0x20
mov eax, dword [eax]
jne 0x406a75
push eax
push str.NS_main:_callback_app_file_in_use__continuing_without_exclusive_access_for_executable_file:__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov eax, 0xffffffff
cmp byte [0x43ee58], 0
mov esi, edi
mov edi, eax
jne 0x406487
cmp byte [0x43f685], 0
jne 0x406487
push str.tobedeleted
push 0x43ee60
push str._s__s
push 0x104
push 0x43f686
call fcn.00403ef0
add esp, 0x14
push 0
push 0x43f686
call fcn.0041d2ac
add esp, 8
test eax, eax
je 0x406487
push 0x43f686
call fcn.0041dc2c
add esp, 4
lea eax, [esp + 0x630]
mov dword [esp + 0x224], 0x408030
mov dword [esp + 0x228], 0
push eax
push 0
lea eax, [esp + 0x228]
push eax
push 0x40a410
push 0
push 0
call fcn.00419477
add esp, 0x18
test eax, eax
mov dword [esp + 0x220], eax
je 0x4064f0
cmp byte [0x43ee58], 0
jne 0x4064f0
cmp byte [0x43f685], 0
jne 0x4064f0
push 1
push 0
call fcn.004019f0
add esp, 8
mov eax, dword [esp + 0x220]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esp + 0x220]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp ebx, 7
jl 0x406573
cmp byte [0x43f685], 0
jne 0x406573
cmp edi, 0xffffffff
je 0x406520
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x43f270
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x406573
call fcn.0041a26c
cmp dword [eax], 2
je 0x406573
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407795
push 0x43f270
push str.NS_main:_non_fatal_error_removing_backup_of_callback_app_file__path:__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
cmp byte [0x43ee58], 0
jne 0x407652
cmp byte [0x43f685], 0
jne 0x407652
push 0x43f686
call fcn.0041dd47
add esp, 4
test eax, eax
je 0x407652
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4075af
call fcn.0041a26c
push dword [eax]
push str.tobedeleted
push str.NS_main:_unable_to_remove_directory:__S__err:__d
push 0x43f890
call fcn.00410af0
add esp, 0x10
push 4
push 0
push 0x43f686
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov edi, eax
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4075f2
test edi, edi
je 0x407638
push str.tobedeleted
push str.NS_main:_directory_will_be_removed_on_OS_reboot:__S
jmp 0x407642
sub esp, 0x10
lea esi, [esp + 0xa80]
mov dword [esp + 0xc], 0x4e
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x18]
push 2
call fcn.00415c8f
add esp, 4
push esi
push str.The_callback_file_must_be_located_in_the_installation_directory___S__n
push eax
call fcn.00405600
add esp, 0xc
mov edi, 1
jmp 0x4076f7
cmp byte [0x43ee58], 1
je 0x406ae3
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40756c
push str.Update_already_in_progress__Exiting
jmp 0x405c4c
mov edi, esi
sub esp, 0x10
lea esi, [esp + 0x230]
mov dword [esp + 0xc], 0x41
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4077d8
push 0x43ee60
push str.NS_main:_unable_to_find_apply_to_dir:__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
call fcn.00407ba0
cmp edi, 0xffffffff
je 0x40671e
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0xc80]
push eax
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x4068ef
call fcn.0041a26c
cmp dword [eax], 2
mov edi, 1
je 0x4068f4
jmp 0x4076f7
sub esp, 0x10
lea esi, [esp + 0x878]
mov dword [esp + 0xc], 0x47
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40781b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_calling_PathRemoveFileSpecW:__d
push 0x43f890
call fcn.00410af0
add esp, 0xc
jmp 0x405c59
sub esp, 0x10
lea esi, [esp + 0x878]
mov dword [esp + 0xc], 0x48
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40785e
push str.The_apply_to_directory_must_be_the_same_as_or_a_child_of_the_installation_directory__Exiting.
jmp 0x405c4c
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 0xc], 0x4a
call fcn.0040a3c0
add esp, 0x10
mov ecx, edi
call fcn.00407ac0
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4078a1
push str.Installation_directory_and_working_directory_must_be_the_same_for_non_staged_updates._Exiting.
jmp 0x405c4c
sub esp, 0x10
lea esi, [esp + 0x20]
mov dword [esp + 0xc], 0x42
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4078e4
push ebx
push str.NS_main:_unable_to_find_callback_file:__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
call fcn.00407ba0
mov eax, dword [esp]
cmp eax, 0xffffffff
je 0x4068b1
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0xc80]
push eax
call fcn.0041dcf2
add esp, 4
mov esi, dword [ebp + 8]
test eax, eax
je 0x4068d6
call fcn.0041a26c
cmp dword [eax], 2
jne 0x406bc4
movzx eax, byte [0x43f478]
mov ecx, dword [edi + 0x14]
add esi, 0xfffffffa
mov edx, esi
push eax
push dword [esp + 8]
jmp 0x406a63
mov edi, 1
cmp ebx, 7
jl 0x4076f7
mov ecx, dword [ebp + 0xc]
movzx eax, byte [0x43f478]
add ebx, 0xfffffffa
mov edx, ebx
mov esi, ecx
mov ecx, dword [ecx + 0x14]
add esi, 0x18
push eax
push esi
jmp 0x406a63
sub esp, 0x10
lea esi, [esp + 0x20]
mov dword [esp + 0xc], 3
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407927
push str.NS_main:_callback_backup_path_truncated
push 0x43f890
call fcn.00410af0
add esp, 8
call fcn.00407ba0
mov eax, dword [esp]
cmp eax, 0xffffffff
je 0x406983
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0xc80]
push eax
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x406bc4
call fcn.0041a26c
jmp 0x406bc4
mov ebx, esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [esp + 0x10]
sub esp, 0x10
cmp eax, 5
jne 0x4069c6
mov dword [esp], edi
mov dword [esp + 0xc], 0x23
jmp 0x4069d1
mov dword [esp], edi
mov dword [esp + 0xc], 0x25
call fcn.0040a3c0
add esp, 0x10
mov esi, dword [ebp + 8]
mov ecx, edi
call fcn.00407ac0
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40796a
push 0x43f270
push dword [ebx]
push str.NS_main:_failed_to_copy_callback_file__S_into_place_at__S
push 0x43f890
call fcn.00410af0
add esp, 0x10
call fcn.00407ba0
mov eax, dword [esp]
cmp eax, 0xffffffff
je 0x406a31
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0xc80]
push eax
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x406a53
call fcn.0041a26c
cmp dword [eax], 2
jne 0x406bc4
movzx eax, byte [0x43f478]
mov ecx, dword [ebx]
add esi, 0xfffffffa
mov edx, esi
push eax
push ebx
call fcn.00405650
add esp, 8
mov edi, 1
jmp 0x4076f7
push eax
push str.NS_main:_callback_app_file_in_use__failed_to_exclusively_open_executable_file:__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
cmp edi, 5
jne 0x406b07
lea edi, [esp + 0x10]
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 0xc], 0x23
jmp 0x406b19
mov edi, eax
mov eax, dword [ebp + 0xc]
lea edx, [ebx - 1]
lea ecx, [esp + 0xc]
add eax, 4
push eax
call fcn.00404f30
add esp, 4
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x406bce
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00407ba0
mov dword [esp + 0xc], 0
mov edi, 1
jmp 0x4076f7
sub esp, 0x10
lea esi, [esp + 0x230]
mov dword [esp + 0xc], 0x2c
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
jmp 0x406394
lea edi, [esp + 0x10]
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 0xc], 0x25
call fcn.0040a3c0
add esp, 0x10
mov ecx, edi
call fcn.00407ac0
push 0x43f270
call fcn.0041dcf2
add esp, 4
mov esi, dword [ebp + 0xc]
test eax, eax
je 0x406b7e
call fcn.0041a26c
cmp dword [eax], 2
je 0x406b7e
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4079ad
push 0x43f270
push str.NS_main:_unable_to_remove_backup_of_callback_app_file__path:__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
call fcn.00407ba0
mov eax, dword [esp]
cmp eax, 0xffffffff
je 0x406b92
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0xc80]
push eax
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x406bb0
call fcn.0041a26c
cmp dword [eax], 2
jne 0x406bc4
movzx eax, byte [0x43f478]
mov ecx, dword [esi + 0x14]
add ebx, 0xfffffffa
mov edx, ebx
jmp 0x4068e5
mov edi, 1
jmp 0x4076f7
cmp byte [esp + 8], 0
je 0x406c2c
lea esi, [esp + 0x220]
mov dword [esp + 0x220], 0
push esi
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00411930
add esp, 8
test eax, eax
je 0x406c2c
cmp dword [esp + 0x220], 0
je 0x406c2c
push esi
call fcn.004119c0
add esp, 4
test eax, eax
je 0x406c1a
cmp dword [esp + 0x220], 0
jne 0x406c2c
push esi
push 0x43f47c
call fcn.0040fb40
add esp, 8
test eax, eax
jne 0x406c9a
cmp byte [0x43ee58], 0
je 0x406f82
sub esp, 0x10
lea esi, [esp + 0x230]
mov dword [esp + 0xc], 0x2b
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4079f0
push str.Non_critical_update_staging_error__Falling_back_to_non_staged_updates_and_exiting
push 0x43f890
call fcn.00410af0
add esp, 8
call fcn.00407ba0
jmp 0x4073bf
lea eax, [esp + 0x630]
mov dword [esp + 0x630], 0
push eax
push 0x20119
push 0
push esi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x406cd1
push dword [esp + 0x630]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
mov dword [esp + 0x651], 0
movaps xmmword [esp + 0x640], xmm0
movaps xmmword [esp + 0x630], xmm0
mov dword [esp + 0x64d], 0
push 0x20a
push 0
push esi
call fcn.00415350
add esp, 0xc
push esi
push 0x4383f8
push 0x43ec50
call fcn.00411050
add esp, 0xc
test eax, eax
je 0x406d37
push 0x438464
push esi
call fcn.0041db22
add esp, 8
test eax, eax
mov dword [esp + 4], eax
jne 0x406d40
mov dword [esp], 0
jmp 0x406d7f
push dword [esp + 4]
push 1
push 0x24
lea eax, [esp + 0x63c]
push eax
call fcn.0041f44b
add esp, 0x10
cmp eax, 1
jne 0x406d6c
mov al, 1
mov byte [esp + 0x654], 0
mov dword [esp], eax
jmp 0x406d73
mov dword [esp], 0
push dword [esp + 4]
call fcn.0041ee50
add esp, 4
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 0xc], 0x3a
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00411810
add esp, 8
test eax, eax
jne 0x406f75
cmp byte [0x43ee58], 0
je 0x406dc5
mov dword [esp + 4], 0
jmp 0x406dd3
call fcn.00401950
test eax, eax
sete al
mov dword [esp + 4], eax
push 5
push str.MozillaMaintenance
call fcn.00411630
add esp, 8
cmp eax, 1
je 0x406e53
lea eax, [esp + 0x10]
mov dword [esp + 0x224], 0x407d20
mov dword [esp + 0x228], 0
push eax
push 0
push esi
push 0x40a410
push 0
push 0
call fcn.00419477
add esp, 0x18
test eax, eax
mov dword [esp + 0x220], eax
je 0x406e3d
mov ecx, dword [esp + 4]
xor cl, 1
jne 0x406e3d
push 0
push 1
call fcn.004019f0
add esp, 8
mov eax, dword [esp + 0x220]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esp + 0x220]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
push str.MozillaMaintenance
call fcn.00411630
add esp, 8
cmp eax, 1
jne 0x406f75
cmp byte [esp], 0
xorps xmm0, xmm0
mov byte [0x43f479], 1
mov dword [esp + 0x31], 0
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x2d], 0
je 0x4072c9
push 0x20a
push 0
push esi
call fcn.00415350
add esp, 0xc
push esi
push 0x4383f8
push 0x43ec50
call fcn.00411050
add esp, 0xc
test eax, eax
je 0x4072c9
push 0x438464
push esi
call fcn.0041db22
add esp, 8
test eax, eax
mov dword [esp], eax
je 0x4072c9
lea eax, [esp + 0x10]
push dword [esp]
push 1
push 0x24
push eax
call fcn.0041f44b
add esp, 0x10
cmp eax, 1
jne 0x4072be
mov byte [esp + 0x34], 0
push dword [esp]
call fcn.0041ee50
add esp, 4
push 0x25
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x638]
push eax
call fcn.0041fcc0
add esp, 0xc
test eax, eax
jne 0x4072c9
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407a76
push str.The_secure_ID_hasnt_changed_after_launching_the_updater_using_the_service
push 0x43f890
call fcn.00410af0
add esp, 8
mov byte [0x43f479], 0
cmp byte [0x43ee58], 0
je 0x4072d6
jmp 0x40738b
cmp byte [0x43ee58], 1
je 0x406c39
xorps xmm0, xmm0
mov dword [esp + 0x31], 0
lea esi, [esp + 0x220]
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x2d], 0
push 0x20a
push 0
push esi
call fcn.00415350
add esp, 0xc
push esi
push 0x4383f8
push 0x43ec50
call fcn.00411050
add esp, 0xc
test eax, eax
je 0x406fe6
push 0x438464
lea eax, [esp + 0x224]
push eax
call fcn.0041db22
add esp, 8
test eax, eax
jne 0x406fef
mov dword [esp], 0
jmp 0x407024
mov esi, eax
lea eax, [esp + 0x10]
push esi
push 1
push 0x24
push eax
call fcn.0041f44b
add esp, 0x10
cmp eax, 1
jne 0x407014
mov al, 1
mov byte [esp + 0x34], 0
mov dword [esp], eax
jmp 0x40701b
mov dword [esp], 0
push esi
call fcn.0041ee50
add esp, 4
sub esp, 0x10
lea esi, [esp + 0x230]
mov dword [esp + 0xc], 0x4f
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x64c], 0
mov dword [esp + 0x648], 0
mov dword [esp + 0x654], 0
mov dword [esp + 0x650], 0
mov dword [esp + 0x65c], 0
mov dword [esp + 0x658], 0
mov dword [esp + 0x664], 0
mov dword [esp + 0x660], 0
mov dword [esp + 0x668], 0
mov dword [esp + 0x630], 0x3c
mov dword [esp + 0x634], 0x540
mov dword [esp + 0x638], 0
mov eax, dword [eax]
mov dword [esp + 0x640], eax
lea eax, [esp + 0x630]
mov dword [esp + 0x644], ebx
mov dword [esp + 0x63c], 0x437c84
mov dword [esp + 0x64c], 1
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x40724b
push 0xffffffffffffffff
push dword [esp + 0x66c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esp + 0x668]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [esp], 0
xorps xmm0, xmm0
mov byte [0x43f479], 1
mov dword [esp + 0x861], 0
movaps xmmword [esp + 0x850], xmm0
movaps xmmword [esp + 0x840], xmm0
mov dword [esp + 0x85d], 0
je 0x40738b
push 0x20a
push 0
lea eax, [esp + 0x228]
mov esi, eax
push eax
call fcn.00415350
add esp, 0xc
push esi
push 0x4383f8
push 0x43ec50
call fcn.00411050
add esp, 0xc
test eax, eax
je 0x40738b
push 0x438464
lea eax, [esp + 0x224]
push eax
call fcn.0041db22
add esp, 8
test eax, eax
je 0x40738b
mov esi, eax
lea eax, [esp + 0x840]
push esi
push 1
push 0x24
push eax
call fcn.0041f44b
add esp, 0x10
cmp eax, 1
jne 0x40723d
mov byte [esp + 0x864], 0
push esi
call fcn.0041ee50
add esp, 4
lea eax, [esp + 0x10]
push 0x25
lea ecx, [esp + 0x844]
push ecx
push eax
call fcn.0041fcc0
add esp, 0xc
test eax, eax
jne 0x40738b
mov ecx, dword [0x43db8c]
mov edx, dword fs:[0x2c]
mov eax, dword [0x43fa9c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407a33
push str.The_secure_ID_hasnt_changed_after_launching_the_updater_using_runas
push 0x43f890
call fcn.00410af0
add esp, 8
mov byte [0x43f479], 0
jmp 0x40738b
push esi
call fcn.0041ee50
add esp, 4
jmp 0x40738b
mov byte [0x43f479], 0
sub esp, 0x10
lea esi, [esp + 0x230]
mov dword [esp + 0xc], 9
mov dword [esp], esi
call fcn.0040a3c0
add esp, 0x10
mov ecx, esi
call fcn.00407ac0
jmp 0x40738b
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x405beb
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x405beb
push dword [esp]
call fcn.0041ee50
add esp, 4
cmp byte [0x43ee58], 0
jne 0x40738b
push 0x20a
push 0
push esi
call fcn.00415350
add esp, 0xc
push esi
push 0x437c22
push 0x43ec50
call fcn.00411050
add esp, 0xc
test eax, eax
je 0x40738b
push 0x438464
push esi
call fcn.0041db22
add esp, 8
test eax, eax
je 0x40738b
xorps xmm0, xmm0
mov esi, eax
movaps xmmword [esp + 0x640], xmm0
movaps xmmword [esp + 0x630], xmm0
push eax
push 1
push 0x20
lea eax, [esp + 0x63c]
push eax
call fcn.0041f44b
add esp, 0x10
push 9
push 0x4352d8
lea eax, [esp + 0x638]
push eax
call fcn.004143a7
add esp, 0xc
mov dword [esp], eax
push esi
call fcn.0041ee50
add esp, 4
cmp dword [esp], 0
jne 0x40738b
call fcn.00405170
test al, al
jne 0x40738b
push 2
call fcn.00415c8f
add esp, 4
push eax
push 1
push 0x58
push str.The_post_update_process_which_runs_as_the_user_for_service_update_could_not_be_launched.
call fcn.0041f65e
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00407ba0
cmp dword [ebp + 8], 7
jl 0x4073bf
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
movzx eax, byte [0x43f478]
mov esi, ecx
mov ecx, dword [ecx + 0x14]
add edx, 0xfffffffa
add esi, 0x18
push eax
push esi
call fcn.00405650
add esp, 8
mov dword [esp + 0xc], 0
push ebx
call fcn.0041276c
add esp, 4
xor edi, edi
jmp 0x4076f7
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x405c47
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x405c47
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x405cc6
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x405cc6
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x405d01
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x405d01
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x405d39
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x405d39
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x40751d
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
lea edi, [esp + 0x220]
jmp 0x405c97
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x405e1d
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x405e1d
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x4066a5
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x4066a5
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x4065c3
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x4065c3
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x406613
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
test edi, edi
jne 0x40661b
push str.tobedeleted
push str.NS_main:_failed_to_schedule_OS_reboot_removal_of_directory:__S
push 0x43f890
call fcn.00410af0
add esp, 0xc
mov esi, dword [ebp + 0xc]
call fcn.00407ba0
cmp ebx, 7
jl 0x4076ed
cmp byte [0x43f47a], 1
jne 0x4076a4
call fcn.00405170
test al, al
jne 0x40768e
push 2
call fcn.00415c8f
add esp, 4
push eax
push 1
push 0x28
push str.The_post_update_process_was_not_launched
call fcn.0041f65e
add esp, 0x10
cmp byte [0x43f478], 0
jne 0x4076a4
push 0x43f47c
call fcn.00411320
add esp, 4
mov eax, dword [esp]
cmp eax, 0xffffffff
je 0x4076b3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0xc80]
push eax
call fcn.0041dcf2
add esp, 4
test eax, eax
je 0x4076d1
call fcn.0041a26c
cmp dword [eax], 2
jne 0x4076ed
movzx eax, byte [0x43f478]
mov ecx, dword [esi + 0x14]
add ebx, 0xfffffffa
add esi, 0x18
mov edx, ebx
push eax
push esi
call fcn.00405650
add esp, 8
movzx edi, byte [0x43f47a]
xor edi, 1
mov ecx, dword [esp + 0xe88]
xor ecx, ebp
call fcn.00412fa1
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x406378
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x406378
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x406403
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x406403
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x40655c
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x40655c
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x4066f6
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x4066f6
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x406793
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x406793
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x4067f6
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x4067f6
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x40683e
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x40683e
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x40688a
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x40688a
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x40695d
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x40695d
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x406a04
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x406a04
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x406b67
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x406b67
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x406c7e
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x406c7e
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x40721f
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x40721f
push 0x43fa9c
call fcn.004127a7
add esp, 4
cmp dword [0x43fa9c], 0xffffffff
jne 0x406f4a
mov dword [0x43f890], 0
push 0x40a010
call fcn.00412a1c
add esp, 4
push 0x43fa9c
call fcn.004127f9
add esp, 4
jmp 0x406f4a