Function at 0x405960
Capabilities:
Copy file
Create directory
Create process on windows
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1100
call fcn.0041caf0
mov esi, dword [ebp + 8]
mov eax, dword [0x42e00c]
xor eax, ebp
mov dword [esp + 0x10f8], eax
cmp esi, 2
jg 0x4059b4
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40628f
push str.Not_enough_command_line_arguments_to_execute_a_service_command
jmp 0x405b45
mov ebx, dword [ebp + 0xc]
lea edi, [esp + 0xaaa]
push 0x20a
push 0
push edi
call fcn.0040cce0
add esp, 0xc
push edi
call fcn.004239c0
add esp, 4
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov edx, dword [edx + ecx*4]
mov ecx, dword [0x42f78c]
mov edx, dword [edx + 4]
test eax, eax
je 0x405a17
cmp ecx, edx
jg 0x406315
push edi
push dword [ebx + 8]
push str.Executing_service_command__ls__ID:__ls
push 0x42f580
call fcn.00408770
add esp, 0x10
jmp 0x405a34
cmp ecx, edx
jg 0x40639b
push dword [ebx + 8]
push str.Executing_service_command__ls
push 0x42f580
call fcn.00408770
add esp, 0xc
push str.software_update
push dword [ebx + 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x405acd
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406358
push dword [ebx + 8]
push str.Service_command_not_recognized:__ls.
push 0x42f580
call fcn.004087d0
add esp, 0xc
xor esi, esi
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4062d2
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 0x42f580
call fcn.00408770
add esp, 0x10
jmp 0x405b54
cmp esi, 4
jl 0x405b1f
push dword [ebx + 0x10]
call fcn.00408b30
add esp, 4
test al, al
je 0x405b1f
lea eax, [ebx + 0x10]
mov dword [esp], eax
mov edi, dword [eax]
push edi
call fcn.0040a3f7
add esp, 4
cmp eax, 9
ja 0x405b6c
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406616
push str.The_patch_directory_path_length_is_not_valid_for_this_application.
jmp 0x405b45
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4063de
push str.The_patch_directory_path_is_not_valid_for_this_application.
push 0x42f580
call fcn.004087d0
add esp, 8
xor esi, esi
mov ecx, dword [esp + 0x10f8]
xor ecx, ebp
call fcn.0040add1
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [edi + eax*2]
add eax, 0xffffffec
push 0xa
push 0x429fb4
push eax
call fcn.00411e52
add esp, 0xc
test eax, eax
je 0x405bae
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406659
push str.The_patch_directory_path_subdirectory_is_not_valid_for_this_application.
jmp 0x405b45
mov edi, dword [esp]
push dword [edi]
call fcn.00409130
add esp, 4
push dword [edi]
call fcn.00409030
add esp, 4
test eax, eax
je 0x405c9e
cmp esi, 5
jl 0x405c1d
push dword [ebx + 0x14]
call fcn.00408b30
add esp, 4
test al, al
je 0x405c1d
push dword [ebx + 0x14]
call fcn.00408840
add esp, 4
test al, al
je 0x405c1d
lea eax, [esi - 3]
mov dword [esp + 8], eax
cmp eax, 4
jne 0x405cc9
push 0x429fae
push dword [ebx + 0x18]
call fcn.004133c7
add esp, 8
test eax, eax
jne 0x405cd2
jmp 0x405cea
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4067db
push str.The_install_directory_path_is_not_valid_for_this_application.
push 0x42f580
call fcn.004087d0
add esp, 8
push 0x37
push dword [edi]
call fcn.004096f0
add esp, 8
xor esi, esi
test eax, eax
jne 0x405b54
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406960
push str.Could_not_write_update.status_for_previous_failure.
push 0x42f580
call fcn.004087d0
add esp, 8
jmp 0x405b54
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40681e
push str.Unable_to_write_to_secure_ID_file.
jmp 0x405b45
cmp esi, 7
jl 0x405e52
push str._replace
push dword [ebx + 0x18]
call fcn.0040cedc
add esp, 8
test eax, eax
je 0x405e30
lea edi, [ebx + 0xc]
lea eax, [esp + 0x8a0]
push 0x20a
push 0
push eax
call fcn.0040cce0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, edi
lea eax, [esp + 0x8a0]
push eax
call fcn.00404e00
add esp, 4
test eax, eax
je 0x405df1
mov dword [esp + 4], edi
call fcn.004098e0
test eax, eax
mov edi, dword [esp]
jne 0x405fff
lea eax, [esp + 0xeec]
push eax
lea eax, [esp + 0x8a4]
push eax
call fcn.00401390
add esp, 8
test eax, eax
je 0x405f09
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406e85
lea edi, [esp + 0xeec]
push edi
push str.Checking_for_Maintenance_Service_registry._key:__ls
push 0x42f580
call fcn.00408770
add esp, 0xc
xor eax, eax
lea ecx, [esp + 0xcb4]
mov dword [ecx], eax
push ecx
push 0x20119
push eax
push edi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x405ff2
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
mov esi, dword [esp]
jg 0x406f0b
push str.The_maintenance_service_registry_key_does_not_exist.
push 0x42f580
call fcn.004087d0
add esp, 8
push 0x39
jmp 0x405e29
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
mov esi, dword [esp]
jg 0x406d54
push str.Could_not_get_the_installation_directory
push 0x42f580
call fcn.004087d0
add esp, 8
push 0x21
push dword [esi]
jmp 0x405f0d
mov edi, dword [ebx + 0x18]
movzx eax, word [edi]
test ax, ax
je 0x405cea
add edi, 2
movzx eax, ax
push eax
call fcn.0041310a
add esp, 4
test eax, eax
jne 0x405e33
cmp esi, 6
jl 0x405eca
push dword [ebx + 0x18]
call fcn.00408b30
add esp, 4
test al, al
je 0x405eca
push 0x104
push dword [ebx + 0x14]
push dword [ebx + 0x18]
call fcn.00411e52
add esp, 0xc
test eax, eax
je 0x405cea
cmp esi, 7
jge 0x405f48
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4071b4
push str.Installation_directory_and_working_directory_must_be_the_same_for_non_staged_updates._Exiting.
push 0x42f580
call fcn.004087d0
add esp, 8
push 0x36
mov eax, dword [esp + 4]
push dword [eax]
jmp 0x405c54
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
mov esi, dword [esp]
jg 0x406d11
push str.The_working_directory_path_is_not_valid_for_this_application.
push 0x42f580
call fcn.004087d0
add esp, 8
push 0x38
push dword [esi]
jmp 0x405c54
push 0x35
push dword [edi]
call fcn.004096f0
add esp, 8
test eax, eax
jne 0x405b52
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x406ec8
push str.Could_not_write_update.status_for_previous_failure.
jmp 0x405b45
push 0x429fae
push dword [ebx + 0x1c]
call fcn.004133c7
add esp, 8
test eax, eax
je 0x405f74
push str._replace
push dword [ebx + 0x1c]
call fcn.0040cedc
add esp, 8
test eax, eax
je 0x405e8a
mov eax, dword [ebx + 0x18]
sub esp, 0x10
mov dword [esp + 0xc], eax
lea edi, [esp + 0xefc]
mov dword [esp], edi
call fcn.00407a20
add esp, 0x10
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x406108
push 0x104
push dword [ebx + 0x14]
push edi
call fcn.00411e52
add esp, 0xc
test eax, eax
je 0x405cea
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4072c0
push str.The_apply_to_directory_must_be_the_same_as_or_a_child_of_the_installation_directory__Exiting.
push 0x42f580
call fcn.004087d0
add esp, 8
push 0x34
jmp 0x406144
push dword [esp + 0xcb4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edi, [esp + 0x696]
push 0x20a
push 0
push edi
call fcn.0040cce0
add esp, 0xc
push 0x104
lea eax, [esp + 0x8a4]
push eax
push edi
call fcn.0040a5cd
add esp, 0xc
push str.updater.exe
push edi
call fcn.00423980
add esp, 8
test eax, eax
jne 0x406071
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4071f7
push str.Install_directory_updater_could_not_be_determined.
push 0x42f580
call fcn.004087d0
add esp, 8
lea ecx, [esp + 0x696]
lea edx, [esp + 0x8a0]
mov eax, dword [esp]
push dword [eax]
call fcn.00404f40
add esp, 4
mov byte [esp + 0x14], al
lea eax, [esp + 0x48c]
push 0x20a
push 0
mov edi, eax
push eax
call fcn.0040cce0
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x406189
push 0x104
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40614f
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x406247
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40727d
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 0x40617c
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407303
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 0x42f580
call fcn.004087d0
add esp, 0xc
push 0x47
mov eax, dword [esp + 4]
push dword [eax]
jmp 0x405f0d
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407346
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 0x42f580
call fcn.004087d0
add esp, 0xc
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407171
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_copy_path_to_secure_location.____d_
push 0x42f580
call fcn.004087d0
add esp, 0xc
push 0x31
mov eax, dword [esp + 4]
push dword [eax]
call fcn.004096f0
add esp, 8
xor esi, esi
test eax, eax
jne 0x40620c
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40723a
push str.Could_not_write_update.status_could_not_copy_updater_error
push 0x42f580
call fcn.004087d0
add esp, 8
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40712e
push dword [ebx + 8]
push str.Service_command__ls_complete.
push 0x42f580
call fcn.00408770
add esp, 0xc
jmp 0x405a82
push 0x429d38
push edi
call fcn.00423980
add esp, 8
test eax, eax
jne 0x406421
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4066a4
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 0x40617c
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x4059aa
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x4059aa
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405aa3
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405aa3
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x4059ff
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x4059ff
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405a6b
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405a6b
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405a1f
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405a1f
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405b40
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405b40
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push str.updater.exe
lea eax, [esp + 0x490]
push eax
call fcn.00423980
add esp, 8
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov edx, dword [edx + ecx*4]
mov ecx, dword [0x42f78c]
mov edx, dword [edx + 4]
test eax, eax
je 0x40669c
cmp ecx, edx
jg 0x407389
push edi
lea eax, [esp + 0x69a]
push eax
mov eax, dword [esp + 0xc]
push dword [eax]
push str.Passed_in_path:__ls__ignored___Install_dir_has:__ls__Using_this_path_for_updating:__ls.
push 0x42f580
call fcn.00408770
add esp, 0x14
lea ecx, [esp + 0x48c]
call fcn.004057d0
push 0
lea eax, [esp + 0x490]
push eax
lea eax, [esp + 0x69e]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x406189
mov eax, dword [esp + 4]
mov dword [eax], edi
mov ecx, 0x20a
xor edx, edx
lea eax, [esp + 0x282]
push ecx
push edx
push eax
call fcn.0040cce0
add esp, 0xc
lea eax, [esp + 0x78]
mov ecx, 0x20a
push ecx
xor ecx, ecx
push ecx
push eax
call fcn.0040cce0
add esp, 0xc
push str.updater.ini
push edi
lea eax, [esp + 0x80]
push eax
call fcn.00408dd0
add esp, 0xc
test eax, eax
je 0x40658c
push str.updater.ini
lea eax, [esp + 0x69a]
push eax
lea eax, [esp + 0x28a]
push eax
call fcn.00408dd0
add esp, 0xc
test eax, eax
je 0x40658c
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 0x40658c
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40755e
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 0x42f580
call fcn.004087d0
add esp, 0x14
cmp dword [esp + 8], 2
ja 0x4066e7
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4073cc
push str.Not_enough_command_line_parameters_specified._Updating_update.status.
push 0x42f580
call fcn.004087d0
add esp, 8
push 0x19
mov eax, dword [esp + 4]
push dword [eax]
call fcn.004096f0
add esp, 8
xor esi, esi
test eax, eax
jne 0x4070f2
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40740f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
jmp 0x40694e
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405b18
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405b18
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405ba7
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405ba7
cmp ecx, edx
jle 0x40627e
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x40627e
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x40627e
lea edi, [esp + 0xcb4]
push 0x20a
push 0
push edi
call fcn.0040cce0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
push edi
call fcn.00404e00
add esp, 4
test eax, eax
je 0x406861
mov eax, dword [esp + 4]
mov ecx, dword [eax]
lea edx, [esp + 0xcb4]
mov eax, dword [esp]
push dword [eax]
call fcn.00404f40
add esp, 4
mov ecx, dword [0x42f78c]
mov edx, dword [0x42ea44]
mov edi, dword fs:[0x2c]
mov edx, dword [edi + edx*4]
mov edx, dword [edx + 4]
test al, al
je 0x4068e6
cmp ecx, edx
jg 0x407495
push str.Starting_update_process_as_the_service_in_session_0.
push 0x42f580
call fcn.00408770
add esp, 8
xorps xmm0, xmm0
movups xmmword [esp + 0x34], xmm0
movups xmmword [esp + 0x44], xmm0
movups xmmword [esp + 0x54], xmm0
movups xmmword [esp + 0x64], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0x44
mov dword [esp + 0x38], str.winsta0Default
xor eax, eax
lea ecx, [esp + 0x1c]
push eax
push eax
push dword [esp + 0xc]
mov edi, dword [esp + 0x14]
push edi
push ecx
call section..text
add esp, 0x14
cmp edi, 4
jne 0x4069a3
push 0x429fae
push dword [ebx + 0x18]
call fcn.004133c7
add esp, 8
test eax, eax
jne 0x4069a8
jmp 0x4069da
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405c3e
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405c3e
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405cbf
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405cbf
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407452
push str.Could_not_get_the_installation_directory
push 0x42f580
call fcn.004087d0
add esp, 8
push 0x21
mov eax, dword [esp + 4]
push dword [eax]
call fcn.004096f0
add esp, 8
xor esi, esi
test eax, eax
jne 0x4070f2
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40766a
push str.Could_not_write_update.status_for_GetInstallationDir_failure.
push 0x42f580
call fcn.004087d0
add esp, 8
jmp 0x4070f2
cmp ecx, edx
jg 0x4074d8
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 0x42f580
call fcn.004087d0
add esp, 0xc
push 0x1a
mov eax, dword [esp + 4]
push dword [eax]
call fcn.004096f0
add esp, 8
xor esi, esi
test eax, eax
jne 0x4070f2
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4076ad
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_pending_state_to_update.status.____d_
push 0x42f580
call fcn.004087d0
add esp, 0xc
jmp 0x4070f2
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405c87
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405c87
cmp esi, 7
jl 0x4069da
push str._replace
push dword [ebx + 0x18]
call fcn.0040cedc
add esp, 8
test eax, eax
jne 0x4069da
mov edi, dword [ebx + 0x18]
movzx eax, word [edi]
test ax, ax
je 0x4069da
add edi, 2
movzx eax, ax
push eax
call fcn.0041310a
add esp, 4
test eax, eax
jne 0x4069bf
mov dword [esp + 0x38], 0x429fde
or byte [esp + 0x5c], 1
mov word [esp + 0x60], 0
push str.MOZ_USING_SERVICE1
call fcn.00411577
add esp, 4
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40751b
push dword [esp + 0x1c]
push str.Starting_service_with_cmdline:__ls
push 0x42f580
call fcn.00408770
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
sub esp, 0x28
lea edx, [esp + 0x48]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x58]
mov dword [esp + 0x20], edx
xor edx, edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edx
movaps xmm0, xmmword [0x427410]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [esp + 0x14], eax
test eax, eax
je 0x406ae8
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4075a1
push str.Process_was_started..._waiting_on_result.
push 0x42f580
call fcn.00408770
add esp, 8
push 0xdbba0
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [esp + 0x18], eax
cmp eax, 0x102
jne 0x406b3b
push 1
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
jmp 0x406bd2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4076f0
push edi
push dword [esp + 0x20]
mov eax, dword [esp + 0xc]
push dword [eax]
push str.Could_not_create_process_as_current_user__updaterPath:__ls__cmdLine:__ls.____d_
push 0x42f580
call fcn.004087d0
add esp, 0x14
mov dword [esp + 8], 0
jmp 0x406fa9
lea eax, [esp + 0xeec]
push eax
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov edx, dword [edx + ecx*4]
mov ecx, dword [0x42f78c]
mov edx, dword [edx + 4]
test eax, eax
je 0x406ba9
cmp ecx, edx
jg 0x4077fc
push dword [esp + 0xeec]
push str.Process_finished_with_return_code__d.
push 0x42f580
call fcn.00408770
add esp, 0xc
xor eax, eax
cmp dword [esp + 0xeec], 0
sete al
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
jmp 0x406bd2
cmp ecx, edx
jg 0x4078c5
push str.Process_finished_but_could_not_obtain_return_code.
push 0x42f580
call fcn.004087d0
add esp, 8
mov dword [esp + 8], 0
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0x20]
call edi
push dword [esp + 0x24]
call edi
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 4], eax
lea edi, [esp + 0xeec]
push 0x20a
push 0
push edi
call fcn.0040cce0
add esp, 0xc
push edi
push str..status
push dword [esp + 0xc]
call fcn.00408fb0
add esp, 0xc
test eax, eax
je 0x406cae
sub esp, 0x1c
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
movaps xmm0, xmmword [0x427420]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0xf08]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 4], eax
cmp eax, 0xffffffff
je 0x406ce6
xorps xmm0, xmm0
lea eax, [esp + 0xec0]
movaps xmmword [eax + 0x10], xmm0
movaps xmmword [eax], xmm0
lea ecx, [esp + 0x74]
push 0
push ecx
push 0x20
push eax
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x406d97
mov eax, 0x6c707061
xor eax, dword [esp + 0xec0]
mov ecx, 0x676e6979
xor ecx, dword [esp + 0xec4]
xor edx, edx
or ecx, eax
sete dl
mov edi, edx
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
jmp 0x406dd4
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4077b9
push str.Could_not_get_path_for_the_secure_update_status_file
push 0x42f580
call fcn.004087d0
add esp, 8
jmp 0x406fa9
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40783f
push str.Could_not_open_update.status_file
jmp 0x406dbd
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405eee
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405eee
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405e15
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405e15
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407908
push str.Could_not_read_from_update.status_file
push 0x42f580
call fcn.004087d0
add esp, 8
xor edi, edi
mov dword [esp + 0xc], 0
mov eax, dword [esp + 4]
inc eax
cmp eax, 2
jb 0x406de8
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x406fa9
cmp dword [esp + 0xc], 0
je 0x406fa9
mov eax, dword [0x42ea44]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x42f78c]
mov ecx, dword [ecx + 4]
cmp dword [esp + 8], 0
je 0x406f4e
cmp eax, ecx
jg 0x407882
push str.update.status_is_still_applying_even_though_update_was_successful.
push 0x42f580
call fcn.00408770
add esp, 8
push 0x1d
mov eax, dword [esp + 4]
push dword [eax]
call fcn.004096f0
add esp, 8
mov dword [esp + 8], 0
test eax, eax
jne 0x406fa9
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40798e
push str.Could_not_write_update.status_still_applying_on_success_error.
jmp 0x406cd4
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405d77
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405d77
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405f3e
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405f3e
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405ddb
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405ddb
cmp eax, ecx
jg 0x40794b
push str.update.status_is_still_applying_and_update_was_not_successful.
push 0x42f580
call fcn.004087d0
add esp, 8
cmp dword [esp + 0x18], 0x102
mov eax, 0x32
mov ecx, 0x1e
cmove ecx, eax
cmp dword [esp + 0x10], 0
mov eax, 0x33
cmove eax, ecx
push eax
mov eax, dword [esp + 4]
push dword [eax]
call fcn.004096f0
add esp, 8
mov dword [esp + 8], 0
test eax, eax
je 0x407103
push str.MOZ_USING_SERVICE
call fcn.00411577
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], 0
test eax, eax
je 0x406fcf
push eax
call fcn.0040a5c8
add esp, 4
mov eax, dword [0x42ea44]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x42f78c]
mov ecx, dword [ecx + 4]
cmp dword [esp + 8], 0
je 0x407059
cmp eax, ecx
jg 0x4075e4
push str.updater.exe_was_launched_and_run_successfully_
push 0x42f580
call fcn.00408770
add esp, 8
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407627
mov eax, dword [0x42f580]
test eax, eax
je 0x40703d
push eax
call fcn.004121da
add esp, 4
cmp esi, 8
je 0x4070cb
cmp esi, 7
jne 0x4070df
push 0x429fae
push dword [ebx + 0x18]
jmp 0x4070d3
cmp eax, ecx
jg 0x407733
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_running_update_process._Updating_update.status____d_
push 0x42f580
call fcn.004087d0
add esp, 0xc
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407776
mov eax, dword [0x42f580]
test eax, eax
je 0x4070ad
push eax
call fcn.004121da
add esp, 4
xor esi, esi
cmp dword [esp + 0x14], 0
jne 0x4070f2
push 0x18
mov eax, dword [esp + 4]
push dword [eax]
call fcn.004096f0
add esp, 8
jmp 0x4065dc
push 0x429fae
push dword [ebx + 0x1c]
call fcn.004133c7
add esp, 8
test eax, eax
je 0x4070ef
lea eax, [esp + 0xcb4]
push eax
call fcn.00409280
add esp, 4
xor esi, esi
inc esi
lea ecx, [esp + 0x48c]
call fcn.004057d0
jmp 0x40620c
mov eax, dword [0x42f78c]
mov ecx, dword [0x42ea44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4079d1
push str.Could_not_write_update.status_still_applying_on_failure_error.
jmp 0x406cd4
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x40622d
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x40622d
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x4061aa
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x4061aa
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405eab
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405eab
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x40605f
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x40605f
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x4061fa
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x4061fa
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x4060fa
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x4060fa
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x405fd9
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x405fd9
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406129
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406129
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406170
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406170
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x40646b
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x40646b
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x4065b8
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x4065b8
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406605
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406605
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406882
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406882
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x40675d
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x40675d
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x4068ee
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x4068ee
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406a1c
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406a1c
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406566
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406566
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406a9b
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406a9b
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406ff8
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406ff8
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x40702b
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x40702b
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x4068cf
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x4068cf
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406942
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406942
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406b11
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406b11
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x407061
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x407061
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x40709b
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x40709b
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406ccf
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406ccf
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406b75
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406b75
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406d07
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406d07
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406e28
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406e28
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406bb1
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406bb1
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406db8
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406db8
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406f56
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406f56
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x406e7b
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x406e7b
push 0x42f78c
call fcn.0040a6d7
add esp, 4
cmp dword [0x42f78c], 0xffffffff
jne 0x407124
mov dword [0x42f580], 0
push 0x4024f0
call fcn.0040a94c
add esp, 4
push 0x42f78c
call fcn.0040a729
add esp, 4
jmp 0x407124