Function at 0x4054f0
Capabilities:
Copy file
Create directory
Create process on windows
Read file on windows
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1100
call fcn.00420760
mov eax, dword [0x43300c]
xor eax, ebp
cmp dword [ebp + 8], 2
mov dword [esp + 0x10f8], eax
jg 0x405542
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405ee0
push str.Not_enough_command_line_arguments_to_execute_a_service_command
jmp 0x40569b
mov edi, dword [ebp + 0xc]
lea ebx, [esp + 0xaaa]
push 0x20a
push 0
push ebx
call fcn.0040fff0
add esp, 0xc
push ebx
call fcn.0040c390
add esp, 4
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov esi, eax
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405f23
mov eax, dword [edi + 8]
test esi, esi
je 0x4055a5
push ebx
push eax
push str.Executing_service_command__ls__ID:__ls
push 0x434588
call fcn.0040b170
add esp, 0x10
jmp 0x4055b8
push eax
push str.Executing_service_command__ls
push 0x434588
call fcn.0040b170
add esp, 0xc
push str.software_update
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x40561f
push str.fix_update_directory_perms
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x4056af
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405fa9
mov ebx, edi
push dword [edi + 8]
push str.Service_command_not_recognized:__ls.
push 0x434588
call fcn.0040b1d0
add esp, 0xc
xor esi, esi
jmp 0x405780
cmp dword [ebp + 8], 4
jl 0x405675
push dword [edi + 0x10]
call fcn.0040b250
add esp, 4
test al, al
je 0x405675
mov ebx, edi
add edi, 0x10
mov esi, dword [edi]
push esi
call fcn.00416af2
add esp, 4
cmp eax, 9
ja 0x4057de
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4062a2
push str.The_patch_directory_path_length_is_not_valid_for_this_application.
jmp 0x40569b
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405fec
push str.The_patch_directory_path_is_not_valid_for_this_application.
push 0x434588
call fcn.0040b1d0
add esp, 8
xor esi, esi
jmp 0x4057c6
cmp dword [ebp + 8], 3
mov dword [esp + 0xeec], 0
jg 0x4056f9
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40621c
mov ebx, edi
push str.Didnt_get_an_install_dir_for_fix_update_directory_perms
push 0x434588
call fcn.0040b1d0
add esp, 8
xor ecx, ecx
jmp 0x4056fe
mov ecx, dword [edi + 0xc]
mov ebx, edi
lea eax, [esp + 0xeec]
xor edx, edx
push eax
push 1
push 0
push 0
call fcn.00407870
add esp, 0x10
test eax, eax
js 0x405728
mov edi, dword [esp + 0xeec]
mov esi, 1
jmp 0x405768
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov esi, eax
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40625f
mov edi, dword [esp + 0xeec]
push esi
push edi
push str.Unable_to_set_the_permissions_on_the_update_directory___S_:__d
push 0x434588
call fcn.0040b1d0
add esp, 0x10
xor esi, esi
test edi, edi
mov dword [esp + 0xeec], 0
je 0x405780
push edi
call fcn.0040d9b7
add esp, 4
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x405f66
test esi, esi
mov eax, str.Failure
mov ecx, str.Success
cmove ecx, eax
push ecx
push dword [ebx + 4]
push str.service_command__ls_complete_with_result:__ls.
push 0x434588
call fcn.0040b170
add esp, 0x10
mov ecx, dword [esp + 0x10f8]
xor ecx, ebp
call fcn.0040e0d1
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esi + eax*2 - 0x14]
push 0xa
push str.updates0
push eax
call fcn.00415156
add esp, 0xc
test eax, eax
je 0x405821
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406330
push str.The_patch_directory_path_subdirectory_is_not_valid_for_this_application.
jmp 0x40569b
push dword [edi]
call fcn.0040b8a0
add esp, 4
push dword [edi]
call fcn.0040b750
add esp, 4
test eax, eax
je 0x405905
cmp dword [ebp + 8], 5
jl 0x405884
mov esi, ebx
push dword [ebx + 0x14]
call fcn.0040b250
mov ecx, dword [ebp + 8]
add esp, 4
test al, al
je 0x405884
lea eax, [ecx - 3]
cmp eax, 4
mov dword [esp + 4], eax
jne 0x405930
push 0x42dfe4
push dword [esi + 0x18]
call fcn.00416a90
add esp, 8
test eax, eax
jne 0x405932
jmp 0x405abc
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4064e6
push str.The_install_directory_path_is_not_valid_for_this_application.
push 0x434588
call fcn.0040b1d0
add esp, 8
push 0x37
push dword [edi]
call fcn.0040bee0
add esp, 8
xor esi, esi
test eax, eax
jne 0x4057c6
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40656c
push str.Could_not_write_update.status_for_previous_failure.
push 0x434588
call fcn.0040b1d0
add esp, 8
jmp 0x4057c6
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406529
push str.Unable_to_write_to_secure_ID_file.
jmp 0x40569b
jl 0x40596c
push str._replace
push dword [ebx + 0x18]
call fcn.004102b3
add esp, 8
test eax, eax
jne 0x405abc
mov esi, dword [ebx + 0x18]
movzx eax, word [esi]
test ax, ax
je 0x405abc
add esi, 2
movzx eax, ax
push eax
call fcn.004167ac
add esp, 4
test eax, eax
jne 0x40594d
cmp dword [ebp + 8], 6
jl 0x4059dc
push dword [ebx + 0x18]
call fcn.0040b250
add esp, 4
test al, al
je 0x4059dc
push 0x104
push dword [ebx + 0x14]
push dword [ebx + 0x18]
call fcn.00415156
add esp, 0xc
test eax, eax
je 0x405abc
cmp dword [ebp + 8], 7
jge 0x405a16
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406a88
push str.Installation_directory_and_working_directory_must_be_the_same_for_non_staged_updates._Exiting.
push 0x434588
call fcn.0040b1d0
add esp, 8
push 0x36
jmp 0x4058b9
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4066a8
push str.The_working_directory_path_is_not_valid_for_this_application.
push 0x434588
call fcn.0040b1d0
add esp, 8
push 0x38
jmp 0x4058b9
push 0x42dfe4
push dword [ebx + 0x1c]
call fcn.00416a90
add esp, 8
test eax, eax
je 0x405a42
push str._replace
push dword [ebx + 0x1c]
call fcn.004102b3
add esp, 8
test eax, eax
je 0x4059a2
mov eax, dword [ebx + 0x18]
sub esp, 0x10
lea esi, [esp + 0xefc]
mov dword [esp + 0xc], eax
mov dword [esp], esi
call fcn.004076b0
add esp, 0x10
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x405d5f
push 0x104
push dword [ebx + 0x14]
push esi
call fcn.00415156
add esp, 0xc
test eax, eax
je 0x405abc
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406b94
push str.The_apply_to_directory_must_be_the_same_as_or_a_child_of_the_installation_directory__Exiting.
push 0x434588
call fcn.0040b1d0
add esp, 8
push 0x34
jmp 0x405bfe
lea esi, [ebx + 0xc]
lea eax, [esp + 0x8a0]
push 0x20a
push 0
push eax
call fcn.0040fff0
add esp, 0xc
mov ecx, dword [esp + 4]
lea eax, [esp + 0x8a0]
mov dword [esp + 8], esi
mov edx, esi
push eax
call fcn.004049d0
add esp, 4
test eax, eax
je 0x405bc5
call fcn.0040c140
test eax, eax
jne 0x405c53
lea eax, [esp + 0xeec]
push eax
lea eax, [esp + 0x8a4]
push eax
call fcn.0040a2a0
add esp, 8
test eax, eax
je 0x405bfc
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40672e
lea esi, [esp + 0xeec]
push esi
push str.Checking_for_Maintenance_Service_registry._key:__ls
push 0x434588
call fcn.0040b170
add esp, 0xc
lea eax, [esp + 0xcb4]
mov dword [esp + 0xcb4], 0
push eax
push 0x20119
push 0
push esi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x405c46
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4067b4
push str.The_maintenance_service_registry_key_does_not_exist.
push 0x434588
call fcn.0040b1d0
add esp, 8
push 0x39
jmp 0x405bfe
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4066eb
push str.Could_not_get_the_installation_directory
push 0x434588
call fcn.0040b1d0
add esp, 8
push 0x21
jmp 0x405bfe
push 0x35
push dword [edi]
call fcn.0040bee0
add esp, 8
test eax, eax
jne 0x405c3f
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406771
push str.Could_not_write_update.status_for_previous_failure.
push 0x434588
call fcn.0040b1d0
add esp, 8
xor esi, esi
jmp 0x4057c6
push dword [esp + 0xcb4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0xc], edi
lea edi, [esp + 0x696]
push 0x20a
push 0
push edi
call fcn.0040fff0
add esp, 0xc
push 0x104
lea eax, [esp + 0x8a4]
push eax
push edi
call fcn.00416f6b
add esp, 0xc
push str.updater.exe
push edi
call fcn.0040c350
add esp, 8
test eax, eax
jne 0x405cc9
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406acb
push str.Install_directory_updater_could_not_be_determined.
push 0x434588
call fcn.0040b1d0
add esp, 8
mov eax, dword [esp + 0xc]
lea edi, [esp + 0x696]
lea edx, [esp + 0x8a0]
mov ecx, edi
push dword [eax]
call fcn.00404b10
add esp, 4
mov byte [esp + 0x14], al
lea eax, [esp + 0x48c]
push 0x20a
push 0
mov esi, eax
push eax
call fcn.0040fff0
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x405dda
push 0x104
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x405da0
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x405e98
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406b51
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Couldnt_remove_file_spec_when_attempting_to_use_a_secure_updater_path.____d_
jmp 0x405dcd
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406bd7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Couldnt_remove_file_spec_when_attempting_to_verify_the_working_directory_path.____d_
push 0x434588
call fcn.0040b1d0
add esp, 0xc
push 0x47
jmp 0x405bfe
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406c1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_obtain_module_filename_when_attempting_to_use_a_secure_updater_path.____d_
push 0x434588
call fcn.0040b1d0
add esp, 0xc
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406a45
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_copy_path_to_secure_location.____d_
push 0x434588
call fcn.0040b1d0
add esp, 0xc
push 0x31
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0040bee0
add esp, 8
xor esi, esi
test eax, eax
jne 0x405e5d
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406b0e
push str.Could_not_write_update.status_could_not_copy_updater_error
push 0x434588
call fcn.0040b1d0
add esp, 8
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406a02
push dword [ebx + 8]
push str.Service_command__ls_complete.
push 0x434588
call fcn.0040b170
add esp, 0xc
jmp 0x405780
push 0x42dd62
push esi
call fcn.0040c350
add esp, 8
test eax, eax
jne 0x40602f
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4062ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Couldnt_append_file_spec_when_attempting_to_use_a_secure_updater_path.____d_
jmp 0x405dcd
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405538
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405538
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405588
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405588
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4057a1
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4057a1
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405601
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405601
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405696
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405696
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push str.updater.exe
lea eax, [esp + 0x490]
push eax
call fcn.0040c350
add esp, 8
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
test eax, eax
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
mov ecx, dword [ecx + 4]
je 0x4062e5
cmp eax, ecx
jg 0x406c5d
push esi
push edi
mov eax, dword [esp + 0x10]
push dword [eax]
push str.Passed_in_path:__ls__ignored___Install_dir_has:__ls__Using_this_path_for_updating:__ls.
push 0x434588
call fcn.0040b170
add esp, 0x14
lea ecx, [esp + 0x48c]
call fcn.00405360
push 0
lea eax, [esp + 0x490]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x405dda
mov eax, dword [esp + 8]
mov dword [eax], esi
lea eax, [esp + 0x282]
push 0x20a
push 0
push eax
call fcn.0040fff0
add esp, 0xc
lea eax, [esp + 0x78]
push 0x20a
push 0
push eax
call fcn.0040fff0
add esp, 0xc
push str.updater.ini
push esi
lea eax, [esp + 0x80]
push eax
call fcn.0040b4f0
add esp, 0xc
test eax, eax
je 0x40617c
push str.updater.ini
push edi
lea eax, [esp + 0x28a]
push eax
call fcn.0040b4f0
add esp, 0xc
test eax, eax
je 0x40617c
push 0
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x28a]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x40617c
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406dac
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x28a]
push eax
push str.Could_not_copy_updater.ini_from:__ls_to__ls.____d_
push 0x434588
call fcn.0040b1d0
add esp, 0x14
cmp dword [esp + 4], 2
ja 0x406373
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406ca0
push str.Not_enough_command_line_parameters_specified._Updating_update.status.
push 0x434588
call fcn.0040b1d0
add esp, 8
cmp dword [esp + 4], 2
jne 0x4061db
push 0x19
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0040bee0
add esp, 8
xor esi, esi
test eax, eax
jne 0x4064d5
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406ce3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
push 0x434588
call fcn.0040b1d0
add esp, 0xc
xor esi, esi
jmp 0x4064d5
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4056e1
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4056e1
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40574b
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x40574b
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40566e
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x40566e
cmp eax, ecx
jle 0x405ecf
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405ecf
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405ecf
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405817
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405817
lea esi, [esp + 0xcb4]
push 0x20a
push 0
push esi
call fcn.0040fff0
add esp, 0xc
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
push esi
call fcn.004049d0
add esp, 4
test eax, eax
je 0x406459
mov eax, dword [esp + 8]
lea edx, [esp + 0xcb4]
mov ecx, dword [eax]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.00404b10
add esp, 4
mov edx, dword [0x433a44]
mov esi, dword fs:[0x2c]
mov ecx, dword [0x434794]
test al, al
mov edx, dword [esi + edx*4]
mov edx, dword [edx + 4]
jne 0x4065af
cmp ecx, edx
jg 0x406d26
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_start_process_due_to_certificate_check_error_on_updater.exe._Updating_update.status.____d_
push 0x434588
call fcn.0040b1d0
add esp, 0xc
push 0x1a
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0040bee0
add esp, 8
xor esi, esi
test eax, eax
jne 0x4064d5
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406def
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_pending_state_to_update.status.____d_
push 0x434588
call fcn.0040b1d0
add esp, 0xc
jmp 0x4064d5
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406d69
push str.Could_not_get_the_installation_directory
push 0x434588
call fcn.0040b1d0
add esp, 8
push 0x21
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0040bee0
add esp, 8
xor esi, esi
test eax, eax
jne 0x4064d5
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406e32
push str.Could_not_write_update.status_for_GetInstallationDir_failure.
push 0x434588
call fcn.0040b1d0
add esp, 8
lea ecx, [esp + 0x48c]
call fcn.00405360
jmp 0x405e5d
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4058a5
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4058a5
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405926
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405926
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4058ee
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4058ee
cmp ecx, edx
jg 0x406e75
push str.Starting_update_process_as_the_service_in_session_0.
push 0x434588
call fcn.0040b170
add esp, 8
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x30], 0x44
mov dword [esp + 0x38], str.winsta0Default
lea eax, [esp + 0x1c]
movaps xmmword [esp + 0x20], xmm0
push 0
push 0
push dword [esp + 0x10]
mov esi, dword [esp + 0x10]
push esi
push eax
call fcn.00401f70
add esp, 0x14
cmp esi, 4
jne 0x4067f7
push 0x42dfe4
push dword [ebx + 0x18]
call fcn.00416a90
add esp, 8
test eax, eax
jne 0x4067fe
mov esi, 2
cmp esi, dword [esp + 4]
jle 0x406840
jmp 0x406854
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4059fd
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4059fd
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405be6
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405be6
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405b46
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405b46
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405c2d
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405c2d
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405baf
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405baf
mov esi, 3
jl 0x40683a
push str._replace
push dword [ebx + 0x18]
call fcn.004102b3
add esp, 8
mov esi, 2
test eax, eax
jne 0x40683a
mov edi, dword [ebx + 0x18]
movzx eax, word [edi]
test ax, ax
je 0x40683a
add edi, 2
movzx eax, ax
push eax
call fcn.004167ac
add esp, 4
test eax, eax
jne 0x40681a
mov esi, 3
cmp esi, dword [esp + 4]
jg 0x406854
mov dword [esp + 0x38], 0x42e040
or byte [esp + 0x5c], 1
mov word [esp + 0x60], 0
push str.MOZ_USING_SERVICE1
call fcn.0041480e
add esp, 4
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406eb8
push dword [esp + 0x1c]
push str.Starting_service_with_cmdline:__ls
push 0x434588
call fcn.0040b170
add esp, 0xc
lea eax, [esp + 0x20]
lea ecx, [esp + 0x30]
push eax
push ecx
push 0
push 0
push 0x4000000
push 0
push 0
push 0
push dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
mov dword [esp + 0x14], eax
je 0x40693b
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406efb
push str.Process_was_started..._waiting_on_result.
push 0x434588
call fcn.0040b170
add esp, 8
push 0xdbba0
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x40698e
push 1
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 1
mov dword [esp + 4], 0
jmp 0x406ff1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov esi, eax
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406f3e
push esi
push dword [esp + 0x20]
mov eax, dword [esp + 0x10]
push dword [eax]
push str.Could_not_create_process_as_current_user__updaterPath:__ls__cmdLine:__ls.____d_
push 0x434588
call fcn.0040b1d0
add esp, 0x14
mov dword [esp + 4], 0
jmp 0x4072db
lea eax, [esp + 0xeec]
push eax
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov esi, eax
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406f81
test esi, esi
je 0x406fc7
push dword [esp + 0xeec]
push str.Process_finished_with_return_code__d.
push 0x434588
call fcn.0040b170
add esp, 0xc
xor eax, eax
cmp dword [esp + 0xeec], 0
mov dword [esp + 0x10], 0
sete al
mov dword [esp + 4], eax
jmp 0x406fe9
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405e7e
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405e7e
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405dfb
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405dfb
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4059c3
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4059c3
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405cb7
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405cb7
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405e4b
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405e4b
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405d51
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405d51
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405aa3
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405aa3
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405d80
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405d80
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x405dc1
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x405dc1
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x406078
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x406078
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4061a8
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4061a8
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4061fc
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4061fc
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4063ea
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4063ea
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40647a
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x40647a
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x406156
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x406156
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40643e
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x40643e
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4064c3
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4064c3
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4065b7
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4065b7
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x406882
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x406882
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4068ea
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4068ea
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x406964
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x406964
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4069c3
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
test esi, esi
jne 0x4069cb
push str.Process_finished_but_could_not_obtain_return_code.
push 0x434588
call fcn.0040b1d0
add esp, 8
mov dword [esp + 4], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0x18], 0
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0x20]
call esi
push dword [esp + 0x24]
call esi
mov eax, dword [esp + 0xc]
lea esi, [esp + 0xeec]
mov edi, dword [eax]
push 0x20a
push 0
push esi
call fcn.0040fff0
add esp, 0xc
push esi
push str..status
push edi
call fcn.0040b6d0
add esp, 0xc
test eax, eax
je 0x4070bb
push 0
push 0
push 3
push 0
push 7
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [esp + 8], eax
je 0x4070f3
xorps xmm0, xmm0
lea eax, [esp + 0x74]
lea ecx, [esp + 0xec0]
movaps xmmword [esp + 0xed0], xmm0
movaps xmmword [esp + 0xec0], xmm0
push 0
push eax
push 0x20
push ecx
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40711b
mov eax, 0x6c707061
mov ecx, 0x676e6979
xor edx, edx
mov esi, 1
xor eax, dword [esp + 0xec0]
xor ecx, dword [esp + 0xec4]
or ecx, eax
sete dl
mov edi, edx
jmp 0x407152
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4071ff
push str.Could_not_get_path_for_the_secure_update_status_file
push 0x434588
call fcn.0040b1d0
add esp, 8
jmp 0x4072db
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407553
push str.Could_not_open_update.status_file
jmp 0x407141
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407596
push str.Could_not_read_from_update.status_file
push 0x434588
call fcn.0040b1d0
add esp, 8
xor edi, edi
xor esi, esi
mov eax, dword [esp + 8]
inc eax
cmp eax, 2
jb 0x407166
push dword [esp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x4072db
test esi, esi
je 0x4072db
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407242
cmp dword [esp + 4], 0
je 0x40728b
push str.update.status_is_still_applying_even_though_update_was_successful.
push 0x434588
call fcn.0040b170
add esp, 8
push 0x1d
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0040bee0
add esp, 8
test eax, eax
mov dword [esp + 4], 0
jne 0x4072db
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40761c
push str.Could_not_write_update.status_still_applying_on_success_error.
jmp 0x4070e1
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4070dc
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4070dc
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x407197
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
cmp dword [esp + 4], 0
jne 0x4071a2
push str.update.status_is_still_applying_and_update_was_not_successful.
push 0x434588
call fcn.0040b1d0
add esp, 8
cmp dword [esp + 0x18], 0
mov eax, 0x1e
mov ecx, 0x32
cmove ecx, eax
cmp dword [esp + 0x10], 0
mov eax, 0x33
cmove eax, ecx
push eax
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0040bee0
add esp, 8
test eax, eax
mov dword [esp + 4], 0
je 0x4073b6
push str.MOZ_USING_SERVICE
call fcn.0041480e
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], 0
test eax, eax
je 0x407301
push eax
call fcn.0040d9b7
add esp, 4
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4073e1
cmp dword [esp + 4], 0
je 0x40742a
push str.updater.exe_was_launched_and_run_successfully_
push 0x434588
call fcn.0040b170
add esp, 8
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4074cd
mov eax, dword [0x434588]
test eax, eax
je 0x407372
push eax
call fcn.004154de
add esp, 4
cmp dword [ebp + 8], 8
je 0x407388
cmp dword [ebp + 8], 7
jne 0x40739c
push 0x42dfe4
push dword [ebx + 0x18]
jmp 0x407390
push 0x42dfe4
push dword [ebx + 0x1c]
call fcn.00416a90
add esp, 8
test eax, eax
je 0x4073ac
lea eax, [esp + 0xcb4]
push eax
call fcn.0040b9f0
add esp, 4
mov esi, 1
jmp 0x4064d5
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40765f
push str.Could_not_write_update.status_still_applying_on_failure_error.
jmp 0x4070e1
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x407322
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
cmp dword [esp + 4], 0
jne 0x40732d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_running_update_process._Updating_update.status____d_
push 0x434588
call fcn.0040b1d0
add esp, 0xc
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407510
mov eax, dword [0x434588]
test eax, eax
je 0x407476
push eax
call fcn.004154de
add esp, 4
xor esi, esi
cmp dword [esp + 0x14], 0
jne 0x4064d5
push 0x18
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.0040bee0
add esp, 8
test eax, eax
jne 0x4064d5
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov eax, dword [0x434794]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4075d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
jmp 0x40644a
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x407360
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x407360
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x407464
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x407464
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x407114
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x407114
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x40713c
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x40713c
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4074bc
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4074bc
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4071f5
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4071f5
push 0x434794
call fcn.0040d9e7
add esp, 4
cmp dword [0x434794], 0xffffffff
jne 0x4073d7
mov dword [0x434588], 0
push 0x401f30
call fcn.0040dc5c
add esp, 4
push 0x434794
call fcn.0040da39
add esp, 4
jmp 0x4073d7