Function at 0x405cd0
Capabilities:
Access peb ldr_data
Check if file exists
Copy file
Create directory
Create process on windows
Create thread
Delete file
Get common file path
Get disk information
Get file attributes
Get number of processors
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, 0xc60
mov eax, dword [0x43d00c]
xor eax, ebp
mov dword [esp + 0xc58], eax
push 0x436b14
call fcn.0041f4a3
add esp, 4
test eax, eax
je 0x405d06
cmp byte [eax], 0
setne al
jmp 0x405d08
xor eax, eax
mov byte [0x43f224], al
push str.MOZ_USING_SERVICE
call fcn.0041c880
add esp, 4
cmp dword [ebp + 8], 3
jg 0x405d41
push 2
call fcn.00415889
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.0041f222
add esp, 0x10
jmp 0x4060e5
mov ebx, dword [ebp + 0xc]
push dword [ebx + 4]
call fcn.0040ec50
add esp, 4
mov edi, dword [ebx + 4]
test al, al
je 0x405e40
push 0x104
push edi
push 0x43f226
call fcn.00420049
add esp, 0xc
push dword [ebx + 8]
call fcn.0040ec50
add esp, 4
test al, al
je 0x405e55
push 0x104
push dword [ebx + 8]
push 0x43f42e
call fcn.00420049
add esp, 0xc
mov word [0x43f634], 0
push 0x5c
push 0x43f42e
call fcn.004153fe
add esp, 8
test eax, eax
je 0x405dbd
cmp word [eax + 2], 0
jne 0x405dbd
mov word [eax], 0
lea esi, [esp + 0x230]
push 0x43f226
push str._s_update.status
push 0x104
push esi
call fcn.004043f0
add esp, 0x10
push 0x43814a
push esi
call fcn.0041d6e6
add esp, 8
test eax, eax
je 0x405e8e
xorps xmm0, xmm0
mov esi, ebx
mov edi, eax
lea ebx, [esp + 0x20]
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
push eax
push 1
push 0x20
push ebx
call fcn.0041f00f
add esp, 0x10
push 0xf
push str.pending_service
push ebx
call fcn.0041f880
add esp, 0xc
test eax, eax
je 0x405e98
push 0xf
push str.applied_service
push ebx
call fcn.0041f880
add esp, 0xc
test eax, eax
sete al
jmp 0x405e9a
push 2
call fcn.00415889
add esp, 4
push edi
push str.The_patch_directory_path_is_not_valid_for_this_application___S__n
jmp 0x4060dc
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp + 0xc], 0x4b
mov dword [esp], esi
call fcn.0040a990
add esp, 0x10
mov ecx, esi
call fcn.00408260
mov esi, dword [ebx + 8]
push 2
call fcn.00415889
add esp, 4
push esi
push str.The_install_directory_path_is_not_valid_for_this_application___S__n
jmp 0x4060dc
mov dword [esp + 0xc], 0
jmp 0x405eb0
mov al, 1
mov dword [esp + 0xc], eax
push edi
call fcn.0041ea14
add esp, 4
mov ebx, esi
lea esi, [esp + 0x230]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [esp + 0x230], 0
push 0
push esi
push 0
push 2
push 0
push 0
push 0
push str.SoftwareClassesApplications
push 0x80000001
call edi
push dword [esp + 0x230]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
push esi
push 0
push 2
push 1
push 0
push 0
push str.SoftwareClassesApplicationsupdater.exe
push 0x80000001
call edi
mov esi, dword [ebp + 8]
test eax, eax
jne 0x405f5c
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 0
push 0
push 0
push 0
push str.IsHostApp
push dword [esp + 0x244]
call edi
push 0
push 0
push 0
push 0
push str.NoOpenWith
push dword [esp + 0x244]
call edi
push 0
push 0
push 0
push 0
push str.NoStartPage
push dword [esp + 0x244]
call edi
push dword [esp + 0x230]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edi, edi
cmp esi, 5
mov eax, 0
jl 0x405fb3
push dword [ebx + 0x10]
call fcn.0041d933
add esp, 4
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x405fa2
mov edi, eax
mov esi, edx
push str._replace
push dword [ebx + 0x10]
call fcn.004154a0
add esp, 8
test eax, eax
je 0x405f9b
mov byte [0x43f636], 1
mov eax, esi
mov esi, dword [ebp + 8]
jmp 0x405fb3
mov byte [0x43ec04], 1
mov edi, 0xffffffff
mov eax, 0xffffffff
mov dword [esp + 0x10], eax
push dword [ebx + 0xc]
call fcn.0040ec50
add esp, 4
test al, al
je 0x4060a8
push 0x104
push dword [ebx + 0xc]
push 0x43ec0c
call fcn.00420049
add esp, 0xc
mov word [0x43ee12], 0
push 0x5c
push 0x43ec0c
call fcn.004153fe
add esp, 8
test eax, eax
je 0x406007
cmp word [eax + 2], 0
jne 0x406007
mov word [eax], 0
cmp esi, 7
jl 0x406141
push dword [ebx + 0x18]
call fcn.0040ec50
add esp, 4
test al, al
je 0x406102
mov dword [esp + 0x14], edi
push 0x43f42e
call fcn.0041fbd0
add esp, 4
mov esi, ebx
mov edi, eax
lea ebx, [esp + 0x230]
push 0x208
push 0
push ebx
call fcn.00414f70
add esp, 0xc
push edi
push dword [esi + 0x18]
push ebx
call fcn.00420049
add esp, 0xc
push ebx
push 0x43f42e
call fcn.0041fb6e
add esp, 8
test eax, eax
je 0x406138
sub esp, 0x10
lea edi, [esp + 0x30]
mov dword [esp + 0xc], 0x4e
mov dword [esp], edi
call fcn.0040a990
add esp, 0x10
mov ecx, edi
call fcn.00408260
mov esi, dword [esi + 0x18]
push 2
call fcn.00415889
add esp, 4
push esi
push str.The_callback_file_must_be_located_in_the_installation_directory___S__n
jmp 0x4060dc
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp + 0xc], 0x4c
mov dword [esp], esi
call fcn.0040a990
add esp, 0x10
mov ecx, esi
call fcn.00408260
mov esi, dword [ebx + 0xc]
push 2
call fcn.00415889
add esp, 4
push esi
push str.The_working_directory_path_is_not_valid_for_this_application___S__n
push eax
call fcn.00405b90
add esp, 0xc
mov ebx, 1
mov ecx, dword [esp + 0xc58]
xor ecx, ebp
call fcn.00412bfe
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp + 0xc], 0x4d
mov dword [esp], esi
call fcn.0040a990
add esp, 0x10
mov ecx, esi
call fcn.00408260
mov esi, dword [ebx + 0x18]
push 2
call fcn.00415889
add esp, 4
push esi
push str.The_callback_file_path_is_not_valid_for_this_application___S__n
jmp 0x4060dc
mov ebx, esi
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x14]
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4078e6
cmp dword [0x43f844], 0
jne 0x4061d2
sub esp, 0x14
mov dword [esp + 0x10], str.update.log
mov dword [esp + 0xc], 0x43f226
mov dword [esp], 0x43fa50
call fcn.0040e8d0
add esp, 0x14
dec eax
cmp eax, 0x102
ja 0x4061d2
push 0x43f848
push 0x437ee8
push 0x43f226
call fcn.0040f2f0
add esp, 0xc
test eax, eax
je 0x4061d2
push 0x4378e0
push 0x43f848
call fcn.0041d6e6
add esp, 8
mov dword [0x43f844], eax
push 0x43fa50
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, str.applying
call fcn.00408260
test al, al
je 0x406211
cmp byte [0x43ec04], 1
jne 0x406249
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407a47
push str.Performing_a_staged_update
jmp 0x406278
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407937
push str.failed_setting_status_to_applying
push 0x43f844
call fcn.0040e940
add esp, 8
jmp 0x4060e5
cmp byte [0x43f636], 1
jne 0x406285
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407acf
push str.Performing_a_replace_request
push 0x43f844
call fcn.0040e940
add esp, 8
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40797b
push 0x43f226
push str.PATCH_DIRECTORY__S
push 0x43f844
call fcn.0040e940
add esp, 0xc
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4079bf
push 0x43f42e
push str.INSTALLATION_DIRECTORY__S
push 0x43f844
call fcn.0040e940
add esp, 0xc
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407a03
push 0x43ec0c
push str.WORKING_DIRECTORY__S
push 0x43f844
call fcn.0040e940
add esp, 0xc
push 0x104
push 0x43f42e
push 0x43ec0c
call fcn.0041d538
add esp, 0xc
test eax, eax
je 0x406592
cmp byte [0x43ec04], 0
jne 0x406362
cmp byte [0x43f636], 0
je 0x4064c7
mov esi, edi
push 0x43ec0c
push 0x4379d8
push 0x104
lea edi, [esp + 0x23c]
push edi
call fcn.004043f0
add esp, 0x10
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x4063ff
push 0x104
push 0x43f42e
push edi
call fcn.0041d538
add esp, 0xc
test eax, eax
je 0x40658d
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp + 0xc], 0x48
mov dword [esp], esi
call fcn.0040a990
add esp, 0x10
mov ecx, esi
call fcn.00408260
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407b57
push str.The_apply_to_directory_must_be_the_same_as_or_a_child_of_the_installation_directory__Exiting.
push 0x43f844
call fcn.0040e940
add esp, 8
jmp 0x40645a
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp + 0xc], 0x47
mov dword [esp], esi
call fcn.0040a990
add esp, 0x10
mov ecx, esi
call fcn.00408260
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407b9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_calling_PathRemoveFileSpecW:__d
push 0x43f844
call fcn.0040e940
add esp, 0xc
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407a8b
mov eax, dword [0x43f844]
test eax, eax
je 0x4060e5
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x4066ad
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x4060e5
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp + 0xc], 0x4a
mov dword [esp], esi
call fcn.0040a990
add esp, 0x10
mov ecx, esi
call fcn.00408260
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407bdf
push str.Installation_directory_and_working_directory_must_be_the_same_for_non_staged_updates._Exiting.
push 0x43f844
call fcn.0040e940
add esp, 8
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407b13
mov eax, dword [0x43f844]
mov ebx, 1
test eax, eax
je 0x4060ea
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x406e15
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x4060ea
mov edi, esi
mov esi, dword [ebp + 8]
cmp edi, 1
sbb dword [esp + 0x10], 0
jl 0x406603
push edi
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x406603
mov edi, eax
push 0x7530
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, ebx
mov ebx, eax
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
mov ebx, esi
mov esi, dword [ebp + 8]
je 0x406603
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407c23
push str.The_parent_process_didnt_exit__Continuing_with_update.
push 0x43f844
call fcn.0040e940
add esp, 8
cmp byte [0x43f636], 0
jne 0x406615
cmp byte [0x43ec04], 1
jne 0x406645
lea edi, [esp + 0x230]
push 0x20a
push 0
push edi
call fcn.00414f70
add esp, 0xc
push 0x105
push edi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x406645
push edi
call fcn.0041cf48
add esp, 4
lea edi, [esp + 0xa50]
push 0x208
push 0
push edi
call fcn.00414f70
add esp, 0xc
cmp byte [0x43f224], 0
mov eax, 0xffffffff
jne 0x406792
mov al, byte [0x43ec04]
cmp esi, 6
jle 0x406696
test al, 1
jne 0x40669a
cmp byte [0x43f636], 1
je 0x4066d2
lea edi, [esp + 0x848]
push dword [ebx + 0x18]
push str._s.update_in_progress.lock
jmp 0x40670b
test al, 1
je 0x4066bd
lea edi, [esp + 0x848]
push 0x43f42e
push str._s_updated.update_in_progress.lock
jmp 0x40670b
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x4060e5
cmp byte [0x43f636], 1
mov dword [esp + 0x10], 0xffffffff
jne 0x4067b8
mov esi, ebx
lea ebx, [esp + 0x230]
push 0x43f42e
push ebx
call fcn.0041fbae
add esp, 8
push 0x5c
push ebx
call fcn.004153fe
add esp, 8
lea edi, [esp + 0x848]
mov word [eax], 0
push ebx
mov ebx, esi
mov esi, dword [ebp + 8]
push str._smoz_update_in_progress.lock
push 0x104
push edi
call fcn.004043f0
add esp, 0x10
push 0
push edi
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x406c25
push 0
push 0x4000000
push 4
push 0
push 0
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x10], eax
push 0x43f226
push str._s_update_elevated.lock
push 0x104
lea edi, [esp + 0xa5c]
push edi
call fcn.004043f0
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x406785
push 0x22
push 0x43d960
push 0
call fcn.0040e690
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x406c7d
cmp byte [0x43ec04], 1
mov dword [esp + 0x10], eax
jne 0x4067ab
mov ecx, 0x43ec0c
xor edx, edx
call fcn.00408370
cmp byte [0x43f636], 0
jne 0x406866
mov edi, ebx
push 0x43ec0c
call fcn.0041d7f0
add esp, 4
test eax, eax
je 0x4067de
call fcn.00419e3b
cmp dword [eax], 0x11
mov ebx, 1
jne 0x4060ea
cmp byte [0x43f636], 0
jne 0x40685d
push 0x43ec0c
call fcn.0041fbd0
add esp, 4
lea eax, [eax + eax + 4]
push eax
call fcn.0041f68f
add esp, 4
test eax, eax
je 0x4060e5
mov ebx, eax
push 0x43ec0c
push eax
call fcn.0041fbae
add esp, 8
push 0x43ec0c
call fcn.0041fbd0
add esp, 4
lea esi, [ebx + eax*2]
movzx eax, word [eax + eax + 0x43ec0a]
cmp eax, 0x2f
je 0x40684f
movzx eax, ax
cmp eax, 0x5c
je 0x40684f
push 0x438268
push esi
call fcn.0041fb3d
add esp, 8
add esi, 2
mov word [esi], 0
mov esi, dword [ebp + 8]
mov dword [0x43f638], ebx
mov ebx, edi
lea edi, [esp + 0xa50]
lea eax, [esp + 0x848]
push 0x104
push eax
push 0x43ec0c
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x406b80
mov eax, 0xffffffff
cmp esi, 7
jl 0x4069c6
lea eax, [esp + 0x640]
push 0x208
push 0
push eax
call fcn.00414f70
add esp, 0xc
mov edi, dword [ebx + 0x18]
lea eax, [ebx + 0x18]
mov dword [esp + 0xc], eax
push 0x410
push 0
lea eax, [esp + 0x238]
push eax
call fcn.00414f70
add esp, 0xc
cmp byte [0x43f636], 1
jne 0x406991
push 0
push 0x43f42e
push edi
call dword [sym.imp.SHLWAPI.dll_PathCommonPrefixW]
mov esi, eax
push eax
mov eax, dword [esp + 0x10]
push dword [eax]
lea eax, [esp + 0x238]
push eax
call fcn.00420049
add esp, 0xc
mov eax, esi
mov ebx, 0x208
mov dword [esp + 0x14], esi
lea esi, [esp + esi*2 + 0x230]
sub ebx, eax
lea edi, [eax + eax + 0x43f42e]
push ebx
push edi
push esi
call fcn.00420049
add esp, 0xc
push edi
call fcn.0041fbd0
add esp, 4
mov edi, eax
mov dword [esi + eax*2], 0x5c
lea eax, [esi + eax*2 + 2]
not edi
mov dword [esp + 0x18], eax
add edi, ebx
lea ebx, [esp + 0x20]
push 0x43f42e
push ebx
call fcn.0041fbae
add esp, 8
push 0
push ebx
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x14]
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathCommonPrefixW]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
cmp eax, ecx
cmovb eax, ecx
add eax, eax
add eax, dword [edx]
push edi
push eax
push dword [esp + 0x20]
call fcn.00420049
add esp, 0xc
lea edi, [esp + 0x230]
push 0x104
lea eax, [esp + 0x644]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x406e25
cmp byte [0x43f636], 0
mov eax, 0xffffffff
je 0x406ec6
lea edi, [esp + 0xa50]
cmp byte [0x43ec04], 0
mov dword [esp + 0xc], eax
jne 0x406a1d
cmp byte [0x43f636], 0
jne 0x406a1d
push str.tobedeleted
push 0x43ec0c
push str._s__s
push 0x104
push 0x43f63c
call fcn.004043f0
add esp, 0x14
push 0
push 0x43f63c
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x406a1d
push 0x43f63c
call fcn.0041d7f0
add esp, 4
lea eax, [esp + 0x640]
mov dword [esp + 0x234], 0x4085f0
mov dword [esp + 0x238], 0
push eax
push 0
lea eax, [esp + 0x238]
push eax
push 0x40a9e0
push 0
push 0
call fcn.00419053
add esp, 0x18
test eax, eax
mov dword [esp + 0x230], eax
je 0x406a86
cmp byte [0x43ec04], 0
jne 0x406a86
cmp byte [0x43f636], 0
jne 0x406a86
push 1
push 0
call fcn.00401fa0
add esp, 8
mov eax, dword [esp + 0x230]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esp + 0x230]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, 7
jl 0x406ac7
cmp byte [0x43f636], 0
jne 0x406ac7
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x406aba
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x43f01c
call fcn.0041d8b6
add esp, 4
cmp byte [0x43ec04], 0
jne 0x407e66
cmp byte [0x43f636], 0
jne 0x407e66
push 0x43f63c
call fcn.0041d90b
add esp, 4
test eax, eax
je 0x407e66
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov edi, ebx
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407dbb
call fcn.00419e3b
push dword [eax]
push str.tobedeleted
push str.NS_main:_unable_to_remove_directory:__S__err:__d
push 0x43f844
call fcn.0040e940
add esp, 0x10
push 4
push 0
push 0x43f63c
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ebx, eax
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407dff
test ebx, ebx
je 0x407e46
push str.tobedeleted
push str.NS_main:_directory_will_be_removed_on_OS_reboot:__S
jmp 0x407e50
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407c67
push 0x43ec0c
push str.NS_main:_unable_to_find_apply_to_dir:__S
push 0x43f844
call fcn.0040e940
add esp, 0xc
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407cab
mov eax, dword [0x43f844]
test eax, eax
je 0x406ffe
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x406ff3
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x406ffe
push edi
call fcn.0041d8b6
add esp, 4
test eax, eax
je 0x40672c
cmp byte [0x43ec04], 0
jne 0x406c48
cmp byte [0x43f636], 1
jne 0x406c52
mov ecx, str.pending
call fcn.00408260
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407cef
push str.Update_already_in_progress__Exiting
jmp 0x406237
push 0
push edi
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x407089
push 0
push 0x4000000
push 4
push 0
push 0
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x407195
mov edi, eax
lea eax, [ebx + 4]
lea edx, [esi - 1]
lea ecx, [esp + 0x1c]
push eax
call fcn.00405440
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x407243
cmp byte [esp + 0xc], 0
mov dword [esp + 0x10], eax
je 0x40789c
mov ebx, dword [ebx]
mov dword [esp + 0xc], edi
lea edi, [esp + 0x230]
push 0x20a
push 0
push edi
call fcn.00414f70
add esp, 0xc
push ebx
call fcn.0041fbd0
add esp, 4
cmp eax, 0x105
jb 0x4073d5
mov ebx, dword [ebp + 0xc]
mov edi, dword [esp + 0xc]
cmp byte [0x43ec04], 1
je 0x4078a9
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 0
mov dword [esp + 0x254], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 0
mov dword [esp + 0x264], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x268], 0
mov dword [esp + 0x230], 0x3c
mov dword [esp + 0x234], 0x540
mov dword [esp + 0x238], 0
mov eax, dword [ebx]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x244], eax
lea eax, [esp + 0x230]
mov dword [esp + 0x23c], str.runas
mov dword [esp + 0x24c], 1
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x40768c
push 0xffffffffffffffff
push dword [esp + 0x26c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esp + 0x268]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, 7
jge 0x4076b4
jmp 0x4076d0
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x4060ea
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407d33
push edi
push str.NS_main:_unable_to_find_callback_file:__S
push 0x43f844
call fcn.0040e940
add esp, 0xc
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407d77
mov eax, dword [0x43f844]
test eax, eax
je 0x4071cb
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x4071c0
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x4071cb
lea eax, [esp + 0x848]
push eax
call fcn.0041fbd0
add esp, 4
movzx edx, word [esp + eax*2 + 0x640]
lea ecx, [esp + eax*2 + 0x640]
lea eax, [esp + eax*2 + 0x642]
cmp edx, 0x5c
mov edx, 0x2f
cmovne eax, ecx
mov ecx, 2
movzx ebx, word [eax]
movzx ebx, bx
cmp ebx, 0x5c
cmove ebx, edx
mov word [ecx + 0x43ee12], bx
movzx ebx, word [eax + ecx]
add ecx, 2
test bx, bx
jne 0x406eff
mov ebx, dword [esp + 0xc]
mov word [ecx + 0x43ee12], 0
push dword [ebx]
push str._s.moz_callback
push 0x104
push 0x43f01c
call fcn.004043f0
add esp, 0x10
cmp eax, 0x104
jb 0x4070b3
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408075
push str.NS_main:_callback_backup_path_truncated
push 0x43f844
call fcn.0040e940
add esp, 8
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
lea edi, [esp + 0xa50]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4080b9
mov eax, dword [0x43f844]
test eax, eax
je 0x40737b
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x407370
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x40737b
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, ebx
sub esp, 0x10
lea ebx, [esp + 0x30]
mov dword [esp + 0xc], 0x41
mov dword [esp], ebx
call fcn.0040a990
add esp, 0x10
mov ecx, ebx
call fcn.00408260
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x407031
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
lea ebx, [esp + 0xa54]
push ebx
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x407076
mov ebx, 1
cmp esi, 7
jl 0x4060ea
movzx eax, byte [0x43f224]
mov ecx, dword [edi + 0x14]
add esi, 0xfffffffa
add edi, 0x18
mov edx, esi
push eax
push edi
call fcn.00405be0
add esp, 8
jmp 0x4060ea
push ebx
call fcn.0041d8b6
add esp, 4
test eax, eax
jne 0x40651b
jmp 0x407047
push edi
call fcn.0041d8b6
add esp, 4
test eax, eax
je 0x406c90
push 2
call fcn.00415889
add esp, 4
push eax
push 1
push 0x2d
push str.Unable_to_create_elevated_lock_file__Exiting_n
jmp 0x405d34
mov dword [esp + 0x14], edi
push 0x43f01c
call fcn.0041d8b6
add esp, 4
push 1
push 0x43f01c
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x407257
mov edi, dword [esp + 0x14]
mov ebx, 1
push 0
push 0
push 3
push 0
push 6
push 0x40010000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
jne 0x40730a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407158
push edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
push edi
push ebx
push str.NS_main:_callback_app_file_open_attempt__d_failed._File:__S._Last_error:__d
push 0x43f844
call fcn.0040e940
add esp, 0x14
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0xb
jb 0x4070e4
jmp 0x407312
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x407128
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x407128
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4080fd
push str.Unable_to_create_elevated_lock_file__Exiting
jmp 0x406237
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 0x10
lea edi, [esp + 0x30]
mov dword [esp + 0xc], 0x42
mov dword [esp], edi
call fcn.0040a990
add esp, 0x10
mov ecx, edi
call fcn.00408260
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x4071fc
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
lea edi, [esp + 0xa54]
push edi
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x407230
movzx eax, byte [0x43f224]
mov ecx, dword [ebx + 0x14]
add esi, 0xfffffffa
mov edx, esi
push eax
push dword [esp + 0x10]
call fcn.00405be0
jmp 0x406241
push edi
call fcn.0041d8b6
add esp, 4
test eax, eax
jne 0x40645a
jmp 0x407212
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x1c], 0
jmp 0x4060e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408141
push 0x43f01c
mov eax, dword [esp + 0x10]
push dword [eax]
push str.NS_main:_failed_to_copy_callback_file__S_into_place_at__S
push 0x43f844
call fcn.0040e940
add esp, 0x10
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408185
mov eax, dword [0x43f844]
test eax, eax
je 0x407767
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x40775c
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x407767
mov ebx, dword [ebp + 0xc]
jmp 0x4069bf
mov edi, dword [esp + 0x18]
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4081c9
mov eax, dword [esp + 0xc]
cmp edi, 0x20
mov eax, dword [eax]
jne 0x4076dc
push eax
push str.NS_main:_callback_app_file_in_use__continuing_without_exclusive_access_for_executable_file:__S
push 0x43f844
call fcn.0040e940
add esp, 0xc
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
lea edi, [esp + 0xa50]
mov eax, 0xffffffff
jmp 0x4069c6
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp + 0xc], 3
mov dword [esp], esi
call fcn.0040a990
add esp, 0x10
mov ecx, esi
call fcn.00408260
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x4073ac
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push edi
call fcn.0041ce70
add esp, 8
test eax, eax
jne 0x4060e5
push edi
call fcn.0041d8b6
add esp, 4
test eax, eax
jne 0x40645a
jmp 0x4060e5
push 0x104
push ebx
push edi
call fcn.00420049
add esp, 0xc
push edi
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
push edi
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov ebx, dword [ebp + 0xc]
mov edi, dword [esp + 0xc]
cmp eax, 3
jne 0x40789c
lea eax, [esp + 0x230]
push eax
call fcn.0040f3f0
add esp, 4
test eax, eax
je 0x407425
mov eax, dword [esp + 0x230]
test eax, eax
jne 0x40789c
lea eax, [esp + 0x230]
push eax
push 0x43f42e
call fcn.0040da20
add esp, 8
test eax, eax
je 0x407892
lea eax, [esp + 0x640]
mov dword [esp + 0x640], 0
push eax
push 0x20119
push 0
lea eax, [esp + 0x23c]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x407480
push dword [esp + 0x640]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp + 0xc], 0x3a
mov dword [esp], esi
call fcn.0040a990
add esp, 0x10
mov ecx, esi
call fcn.00408260
mov esi, dword [ebp + 8]
mov ecx, 4
lea eax, [esi + 2]
mov dword [esp + 0x14], eax
mul ecx
mov edx, 0xffffffff
cmovno edx, eax
push edx
call fcn.00412415
add esp, 4
mov edi, eax
lea ecx, [esi*4]
mov dword [eax], str.MozillaMaintenance
mov dword [eax + 4], str.software_update
lea edx, [eax + 8]
push ecx
mov ebx, dword [ebp + 0xc]
push ebx
push edx
call fcn.00424880
add esp, 0xc
push edi
push dword [esp + 0x18]
call fcn.0040f050
add esp, 8
mov dword [esp + 0x14], eax
push edi
call fcn.0041241e
add esp, 4
cmp dword [esp + 0x14], 0
mov edi, dword [esp + 0xc]
jne 0x40789c
cmp byte [0x43ec04], 0
mov bl, 1
jne 0x407528
call fcn.00401eb0
test eax, eax
setne bl
push 5
push str.MozillaMaintenance
call fcn.0040f110
add esp, 8
cmp eax, 1
je 0x4075ae
lea eax, [esp + 0x640]
mov dword [esp + 0x234], 0x408350
mov dword [esp + 0x238], 0
push eax
push 0
lea eax, [esp + 0x238]
push eax
push 0x40a9e0
push 0
push 0
call fcn.00419053
add esp, 0x18
test eax, eax
mov dword [esp + 0x230], eax
sete cl
or bl, cl
jne 0x407598
push 0
push 1
call fcn.00401fa0
add esp, 8
mov eax, dword [esp + 0x230]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esp + 0x230]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
push str.MozillaMaintenance
call fcn.0040f110
add esp, 8
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0xc]
cmp eax, 1
jne 0x40789c
cmp byte [0x43ec04], 0
jne 0x4076af
push 0x43f226
push str._s_update.status
push 0x104
lea eax, [esp + 0x23c]
mov esi, eax
push eax
call fcn.004043f0
add esp, 0x10
push 0x43814a
push esi
call fcn.0041d6e6
add esp, 8
test eax, eax
je 0x4078ce
xorps xmm0, xmm0
mov edi, eax
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
push eax
push 1
push 0x20
lea eax, [esp + 0x2c]
mov esi, eax
push eax
call fcn.0041f00f
add esp, 0x10
push 9
push str.succeeded
push esi
call fcn.0041f880
add esp, 0xc
mov esi, eax
push edi
call fcn.0041ea14
add esp, 4
test esi, esi
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0xc]
jne 0x4076af
call fcn.004056f0
test al, al
jne 0x4076af
push 2
call fcn.00415889
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.0041f222
add esp, 0x10
cmp esi, 7
jge 0x4076b4
jmp 0x4076d0
sub esp, 0x10
lea eax, [esp + 0x30]
mov dword [esp + 0xc], 9
mov dword [esp], eax
call fcn.0040a990
add esp, 0x10
lea ecx, [esp + 0x20]
call fcn.00408260
cmp esi, 7
jl 0x4076d0
movzx eax, byte [0x43f224]
mov ecx, dword [ebx + 0x14]
add esi, 0xfffffffa
add ebx, 0x18
mov edx, esi
push eax
push ebx
call fcn.00405be0
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4078b3
push eax
push str.NS_main:_callback_app_file_in_use__failed_to_exclusively_open_executable_file:__S
push 0x43f844
call fcn.0040e940
add esp, 0xc
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40820d
mov eax, dword [0x43f844]
test eax, eax
je 0x4077f8
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x4077ed
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x4077f8
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 0x10
lea edi, [esp + 0x30]
cmp ebx, 5
jne 0x407780
mov dword [esp], edi
mov dword [esp + 0xc], 0x23
jmp 0x40778b
mov dword [esp], edi
mov dword [esp + 0xc], 0x25
call fcn.0040a990
add esp, 0x10
mov ecx, edi
call fcn.00408260
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x4077aa
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
lea esi, [esp + 0xa54]
push esi
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x4077da
mov esi, dword [esp + 0xc]
mov edx, dword [ebp + 8]
movzx eax, byte [0x43f224]
mov ecx, dword [esi]
add edx, 0xfffffffa
push eax
push esi
jmp 0x407226
push esi
call fcn.0041d8b6
add esp, 4
test eax, eax
jne 0x40645a
jmp 0x4077c0
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 0x10
cmp edi, 5
jne 0x40780e
lea edi, [esp + 0x30]
mov dword [esp + 0xc], 0x23
jmp 0x40781a
lea edi, [esp + 0x30]
mov dword [esp + 0xc], 0x25
mov dword [esp], edi
call fcn.0040a990
add esp, 0x10
mov ecx, edi
call fcn.00408260
push 0x43f01c
call fcn.0041d8b6
add esp, 4
cmp dword [esp + 0x10], 0xffffffff
je 0x40784a
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
lea eax, [esp + 0xa54]
push eax
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x407878
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
movzx eax, byte [0x43f224]
mov ecx, dword [ecx + 0x14]
add edx, 0xfffffffa
jmp 0x407221
lea eax, [esp + 0xa50]
push eax
call fcn.0041d8b6
add esp, 4
test eax, eax
jne 0x40645a
jmp 0x407860
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0xc]
cmp byte [0x43ec04], 1
jne 0x406d27
mov ecx, str.pending
call fcn.00408260
mov dword [esp + 0x1c], 0
push dword [esp + 0x10]
call fcn.0041241e
add esp, 4
xor ebx, ebx
jmp 0x4060ea
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0xc]
cmp esi, 7
jge 0x4076b4
jmp 0x4076d0
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406162
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
cmp dword [0x43f844], 0
jne 0x4061d2
jmp 0x40616b
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406232
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406232
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x4062a6
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x4062a6
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x4062de
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x4062de
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406316
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406316
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x40620a
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x40620a
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x40647b
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x40647b
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406273
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406273
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x40653c
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x40653c
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x4063eb
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x4063eb
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406441
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406441
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406509
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406509
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x4065f1
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x4065f1
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406ba1
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406ba1
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406bd9
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406bd9
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406c73
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406c73
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406e46
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406e46
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406e7a
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406e7a
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406b19
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406b19
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406b69
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
test ebx, ebx
jne 0x406b71
push str.tobedeleted
push str.NS_main:_failed_to_schedule_OS_reboot_removal_of_directory:__S
push 0x43f844
call fcn.0040e940
add esp, 0xc
mov ebx, edi
lea edi, [esp + 0xa50]
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407fed
mov eax, dword [0x43f844]
test eax, eax
je 0x407edb
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x407ed0
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
cmp esi, 7
jge 0x407ee0
jmp 0x407f5f
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp esi, 7
jl 0x407f5f
cmp byte [0x43f225], 1
jne 0x407f24
call fcn.004056f0
test al, al
jne 0x407f0e
push 2
call fcn.00415889
add esp, 4
push eax
push 1
push 0x28
push str.The_post_update_process_was_not_launched
call fcn.0041f222
add esp, 0x10
cmp byte [0x43f224], 0
jne 0x407f24
push 0x43f42e
call fcn.0040edc0
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x407f34
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push edi
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x407f6e
movzx eax, byte [0x43f224]
mov ecx, dword [ebx + 0x14]
add esi, 0xfffffffa
add ebx, 0x18
mov edx, esi
push eax
push ebx
call fcn.00405be0
add esp, 8
movzx ebx, byte [0x43f225]
xor ebx, 1
jmp 0x4060ea
push edi
call fcn.0041d8b6
add esp, 4
test eax, eax
je 0x407f43
mov eax, dword [0x43fc58]
mov ecx, dword [0x43db2c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408031
mov eax, dword [0x43f844]
test eax, eax
je 0x407f5f
push eax
call fcn.0041ea14
add esp, 4
mov dword [0x43f844], 0
push 0
push 0x43fa50
call fcn.0041ce70
add esp, 8
test eax, eax
je 0x407fdd
push 0x43fa50
push 0x43f848
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x407f5f
push 0x43f848
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x407f5f
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x407e87
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x407e87
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x407f9c
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x407f9c
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406f6d
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406f6d
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x406fa7
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x406fa7
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x4071b6
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x4071b6
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x407280
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x407280
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x4072be
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x4072be
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x407337
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x407337
push 0x43fc58
call fcn.0041244a
add esp, 4
mov eax, dword [0x43fc58]
cmp eax, 0xffffffff
jne 0x407710
mov dword [0x43f844], 0
push 0x40a550
call fcn.004126b0
add esp, 4
push 0x43fc58
call fcn.0041249c
add esp, 4
jmp 0x407710