Function at 0x406050
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 file attributes
Get number of processors
Move file
Read file on windows
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xea0
mov eax, dword [0x43e00c]
xor eax, ebp
mov dword [esp + 0xe98], eax
push 0x436f80
call fcn.0041f2d3
add esp, 4
test eax, eax
je 0x406086
cmp byte [eax], 0
setne al
jmp 0x406088
xor eax, eax
mov byte [0x43ffd0], al
push str.MOZ_USING_SERVICE
call fcn.0041c845
add esp, 4
cmp dword [ebp + 8], 3
jg 0x4060bd
push 2
call fcn.004121ed
add esp, 4
push str.Usage:_updater_patch_dir_install_dir_apply_to_dir__wait_pid__callback_working_dir_callback_path_args...___n
push eax
call fcn.00401220
add esp, 8
jmp 0x406512
mov eax, dword [ebp + 0xc]
lea esi, [eax + 4]
mov ecx, 0x104
mov ebx, 0x43f7a8
push ecx
push dword [eax + 4]
push ebx
call fcn.0041213d
add esp, 0xc
mov word [0x43f9ae], 0
lea edi, [esp + 0xc90]
push 0x208
push 0
push edi
call fcn.00414ee0
add esp, 0xc
push ebx
push str._supdate_elevated.lock
mov eax, 0x104
push eax
push edi
call fcn.00404cf0
add esp, 0x10
mov al, 1
cmp byte [0x43ffd0], 0
jne 0x406136
push edi
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x406134
call fcn.004122fc
cmp dword [eax], 2
setne al
jmp 0x406136
xor eax, eax
mov byte [0x4401dc], al
push dword [esi]
call fcn.00410700
add esp, 4
test al, al
je 0x406224
mov edi, dword [ebp + 0xc]
push dword [edi + 8]
call fcn.00410700
add esp, 4
test al, al
je 0x40623b
mov dword [esp + 0x10], esi
mov esi, 0x43ffd4
push 0x104
push dword [edi + 8]
push esi
call fcn.0041213d
add esp, 0xc
mov word [0x4401da], 0
push 0x5c
push esi
call fcn.004152a7
add esp, 8
test eax, eax
je 0x4061a1
cmp word [eax + 2], 0
jne 0x4061a1
mov word [eax], 0
lea esi, [esp + 0x230]
push 0x43f7a8
push str._s_update.status
push 0x104
push esi
call fcn.00404cf0
add esp, 0x10
push 0x4386ba
push esi
call fcn.0041d63e
add esp, 8
xor ebx, ebx
test eax, eax
je 0x406277
mov edi, eax
xorps xmm0, xmm0
lea esi, [esp + 0xa80]
movaps xmmword [esi + 0x10], xmm0
movaps xmmword [esi], xmm0
push eax
push 1
push 0x20
push esi
call fcn.0041ee3f
add esp, 0x10
push 0xf
push 0x43533e
push esi
call fcn.00413f37
add esp, 0xc
test eax, eax
je 0x406281
push 0xf
push str.applied_service
push esi
call fcn.00413f37
add esp, 0xc
test eax, eax
sete al
jmp 0x406283
mov esi, dword [esi]
push 2
call fcn.004121ed
add esp, 4
push esi
push str.The_patch_directory_path_is_not_valid_for_this_application___S__n
jmp 0x406509
sub esp, 0x10
lea esi, [esp + 0x240]
mov dword [esp], esi
mov dword [esp + 0xc], 0x4b
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov esi, dword [edi + 8]
push 2
call fcn.004121ed
add esp, 4
push esi
push str.The_install_directory_path_is_not_valid_for_this_application___S__n
jmp 0x406509
mov dword [esp + 0x14], 0
jmp 0x406297
mov al, 1
mov dword [esp + 0x14], eax
push edi
call fcn.0041e96c
add esp, 4
lea esi, [esp + 0x230]
mov dword [esp + 0x230], ebx
sub esp, 0x24
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebx
movaps xmm0, xmmword [0x434eb0]
movups xmmword [esp + 8], xmm0
xor ebx, ebx
mov eax, 0x80000001
mov dword [esp], eax
mov dword [esp + 4], str.SoftwareClassesApplications
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
call edi
push dword [esp + 0x230]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
sub esp, 0x24
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebx
movaps xmm0, xmmword [0x434ec0]
movups xmmword [esp + 8], xmm0
mov eax, 0x80000001
mov dword [esp], eax
mov dword [esp + 4], str.SoftwareClassesApplicationsupdater.exe
call edi
test eax, eax
jne 0x406381
mov eax, dword [esp + 0x230]
sub esp, 0x18
xorps xmm0, xmm0
movups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], str.IsHostApp
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
call esi
mov eax, dword [esp + 0x230]
sub esp, 0x18
xorps xmm0, xmm0
movups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], str.NoOpenWith
call esi
mov eax, dword [esp + 0x230]
sub esp, 0x18
xorps xmm0, xmm0
movups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], str.NoStartPage
call esi
push dword [esp + 0x230]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edi, edi
mov esi, 0
mov ebx, dword [ebp + 8]
cmp ebx, 5
jl 0x4063d7
mov esi, dword [ebp + 0xc]
push dword [esi + 0x10]
call fcn.0041d88b
add esp, 4
mov edi, eax
and eax, edx
cmp eax, 0xffffffff
je 0x4063c8
mov ebx, edx
push str._replace
push dword [esi + 0x10]
call fcn.00415349
add esp, 8
test eax, eax
je 0x4063c4
mov byte [0x4401dd], 1
mov esi, ebx
jmp 0x4063d4
mov byte [0x43f9b0], 1
xor edi, edi
dec edi
mov esi, edi
mov ebx, dword [ebp + 8]
mov dword [esp + 0xc], edi
mov edi, dword [ebp + 0xc]
push dword [edi + 0xc]
call fcn.00410700
add esp, 4
test al, al
je 0x4064d2
mov dword [esp + 0x18], esi
mov esi, 0x43f9b8
push 0x104
push dword [edi + 0xc]
push esi
call fcn.0041213d
add esp, 0xc
mov word [0x43fbbe], 0
push 0x5c
push esi
call fcn.004152a7
add esp, 8
test eax, eax
je 0x40642f
cmp word [eax + 2], 0
jne 0x40642f
mov word [eax], 0
cmp ebx, 7
jl 0x4065ce
mov ebx, dword [ebp + 0xc]
mov edi, ebx
push dword [ebx + 0x18]
call fcn.00410700
add esp, 4
test al, al
je 0x40652d
mov esi, 0x43ffd4
push esi
call fcn.00411f8b
add esp, 4
mov edi, eax
lea ebx, [esp + 0x230]
push 0x208
push 0
push ebx
call fcn.00414ee0
add esp, 0xc
push edi
mov edi, dword [ebp + 0xc]
push dword [edi + 0x18]
push ebx
call fcn.0041213d
add esp, 0xc
push ebx
push esi
call fcn.0041fa9e
add esp, 8
test eax, eax
je 0x406566
sub esp, 0x10
lea esi, [esp + 0xa90]
mov dword [esp], esi
mov dword [esp + 0xc], 0x4e
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov esi, dword [edi + 0x18]
push 2
call fcn.004121ed
add esp, 4
push esi
push str.The_callback_file_must_be_located_in_the_installation_directory___S__n
jmp 0x406509
sub esp, 0x10
lea esi, [esp + 0x240]
mov dword [esp], esi
mov dword [esp + 0xc], 0x4c
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov esi, dword [edi + 0xc]
push 2
call fcn.004121ed
add esp, 4
push esi
push str.The_working_directory_path_is_not_valid_for_this_application___S__n
push eax
call fcn.00401220
add esp, 0xc
xor esi, esi
inc esi
mov ecx, dword [esp + 0xe98]
xor ecx, ebp
call fcn.00412b41
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x10
lea esi, [esp + 0x240]
mov dword [esp], esi
mov dword [esp + 0xc], 0x4d
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov esi, dword [edi + 0x18]
push 2
call fcn.004121ed
add esp, 4
push esi
push str.The_callback_file_path_is_not_valid_for_this_application___S__n
jmp 0x406509
mov ebx, dword [ebp + 8]
cmp ebx, 8
jl 0x4065aa
mov edi, 7
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4]
movzx ecx, word [eax]
or ecx, 2
cmp cx, 0x2f
jne 0x4065a5
lea ecx, [eax + 2]
lea edx, [eax + 4]
cmp word [eax + 2], 0x2d
cmove ecx, edx
push str.backgroundtask
push ecx
call fcn.0041fa9e
add esp, 8
test eax, eax
je 0x4065c7
inc edi
cmp ebx, edi
jne 0x406573
push str.MOZ_APP_SILENT_START
call fcn.0041f2d3
add esp, 4
test eax, eax
je 0x4065c3
cmp byte [eax], 0
setne al
jmp 0x4065c9
xor eax, eax
jmp 0x4065c9
mov al, 1
mov byte [0x4401de], al
lea edi, [esp + 0xa80]
push 0x20a
push 0
push edi
call fcn.00414ee0
add esp, 0xc
cmp byte [0x4401dc], 0
je 0x40660d
mov esi, 0x43f7a8
push esi
call fcn.00410d00
add esp, 4
push edi
push 0x438434
push esi
call fcn.00410b80
add esp, 0xc
jmp 0x406625
push 0x43f7a8
push str._supdate.log
push 0x105
push edi
call fcn.00404cf0
add esp, 0x10
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407db5
mov ecx, 0x4403e8
push edi
call fcn.004102f0
mov ecx, str.applying
call fcn.00408510
test al, al
je 0x406684
cmp byte [0x43f9b0], 1
jne 0x4066c1
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
mov edi, str.Performing_a_staged_update
jmp 0x4066e4
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407df8
push str.failed_setting_status_to_applying
push 0x4403e8
call fcn.00410340
add esp, 8
call fcn.004085f0
jmp 0x406512
cmp byte [0x4401dd], 1
jne 0x4066fe
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
mov edi, str.Performing_a_replace_request
cmp eax, dword [ecx + 4]
jg 0x407f04
push edi
push 0x4403e8
call fcn.00410340
add esp, 8
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407e3b
push 0x43f7a8
push str.PATCH_DIRECTORY__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
mov edi, dword [esp + 0xc]
jg 0x407e7e
push 0x43ffd4
push str.INSTALLATION_DIRECTORY__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407ec1
mov esi, 0x43f9b8
push esi
push str.WORKING_DIRECTORY__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
push 0x104
push 0x43ffd4
push esi
call fcn.0041d490
add esp, 0xc
test eax, eax
lea esi, [esp + 0x230]
je 0x406870
cmp byte [0x43f9b0], 0
jne 0x4067e3
cmp byte [0x4401dd], 0
je 0x406b87
push 0x43f9b8
push 0x437e8e
push 0x104
push esi
call fcn.00404cf0
add esp, 0x10
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x406b24
push 0x104
push 0x43ffd4
push esi
call fcn.0041d490
add esp, 0xc
test eax, eax
je 0x406870
sub esp, 0x10
lea esi, [esp + 0x888]
mov dword [esp], esi
mov dword [esp + 0xc], 0x48
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407f46
push str.The_apply_to_directory_must_be_the_same_as_or_a_child_of_the_installation_directory__Exiting.
jmp 0x4066aa
cmp edi, 1
sbb dword [esp + 0x18], 0
jl 0x4068df
push edi
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x4068df
mov edi, eax
push 0x7530
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [esp + 0xc], eax
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0xc], 0
je 0x4068df
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408052
push str.The_parent_process_didnt_exit__Continuing_with_update.
push 0x4403e8
call fcn.00410340
add esp, 8
cmp byte [0x4401dd], 0
lea edi, [esp + 0xc90]
jne 0x4068f8
cmp byte [0x43f9b0], 1
jne 0x40692f
lea esi, [esp + 0x230]
push 0x20a
push 0
push esi
call fcn.00414ee0
add esp, 0xc
push 0x105
push esi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x406928
push esi
call fcn.0041cf0d
add esp, 4
lea esi, [esp + 0x230]
cmp byte [0x43ffd0], 0
je 0x406aea
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
cmp byte [0x43f9b0], 1
jne 0x406958
mov ecx, 0x43f9b8
xor edx, edx
call fcn.004087a0
cmp byte [0x4401dd], 0
jne 0x406980
push 0x43f9b8
call fcn.0041d748
add esp, 4
test eax, eax
je 0x406980
call fcn.004122fc
cmp dword [eax], 0x11
jne 0x4066b7
lea edi, [esp + 0x878]
push 0x104
push edi
push 0x43f9b8
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x406bcf
cmp ebx, 7
jl 0x406c74
xor ecx, ecx
lea eax, [esp + 0x640]
push 0x208
push ecx
push eax
call fcn.00414ee0
add esp, 0xc
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0x18]
mov dword [esp + 0x10], ecx
mov ecx, esi
mov esi, dword [eax + 0x18]
push 0x410
xor eax, eax
push eax
push ecx
call fcn.00414ee0
add esp, 0xc
cmp byte [0x4401dd], 1
jne 0x406ab0
mov ecx, 0x43ffd4
xor eax, eax
push eax
push ecx
push esi
call dword [sym.imp.SHLWAPI.dll_PathCommonPrefixW]
mov esi, eax
push eax
mov eax, dword [esp + 0x14]
push dword [eax]
lea eax, [esp + 0x238]
push eax
call fcn.0041213d
add esp, 0xc
mov eax, esi
mov dword [esp + 0x14], esi
lea esi, [esp + esi*2]
add esi, 0x230
mov ebx, 0x208
sub ebx, eax
lea edi, [eax + eax]
add edi, 0x43ffd4
push ebx
push edi
push esi
call fcn.0041213d
add esp, 0xc
push edi
call fcn.00411f8b
add esp, 4
mov edi, eax
lea eax, [esi + eax*2]
add eax, 2
mov dword [esp + 0x18], eax
mov dword [eax - 2], 0x5c
not edi
add edi, ebx
lea ebx, [esp + 0x20]
mov eax, 0x43ffd4
push eax
push ebx
call fcn.00411e54
add esp, 8
xor eax, eax
push eax
push ebx
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x18]
push dword [esi]
call dword [sym.imp.SHLWAPI.dll_PathCommonPrefixW]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
cmovb eax, ecx
add eax, eax
add eax, dword [esi]
push edi
lea edi, [esp + 0x87c]
push eax
push dword [esp + 0x20]
call fcn.0041213d
add esp, 0xc
lea esi, [esp + 0x230]
push 0x104
lea eax, [esp + 0x644]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x407157
xor eax, eax
dec eax
cmp byte [0x4401dd], 0
je 0x407204
mov edi, eax
lea esi, [esp + 0x230]
jmp 0x406c77
mov al, byte [0x43f9b0]
cmp ebx, 6
jle 0x406e76
test al, 1
jne 0x406e7a
cmp byte [0x4401dd], 1
je 0x406ebf
lea eax, [esp + 0x878]
mov ecx, dword [ebp + 0xc]
push dword [ecx + 0x18]
push str._s.update_in_progress.lock
jmp 0x406ef1
sub esp, 0x10
lea esi, [esp + 0x888]
mov dword [esp], esi
mov dword [esp + 0xc], 0x47
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407f89
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_calling_PathRemoveFileSpecW:__d
push 0x4403e8
call fcn.00410340
add esp, 0xc
jmp 0x4066b7
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 0xc], 0x4a
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407fcc
push str.Installation_directory_and_working_directory_must_be_the_same_for_non_staged_updates._Exiting.
jmp 0x4066aa
sub esp, 0x10
lea edi, [esp + 0x240]
mov dword [esp], edi
mov dword [esp + 0xc], 0x41
call fcn.00401000
add esp, 0x10
mov ecx, edi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40800f
push 0x43f9b8
push str.NS_main:_unable_to_find_apply_to_dir:__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
call fcn.004085f0
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
lea esi, [esp + 0xc90]
je 0x406c47
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x406e8d
call fcn.004122fc
cmp ebx, 7
jl 0x406512
cmp dword [eax], 2
je 0x406e96
jmp 0x406512
xor edi, edi
dec edi
cmp byte [0x43f9b0], 0
jne 0x406cce
cmp byte [0x4401dd], 0
jne 0x406cce
mov esi, 0x4401e0
push str.tobedeleted
push 0x43f9b8
push str._s__s
push 0x104
push esi
call fcn.00404cf0
add esp, 0x14
push 0
push esi
lea esi, [esp + 0x238]
call fcn.0041ce35
add esp, 8
test eax, eax
je 0x406cce
push 0x4401e0
call fcn.0041d748
add esp, 4
mov dword [esp + 0x234], 0x408a90
xor eax, eax
mov dword [esp + 0x238], eax
lea ecx, [esp + 0x640]
push ecx
push eax
push esi
push 0x40aee0
push eax
push eax
call fcn.00418e09
add esp, 0x18
mov dword [esp + 0x230], eax
test eax, eax
je 0x406d34
cmp byte [0x43f9b0], 0
jne 0x406d34
cmp byte [0x4401dd], 0
jne 0x406d34
cmp byte [0x4401de], 0
jne 0x406d34
push 1
push 0
call fcn.004027b0
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 ebx, 7
jl 0x406db7
cmp byte [0x4401dd], 0
jne 0x406db7
cmp edi, 0xffffffff
je 0x406d64
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x43fdc8
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x406db7
call fcn.004122fc
cmp dword [eax], 2
je 0x406db7
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408227
push 0x43fdc8
push str.NS_main:_non_fatal_error_removing_backup_of_callback_app_file__path:__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
cmp byte [0x43f9b0], 0
lea esi, [esp + 0xc90]
jne 0x407481
cmp byte [0x4401dd], 0
jne 0x407481
push 0x4401e0
call fcn.0041d863
add esp, 4
test eax, eax
je 0x407481
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40815e
call fcn.004122fc
push dword [eax]
push str.tobedeleted
push str.NS_main:_unable_to_remove_directory:__S__err:__d
push 0x4403e8
call fcn.00410340
add esp, 0x10
push 4
push 0
push 0x4401e0
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov edx, dword [edx + ecx*4]
mov ecx, dword [0x4405f4]
mov edx, dword [edx + 4]
test eax, eax
je 0x407462
cmp ecx, edx
jg 0x4081e4
push str.tobedeleted
push str.NS_main:_directory_will_be_removed_on_OS_reboot:__S
jmp 0x407474
test al, 1
je 0x406eb2
lea eax, [esp + 0x878]
push 0x43ffd4
push str._s_updated.update_in_progress.lock
jmp 0x406ef1
cmp ebx, 7
jl 0x406512
movzx eax, byte [0x43ffd0]
add ebx, 0xfffffffa
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x14]
add esi, 0x18
mov edx, ebx
push eax
push esi
jmp 0x4071fa
cmp byte [0x4401dd], 1
jne 0x407388
lea esi, [esp + 0x230]
push 0x43ffd4
push esi
call fcn.00411e54
add esp, 8
push 0x5c
push esi
call fcn.004152a7
add esp, 8
mov word [eax], 0
lea eax, [esp + 0x878]
push esi
push str._smoz_update_in_progress.lock
push 0x104
push eax
call fcn.00404cf0
add esp, 0x10
lea esi, [esp + 0x878]
push esi
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x406f21
call fcn.004122fc
cmp dword [eax], 2
jne 0x407140
sub esp, 0x1c
movaps xmm0, xmmword [0x434ed0]
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x4000000
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x406f68
push 0x22
push 0x43e9bc
push 0
call fcn.00410030
add esp, 0xc
mov eax, esi
cmp esi, 0xffffffff
lea esi, [esp + 0x230]
jne 0x40693f
push edi
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x406f95
call fcn.004122fc
cmp dword [eax], 2
jne 0x40735d
sub esp, 0x1c
movaps xmm0, xmmword [0x434ed0]
movups xmmword [esp + 4], xmm0
mov dword [esp], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x4000000
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x40735d
mov esi, eax
lea edx, [ebx - 1]
lea edi, [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x10]
call fcn.00401060
add esp, 4
mov edi, dword [edi]
test edi, edi
je 0x407524
cmp byte [esp + 0x14], 0
je 0x407976
push 0x43ffd4
call fcn.00410410
add esp, 4
test al, al
je 0x407976
lea eax, [esp + 0x230]
mov dword [eax], 0
mov ebx, eax
push eax
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.004113d0
add esp, 8
test eax, eax
je 0x407976
cmp dword [esp + 0x230], 0
je 0x407976
push ebx
call fcn.00411460
add esp, 4
test eax, eax
je 0x407055
cmp dword [esp + 0x230], 0
jne 0x407976
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
push ebx
push 0x43ffd4
call fcn.00401270
add esp, 8
test eax, eax
je 0x40796e
xor eax, eax
lea ecx, [esp + 0x640]
mov dword [ecx], eax
push ecx
push 0x20119
push eax
push ebx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4070a2
push dword [esp + 0x640]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [esp + 0x661], eax
mov dword [esp + 0x65d], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x650], xmm0
movaps xmmword [esp + 0x640], xmm0
push 0x20a
xor esi, esi
push eax
mov edi, ebx
push ebx
call fcn.00414ee0
add esp, 0xc
push ebx
push 0x438660
push 0x43f7a8
call fcn.00410b80
add esp, 0xc
test eax, eax
je 0x4077a9
push 0x4386ba
push ebx
call fcn.0041d63e
add esp, 8
test eax, eax
je 0x4077a7
mov edi, eax
push eax
push 1
push 0x24
lea eax, [esp + 0x64c]
push eax
call fcn.0041ee3f
add esp, 0x10
cmp eax, 1
sete al
mov esi, eax
jne 0x407132
mov byte [esp + 0x664], 0
push edi
call fcn.0041e96c
add esp, 4
jmp 0x4077a9
cmp byte [0x4401dd], 1
jne 0x407305
mov ecx, str.pending
jmp 0x40732d
sub esp, 0x10
lea edi, [esp + 0x30]
mov dword [esp], edi
mov dword [esp + 0xc], 0x42
call fcn.00401000
add esp, 0x10
mov ecx, edi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4080d8
push esi
push str.NS_main:_unable_to_find_callback_file:__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
call fcn.004085f0
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
lea esi, [esp + 0xc90]
je 0x4071c8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x4071e3
call fcn.004122fc
cmp dword [eax], 2
jne 0x406512
movzx eax, byte [0x43ffd0]
add ebx, 0xfffffffa
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
mov edx, ebx
push eax
push dword [esp + 0x14]
call fcn.00405f10
jmp 0x4060b5
push edi
call fcn.00411f8b
add esp, 4
lea ecx, [esp + eax*2]
add ecx, 0x640
cmp word [ecx], 0x5c
lea eax, [esp + eax*2 + 0x642]
cmovne eax, ecx
movzx edx, word [eax]
mov ecx, 2
mov edi, 0x2f
cmp dx, 0x5c
cmove edx, edi
mov word [ecx + 0x43fbbe], dx
movzx edx, word [eax + ecx]
add ecx, 2
test dx, dx
jne 0x407231
mov word [ecx + 0x43fbbe], 0
mov edi, 0x104
mov ebx, dword [esp + 0x10]
push dword [ebx]
push str._s.moz_callback
push edi
push 0x43fdc8
call fcn.00404cf0
add esp, 0x10
cmp eax, edi
jb 0x407394
sub esp, 0x10
lea esi, [esp + 0x30]
mov dword [esp], esi
mov dword [esp + 0xc], 3
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
lea esi, [esp + 0xc90]
jg 0x4081a1
push str.NS_main:_callback_backup_path_truncated
push 0x4403e8
call fcn.00410340
add esp, 8
call fcn.004085f0
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x4072ea
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x406512
call fcn.004122fc
jmp 0x406512
cmp byte [0x43f9b0], 1
jne 0x407332
sub esp, 0x10
lea esi, [esp + 0x240]
mov dword [esp], esi
mov dword [esp + 0xc], 0x2c
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408095
push str.Update_already_in_progress__Exiting
jmp 0x4066aa
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40811b
push str.Unable_to_create_elevated_lock_file__Exiting
jmp 0x4066aa
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
jmp 0x406961
push 0
push 0x43fdc8
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x407530
xor ebx, ebx
inc ebx
sub esp, 0x1c
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
movaps xmm0, xmmword [0x434ee0]
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
jne 0x40754f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407426
push edi
push esi
push ebx
push str.NS_main:_callback_app_file_open_attempt__d_failed._File:__S._Last_error:__d
push 0x4403e8
call fcn.00410340
add esp, 0x14
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0xb
jne 0x4073ae
jmp 0x407557
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x4073fe
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x4073fe
cmp ecx, edx
jg 0x40826a
push str.tobedeleted
push str.NS_main:_failed_to_schedule_OS_reboot_removal_of_directory:__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
call fcn.004085f0
cmp ebx, 7
jl 0x407515
cmp byte [0x43ffd2], 1
jne 0x4074cf
call fcn.00405ba0
test al, al
jne 0x4074b9
push 2
call fcn.004121ed
add esp, 4
push str.The_post_update_process_was_not_launched
push eax
call fcn.00401220
add esp, 8
cmp byte [0x43ffd0], 0
jne 0x4074cf
push 0x43ffd4
call fcn.00410e50
add esp, 4
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x4074df
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x4074f6
call fcn.004122fc
cmp dword [eax], 2
jne 0x407515
movzx eax, byte [0x43ffd0]
add ebx, 0xfffffffa
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x14]
add esi, 0x18
mov edx, ebx
push eax
push esi
call fcn.00405f10
add esp, 8
movzx esi, byte [0x43ffd2]
xor esi, 1
jmp 0x406515
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4066b7
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 0x10
lea edi, [esp + 0x30]
cmp eax, 5
jne 0x4075bc
mov dword [esp], edi
mov dword [esp + 0xc], 0x23
jmp 0x4075c7
mov ebx, dword [ebp + 8]
jmp 0x406adc
cmp edi, 0x20
jne 0x407667
cmp byte [0x4401de], 0
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
mov ecx, dword [ecx + 4]
je 0x40777c
cmp eax, ecx
jg 0x4083b9
mov eax, dword [esp + 0x10]
push dword [eax]
push str.NS_main:_callback_app_file_in_use__failed_to_exclusively_open_executable_file_from_background_task:__S
push 0x4403e8
call fcn.00410340
sub esp, 4
lea edi, [esp + 0x30]
mov dword [esp], edi
mov dword [esp + 0xc], 0x6a
jmp 0x4076c8
mov dword [esp], edi
mov dword [esp + 0xc], 0x25
call fcn.00401000
add esp, 0x10
mov ecx, edi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4082ad
push 0x43fdc8
mov eax, dword [esp + 0x14]
push dword [eax]
push str.NS_main:_failed_to_copy_callback_file__S_into_place_at__S
push 0x4403e8
call fcn.00410340
add esp, 0x10
call fcn.004085f0
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x407629
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0xc90]
push eax
call fcn.0041d80e
add esp, 4
test eax, eax
mov esi, dword [ebp + 8]
je 0x40764e
call fcn.004122fc
cmp dword [eax], 2
jne 0x406512
movzx eax, byte [0x43ffd0]
add esi, 0xfffffffa
mov edi, dword [esp + 0x10]
mov ecx, dword [edi]
mov edx, esi
push eax
push edi
jmp 0x4071fa
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408376
mov eax, dword [esp + 0x10]
push dword [eax]
push str.NS_main:_callback_app_file_in_use__failed_to_exclusively_open_executable_file:__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
sub esp, 0x10
cmp edi, 5
jne 0x4076b9
lea edi, [esp + 0x30]
mov dword [esp], edi
mov dword [esp + 0xc], 0x23
jmp 0x4076c8
lea edi, [esp + 0x30]
mov dword [esp], edi
mov dword [esp + 0xc], 0x25
call fcn.00401000
add esp, 0x10
mov ecx, edi
call fcn.00408510
push 0x43fdc8
call fcn.0041d80e
add esp, 4
test eax, eax
je 0x40772a
call fcn.004122fc
cmp dword [eax], 2
je 0x40772a
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4083fc
push 0x43fdc8
push str.NS_main:_unable_to_remove_backup_of_callback_app_file__path:__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
call fcn.004085f0
cmp dword [esp + 0xc], 0xffffffff
je 0x407740
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0xc90]
push eax
call fcn.0041d80e
add esp, 4
test eax, eax
mov esi, dword [ebp + 8]
je 0x407765
call fcn.004122fc
cmp dword [eax], 2
jne 0x406512
movzx eax, byte [0x43ffd0]
add esi, 0xfffffffa
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
mov edx, esi
jmp 0x4071f5
cmp eax, ecx
jg 0x40843f
mov eax, dword [esp + 0x10]
push dword [eax]
push str.NS_main:_callback_app_file_in_use__continuing_without_exclusive_access_for_executable_file:__S
push 0x4403e8
call fcn.00410340
add esp, 0xc
mov ebx, dword [ebp + 8]
xor eax, eax
dec eax
jmp 0x406adc
xor esi, esi
sub esp, 0x10
mov edi, ebx
mov dword [esp], ebx
mov dword [esp + 0xc], 0x3a
call fcn.00401000
add esp, 0x10
mov ecx, ebx
call fcn.00408510
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004112c0
add esp, 8
test eax, eax
jne 0x40796e
xor edi, edi
cmp byte [0x43f9b0], 0
jne 0x4077fe
cmp byte [0x4401de], 0
jne 0x4077fe
call fcn.00402710
test eax, eax
sete al
mov edi, eax
push 5
push str.MozillaMaintenance
call fcn.004110e0
add esp, 8
cmp eax, 1
je 0x40787a
mov dword [esp + 0x234], 0x408780
xor eax, eax
mov dword [esp + 0x238], eax
lea ecx, [esp + 0x20]
push ecx
push eax
push ebx
push 0x40aee0
push eax
push eax
call fcn.00418e09
add esp, 0x18
mov dword [esp + 0x230], eax
test eax, eax
sete cl
mov edx, edi
xor dl, 1
or dl, cl
jne 0x407864
push 0
push 1
call fcn.004027b0
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.004110e0
add esp, 8
cmp eax, 1
jne 0x40796e
mov byte [0x43ffd1], 1
xor eax, eax
mov dword [esp + 0x41], eax
mov dword [esp + 0x3d], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
mov eax, esi
test al, al
je 0x407cad
push 0x20a
push 0
mov edi, ebx
push ebx
call fcn.00414ee0
add esp, 0xc
push ebx
push 0x438660
push 0x43f7a8
call fcn.00410b80
add esp, 0xc
test eax, eax
je 0x407cad
push 0x4386ba
push ebx
call fcn.0041d63e
add esp, 8
test eax, eax
je 0x407cad
mov esi, eax
lea edi, [esp + 0x20]
push eax
push 1
push 0x24
push edi
call fcn.0041ee3f
add esp, 0x10
cmp eax, 1
jne 0x407db2
mov byte [esp + 0x44], 0
push esi
call fcn.0041e96c
add esp, 4
push 0x25
push edi
lea eax, [esp + 0x648]
push eax
call fcn.0041f7b0
add esp, 0xc
test eax, eax
jne 0x407cad
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4084c5
push str.The_secure_ID_hasnt_changed_after_launching_the_updater_using_the_service
jmp 0x407c73
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
cmp byte [0x43f9b0], 1
jne 0x4079e0
sub esp, 0x10
lea esi, [esp + 0x240]
mov dword [esp], esi
mov dword [esp + 0xc], 0x2b
call fcn.00401000
add esp, 0x10
mov ecx, esi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4082f0
push str.Non_critical_update_staging_error__Falling_back_to_non_staged_updates_and_exiting
push 0x4403e8
call fcn.00410340
add esp, 8
call fcn.004085f0
jmp 0x407d94
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
cmp byte [0x4401de], 0
je 0x407a7a
sub esp, 0x10
lea edi, [esp + 0x240]
mov dword [esp], edi
mov dword [esp + 0xc], 0x69
call fcn.00401000
add esp, 0x10
mov ecx, edi
call fcn.00408510
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408333
push str.Skipping_update_to_avoid_UAC_prompt_from_background_task.
push 0x4403e8
call fcn.00410340
add esp, 8
call fcn.004085f0
movzx eax, byte [0x43ffd0]
mov edx, dword [ebp + 8]
add edx, 0xfffffffa
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x14]
add esi, 0x18
push eax
push esi
call fcn.00405f10
add esp, 8
mov edi, dword [esp + 0xc]
jmp 0x407d94
xor esi, esi
mov dword [esp + 0x41], esi
mov dword [esp + 0x3d], esi
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
lea edi, [esp + 0x230]
push 0x20a
push esi
push edi
call fcn.00414ee0
add esp, 0xc
push edi
push 0x438660
push 0x43f7a8
call fcn.00410b80
add esp, 0xc
test eax, eax
je 0x407b00
push 0x4386ba
push edi
call fcn.0041d63e
add esp, 8
test eax, eax
je 0x407b00
mov ebx, eax
lea eax, [esp + 0x20]
push ebx
push 1
push 0x24
push eax
call fcn.0041ee3f
add esp, 0x10
cmp eax, 1
sete al
mov dword [esp + 0x14], eax
jne 0x407af5
mov byte [esp + 0x44], 0
push ebx
call fcn.0041e96c
add esp, 4
jmp 0x407b08
mov dword [esp + 0x14], 0
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 0xc], 0x4f
call fcn.00401000
add esp, 0x10
mov ecx, edi
call fcn.00408510
lea eax, [esp + 0x640]
mov dword [eax + 0x38], esi
xorps xmm0, xmm0
movups xmmword [eax + 0x28], xmm0
movups xmmword [eax + 0x18], xmm0
mov dword [eax], 0x3c
mov dword [eax + 4], 0x540
mov dword [eax + 8], esi
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x14], ecx
mov dword [eax + 0xc], str.runas
mov dword [eax + 0x1c], 1
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x407c89
push 0xffffffffffffffff
push dword [esp + 0x67c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esp + 0x678]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [0x43ffd1], 1
xor eax, eax
mov dword [esp + 0x871], eax
mov dword [esp + 0x86d], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x860], xmm0
movaps xmmword [esp + 0x850], xmm0
cmp byte [esp + 0x14], 0
je 0x407cad
push 0x20a
push 0
push edi
call fcn.00414ee0
add esp, 0xc
push edi
push 0x438660
push 0x43f7a8
call fcn.00410b80
add esp, 0xc
test eax, eax
je 0x407cad
push 0x4386ba
push edi
call fcn.0041d63e
add esp, 8
test eax, eax
je 0x407cad
mov edi, eax
lea esi, [esp + 0x850]
push eax
push 1
push 0x24
push esi
call fcn.0041ee3f
add esp, 0x10
cmp eax, 1
jne 0x407da4
mov byte [esp + 0x874], 0
push edi
call fcn.0041e96c
add esp, 4
lea eax, [esp + 0x20]
push 0x25
push esi
push eax
call fcn.0041f7b0
add esp, 0xc
test eax, eax
jne 0x407cad
mov eax, dword [0x4405f4]
mov ecx, dword [0x43eb8c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408482
push str.The_secure_ID_hasnt_changed_after_launching_the_updater_using_runas
push 0x4403e8
call fcn.00410340
add esp, 8
mov byte [0x43ffd1], 0
jmp 0x407cad
mov byte [0x43ffd1], 0
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 0xc], 9
call fcn.00401000
add esp, 0x10
mov ecx, edi
call fcn.00408510
cmp byte [0x43f9b0], 0
jne 0x407d5b
lea esi, [esp + 0x230]
push 0x20a
push 0
push esi
call fcn.00414ee0
add esp, 0xc
push esi
push 0x437e04
push 0x43f7a8
call fcn.00410b80
add esp, 0xc
test eax, eax
je 0x407d5b
push 0x4386ba
push esi
call fcn.0041d63e
add esp, 8
test eax, eax
je 0x407d5b
mov edi, eax
xorps xmm0, xmm0
lea esi, [esp + 0x640]
movaps xmmword [esi + 0x10], xmm0
movaps xmmword [esi], xmm0
push eax
push 1
push 0x20
push esi
call fcn.0041ee3f
add esp, 0x10
push 9
push 0x43535e
push esi
call fcn.00413f37
add esp, 0xc
mov esi, eax
push edi
call fcn.0041e96c
add esp, 4
test esi, esi
jne 0x407d5b
call fcn.00405ba0
test al, al
jne 0x407d5b
push 2
call fcn.004121ed
add esp, 4
push str.The_post_update_process_which_runs_as_the_user_for_service_update_could_not_be_launched.
push eax
call fcn.00401220
add esp, 8
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004085f0
cmp dword [ebp + 8], 7
mov edi, dword [esp + 0xc]
jl 0x407d94
movzx eax, byte [0x43ffd0]
mov edx, dword [ebp + 8]
add edx, 0xfffffffa
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x14]
add esi, 0x18
push eax
push esi
call fcn.00405f10
add esp, 8
push edi
call fcn.00412138
add esp, 4
xor esi, esi
jmp 0x406515
push edi
call fcn.0041e96c
add esp, 4
jmp 0x407cad
push esi
jmp 0x407da5
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406646
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406646
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x4066a5
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x4066a5
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x40671f
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x40671f
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x40675b
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x40675b
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406793
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406793
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407f3e
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
mov ebx, dword [ebp + 8]
jmp 0x4066f0
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406866
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406866
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406b69
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406b69
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406bc5
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406bc5
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406c14
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406c14
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x4068cd
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x4068cd
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407353
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407353
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407199
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407199
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x40737e
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x40737e
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406e0e
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406e0e
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x4072c3
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x4072c3
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406e67
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406e67
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x406da0
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x406da0
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x40746a
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x40746a
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x4075f7
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x4075f7
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x4079c4
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x4079c4
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407a3a
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407a3a
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407688
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407688
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407590
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407590
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407713
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407713
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407784
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407784
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407c6e
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407c6e
push 0x4405f4
call fcn.00412337
add esp, 4
cmp dword [0x4405f4], 0xffffffff
jne 0x407964
mov dword [0x4403e8], 0
push 0x40ab00
call fcn.004125ac
add esp, 4
push 0x4405f4
call fcn.00412389
add esp, 4
jmp 0x407964