Function at 0x406c30
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.0041f770
mov esi, dword [ebp + 8]
mov eax, dword [0x43300c]
xor eax, ebp
mov dword [esp + 0x10f8], eax
cmp esi, 2
jg 0x406c84
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40763c
push str.Not_enough_command_line_arguments_to_execute_a_service_command
jmp 0x406de5
mov ebx, dword [ebp + 0xc]
lea edi, [esp + 0xaaa]
push 0x20a
push 0
push edi
call fcn.0040f9d0
add esp, 0xc
push edi
call fcn.00426d50
add esp, 4
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov edx, dword [edx + ecx*4]
mov ecx, dword [0x43478c]
mov edx, dword [edx + 4]
test eax, eax
je 0x406ce7
cmp ecx, edx
jg 0x4076c2
push edi
push dword [ebx + 8]
push str.Executing_service_command__ls__ID:__ls
push 0x434580
call fcn.0040b410
add esp, 0x10
jmp 0x406d04
cmp ecx, edx
jg 0x407748
push dword [ebx + 8]
push str.Executing_service_command__ls
push 0x434580
call fcn.0040b410
add esp, 0xc
push str.software_update
push dword [ebx + 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x406d69
push str.fix_update_directory_perms
push dword [ebx + 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x406df9
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407705
push dword [ebx + 8]
push str.Service_command_not_recognized:__ls.
push 0x434580
call fcn.0040b470
add esp, 0xc
xor esi, esi
jmp 0x406eb8
cmp esi, 4
jl 0x406dbf
push dword [ebx + 0x10]
call fcn.0040b7d0
add esp, 4
test al, al
je 0x406dbf
lea eax, [ebx + 0x10]
mov dword [esp], eax
mov edi, dword [eax]
push edi
call fcn.0040d0bb
add esp, 4
cmp eax, 9
ja 0x406f16
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407a49
push str.The_patch_directory_path_length_is_not_valid_for_this_application.
jmp 0x406de5
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40778b
push str.The_patch_directory_path_is_not_valid_for_this_application.
push 0x434580
call fcn.0040b470
add esp, 8
xor esi, esi
jmp 0x406efe
mov dword [esp + 0xeec], 0
cmp esi, 3
jg 0x406e40
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4077ce
push str.Didnt_get_an_install_dir_for_fix_update_directory_perms
push 0x434580
call fcn.0040b470
add esp, 8
xor ecx, ecx
jmp 0x406e43
mov ecx, dword [ebx + 0xc]
lea eax, [esp + 0xeec]
xor esi, esi
xor edx, edx
push eax
push 1
push esi
push esi
call fcn.00401820
add esp, 0x10
test eax, eax
js 0x406e6b
xor esi, esi
inc esi
mov edi, dword [esp + 0xeec]
jmp 0x406eab
mov esi, eax
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407811
mov edi, dword [esp + 0xeec]
push esi
push edi
push str.Unable_to_set_the_permissions_on_the_update_directory___S_:__d
push 0x434580
call fcn.0040b470
add esp, 0x10
xor esi, esi
test edi, edi
je 0x406eb8
push edi
call fcn.0040d268
add esp, 4
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40767f
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 0x434580
call fcn.0040b410
add esp, 0x10
mov ecx, dword [esp + 0x10f8]
xor ecx, ebp
call fcn.0040dac1
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 0x42e1b8
push eax
call fcn.00414b22
add esp, 0xc
test eax, eax
je 0x406f5b
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407a8c
push str.The_patch_directory_path_subdirectory_is_not_valid_for_this_application.
jmp 0x406de5
mov edi, dword [esp]
push dword [edi]
call fcn.0040bdd0
add esp, 4
push dword [edi]
call fcn.0040bcd0
add esp, 4
test eax, eax
je 0x40704b
cmp esi, 5
jl 0x406fca
push dword [ebx + 0x14]
call fcn.0040b7d0
add esp, 4
test al, al
je 0x406fca
push dword [ebx + 0x14]
call fcn.0040b4e0
add esp, 4
test al, al
je 0x406fca
lea eax, [esi - 3]
mov dword [esp + 8], eax
cmp eax, 4
jne 0x407076
push 0x42e1b2
push dword [ebx + 0x18]
call fcn.00416097
add esp, 8
test eax, eax
jne 0x40707f
jmp 0x407097
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407c0e
push str.The_install_directory_path_is_not_valid_for_this_application.
push 0x434580
call fcn.0040b470
add esp, 8
push 0x37
push dword [edi]
call fcn.0040c390
add esp, 8
xor esi, esi
test eax, eax
jne 0x406efe
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407d93
push str.Could_not_write_update.status_for_previous_failure.
push 0x434580
call fcn.0040b470
add esp, 8
jmp 0x406efe
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407c51
push str.Unable_to_write_to_secure_ID_file.
jmp 0x406de5
cmp esi, 7
jl 0x4071ff
push str._replace
push dword [ebx + 0x18]
call fcn.0040fbcc
add esp, 8
test eax, eax
je 0x4071dd
lea edi, [ebx + 0xc]
lea eax, [esp + 0x8a0]
push 0x20a
push 0
push eax
call fcn.0040f9d0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, edi
lea eax, [esp + 0x8a0]
push eax
call fcn.004060d0
add esp, 4
test eax, eax
je 0x40719e
mov dword [esp + 4], edi
call fcn.0040c580
test eax, eax
mov edi, dword [esp]
jne 0x4073ac
lea eax, [esp + 0xeec]
push eax
lea eax, [esp + 0x8a4]
push eax
call fcn.00401470
add esp, 8
test eax, eax
je 0x4072b6
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4082b8
lea edi, [esp + 0xeec]
push edi
push str.Checking_for_Maintenance_Service_registry._key:__ls
push 0x434580
call fcn.0040b410
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 0x40739f
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
mov esi, dword [esp]
jg 0x40833e
push str.The_maintenance_service_registry_key_does_not_exist.
push 0x434580
call fcn.0040b470
add esp, 8
push 0x39
jmp 0x4071d6
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
mov esi, dword [esp]
jg 0x408187
push str.Could_not_get_the_installation_directory
push 0x434580
call fcn.0040b470
add esp, 8
push 0x21
push dword [esi]
jmp 0x4072ba
mov edi, dword [ebx + 0x18]
movzx eax, word [edi]
test ax, ax
je 0x407097
add edi, 2
movzx eax, ax
push eax
call fcn.00415dda
add esp, 4
test eax, eax
jne 0x4071e0
cmp esi, 6
jl 0x407277
push dword [ebx + 0x18]
call fcn.0040b7d0
add esp, 4
test al, al
je 0x407277
push 0x104
push dword [ebx + 0x14]
push dword [ebx + 0x18]
call fcn.00414b22
add esp, 0xc
test eax, eax
je 0x407097
cmp esi, 7
jge 0x4072f5
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4085e7
push str.Installation_directory_and_working_directory_must_be_the_same_for_non_staged_updates._Exiting.
push 0x434580
call fcn.0040b470
add esp, 8
push 0x36
mov eax, dword [esp + 4]
push dword [eax]
jmp 0x407001
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
mov esi, dword [esp]
jg 0x408144
push str.The_working_directory_path_is_not_valid_for_this_application.
push 0x434580
call fcn.0040b470
add esp, 8
push 0x38
push dword [esi]
jmp 0x407001
push 0x35
push dword [edi]
call fcn.0040c390
add esp, 8
test eax, eax
jne 0x406df2
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4082fb
push str.Could_not_write_update.status_for_previous_failure.
jmp 0x406de5
push 0x42e1b2
push dword [ebx + 0x1c]
call fcn.00416097
add esp, 8
test eax, eax
je 0x407321
push str._replace
push dword [ebx + 0x1c]
call fcn.0040fbcc
add esp, 8
test eax, eax
je 0x407237
mov eax, dword [ebx + 0x18]
sub esp, 0x10
mov dword [esp + 0xc], eax
lea edi, [esp + 0xefc]
mov dword [esp], edi
call fcn.00408e50
add esp, 0x10
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x4074b5
push 0x104
push dword [ebx + 0x14]
push edi
call fcn.00414b22
add esp, 0xc
test eax, eax
je 0x407097
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4086f3
push str.The_apply_to_directory_must_be_the_same_as_or_a_child_of_the_installation_directory__Exiting.
push 0x434580
call fcn.0040b470
add esp, 8
push 0x34
jmp 0x4074f1
push dword [esp + 0xcb4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edi, [esp + 0x696]
push 0x20a
push 0
push edi
call fcn.0040f9d0
add esp, 0xc
push 0x104
lea eax, [esp + 0x8a4]
push eax
push edi
call fcn.0040d26d
add esp, 0xc
push str.updater.exe
push edi
call fcn.00426d10
add esp, 8
test eax, eax
jne 0x40741e
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40862a
push str.Install_directory_updater_could_not_be_determined.
push 0x434580
call fcn.0040b470
add esp, 8
lea ecx, [esp + 0x696]
lea edx, [esp + 0x8a0]
mov eax, dword [esp]
push dword [eax]
call fcn.00406210
add esp, 4
mov byte [esp + 0x14], al
lea eax, [esp + 0x48c]
push 0x20a
push 0
mov edi, eax
push eax
call fcn.0040f9d0
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x407536
push 0x104
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4074fc
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x4075f4
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4086b0
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 0x407529
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408736
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 0x434580
call fcn.0040b470
add esp, 0xc
push 0x47
mov eax, dword [esp + 4]
push dword [eax]
jmp 0x4072ba
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408779
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 0x434580
call fcn.0040b470
add esp, 0xc
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4085a4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_copy_path_to_secure_location.____d_
push 0x434580
call fcn.0040b470
add esp, 0xc
push 0x31
mov eax, dword [esp + 4]
push dword [eax]
call fcn.0040c390
add esp, 8
xor esi, esi
test eax, eax
jne 0x4075b9
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40866d
push str.Could_not_write_update.status_could_not_copy_updater_error
push 0x434580
call fcn.0040b470
add esp, 8
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408561
push dword [ebx + 8]
push str.Service_command__ls_complete.
push 0x434580
call fcn.0040b410
add esp, 0xc
jmp 0x406eb8
push 0x42df28
push edi
call fcn.00426d10
add esp, 8
test eax, eax
jne 0x407854
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x407ad7
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 0x407529
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406c7a
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406c7a
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406ed9
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406ed9
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406ccf
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406ccf
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406d4d
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406d4d
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406cef
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406cef
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406de0
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406de0
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406e2a
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406e2a
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406e8e
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406e8e
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push str.updater.exe
lea eax, [esp + 0x490]
push eax
call fcn.00426d10
add esp, 8
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov edx, dword [edx + ecx*4]
mov ecx, dword [0x43478c]
mov edx, dword [edx + 4]
test eax, eax
je 0x407acf
cmp ecx, edx
jg 0x4087bc
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 0x434580
call fcn.0040b410
add esp, 0x14
lea ecx, [esp + 0x48c]
call fcn.00406aa0
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 0x407536
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.0040f9d0
add esp, 0xc
lea eax, [esp + 0x78]
mov ecx, 0x20a
push ecx
xor ecx, ecx
push ecx
push eax
call fcn.0040f9d0
add esp, 0xc
push str.updater.ini
push edi
lea eax, [esp + 0x80]
push eax
call fcn.0040ba70
add esp, 0xc
test eax, eax
je 0x4079bf
push str.updater.ini
lea eax, [esp + 0x69a]
push eax
lea eax, [esp + 0x28a]
push eax
call fcn.0040ba70
add esp, 0xc
test eax, eax
je 0x4079bf
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 0x4079bf
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408991
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 0x434580
call fcn.0040b470
add esp, 0x14
cmp dword [esp + 8], 2
ja 0x407b1a
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4087ff
push str.Not_enough_command_line_parameters_specified._Updating_update.status.
push 0x434580
call fcn.0040b470
add esp, 8
push 0x19
mov eax, dword [esp + 4]
push dword [eax]
call fcn.0040c390
add esp, 8
xor esi, esi
test eax, eax
jne 0x408525
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408842
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_update.status_service_update_failure.____d_
jmp 0x407d81
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406db8
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406db8
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406f51
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406f51
cmp ecx, edx
jle 0x40762b
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40762b
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40762b
lea edi, [esp + 0xcb4]
push 0x20a
push 0
push edi
call fcn.0040f9d0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
push edi
call fcn.004060d0
add esp, 4
test eax, eax
je 0x407c94
mov eax, dword [esp + 4]
mov ecx, dword [eax]
lea edx, [esp + 0xcb4]
mov eax, dword [esp]
push dword [eax]
call fcn.00406210
add esp, 4
mov ecx, dword [0x43478c]
mov edx, dword [0x433a44]
mov edi, dword fs:[0x2c]
mov edx, dword [edi + edx*4]
mov edx, dword [edx + 4]
test al, al
je 0x407d19
cmp ecx, edx
jg 0x4088c8
push str.Starting_update_process_as_the_service_in_session_0.
push 0x434580
call fcn.0040b410
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 fcn.004010f0
add esp, 0x14
cmp edi, 4
jne 0x407dd6
push 0x42e1b2
push dword [ebx + 0x18]
call fcn.00416097
add esp, 8
test eax, eax
jne 0x407ddb
jmp 0x407e0d
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x406feb
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x406feb
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40706c
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40706c
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408885
push str.Could_not_get_the_installation_directory
push 0x434580
call fcn.0040b470
add esp, 8
push 0x21
mov eax, dword [esp + 4]
push dword [eax]
call fcn.0040c390
add esp, 8
xor esi, esi
test eax, eax
jne 0x408525
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408a9d
push str.Could_not_write_update.status_for_GetInstallationDir_failure.
push 0x434580
call fcn.0040b470
add esp, 8
jmp 0x408525
cmp ecx, edx
jg 0x40890b
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 0x434580
call fcn.0040b470
add esp, 0xc
push 0x1a
mov eax, dword [esp + 4]
push dword [eax]
call fcn.0040c390
add esp, 8
xor esi, esi
test eax, eax
jne 0x408525
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408ae0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Could_not_write_pending_state_to_update.status.____d_
push 0x434580
call fcn.0040b470
add esp, 0xc
jmp 0x408525
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407034
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407034
cmp esi, 7
jl 0x407e0d
push str._replace
push dword [ebx + 0x18]
call fcn.0040fbcc
add esp, 8
test eax, eax
jne 0x407e0d
mov edi, dword [ebx + 0x18]
movzx eax, word [edi]
test ax, ax
je 0x407e0d
add edi, 2
movzx eax, ax
push eax
call fcn.00415dda
add esp, 4
test eax, eax
jne 0x407df2
mov dword [esp + 0x38], 0x42e208
or byte [esp + 0x5c], 1
mov word [esp + 0x60], 0
push str.MOZ_USING_SERVICE1
call fcn.00414247
add esp, 4
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x40894e
push dword [esp + 0x1c]
push str.Starting_service_with_cmdline:__ls
push 0x434580
call fcn.0040b410
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 [0x42b430]
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 0x407f1b
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4089d4
push str.Process_was_started..._waiting_on_result.
push 0x434580
call fcn.0040b410
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 0x407f6e
push 1
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
jmp 0x408005
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408b23
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 0x434580
call fcn.0040b470
add esp, 0x14
mov dword [esp + 8], 0
jmp 0x4083dc
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 edx, dword [edx + ecx*4]
mov ecx, dword [0x43478c]
mov edx, dword [edx + 4]
test eax, eax
je 0x407fdc
cmp ecx, edx
jg 0x408c2f
push dword [esp + 0xeec]
push str.Process_finished_with_return_code__d.
push 0x434580
call fcn.0040b410
add esp, 0xc
xor eax, eax
cmp dword [esp + 0xeec], 0
sete al
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
jmp 0x408005
cmp ecx, edx
jg 0x408cf8
push str.Process_finished_but_could_not_obtain_return_code.
push 0x434580
call fcn.0040b470
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.0040f9d0
add esp, 0xc
push edi
push str..status
push dword [esp + 0xc]
call fcn.0040bc50
add esp, 0xc
test eax, eax
je 0x4080e1
sub esp, 0x1c
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
movaps xmm0, xmmword [0x42b440]
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 0x408119
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 0x4081ca
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 0x408207
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408bec
push str.Could_not_get_path_for_the_secure_update_status_file
push 0x434580
call fcn.0040b470
add esp, 8
jmp 0x4083dc
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408c72
push str.Could_not_open_update.status_file
jmp 0x4081f0
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40729b
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40729b
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4071c2
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4071c2
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408d3b
push str.Could_not_read_from_update.status_file
push 0x434580
call fcn.0040b470
add esp, 8
xor edi, edi
mov dword [esp + 0xc], 0
mov eax, dword [esp + 4]
inc eax
cmp eax, 2
jb 0x40821b
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x4083dc
cmp dword [esp + 0xc], 0
je 0x4083dc
mov eax, dword [0x433a44]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x43478c]
mov ecx, dword [ecx + 4]
cmp dword [esp + 8], 0
je 0x408381
cmp eax, ecx
jg 0x408cb5
push str.update.status_is_still_applying_even_though_update_was_successful.
push 0x434580
call fcn.0040b410
add esp, 8
push 0x1d
mov eax, dword [esp + 4]
push dword [eax]
call fcn.0040c390
add esp, 8
mov dword [esp + 8], 0
test eax, eax
jne 0x4083dc
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408dc1
push str.Could_not_write_update.status_still_applying_on_success_error.
jmp 0x408107
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407124
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407124
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4072eb
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4072eb
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407188
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407188
cmp eax, ecx
jg 0x408d7e
push str.update.status_is_still_applying_and_update_was_not_successful.
push 0x434580
call fcn.0040b470
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.0040c390
add esp, 8
mov dword [esp + 8], 0
test eax, eax
je 0x408536
push str.MOZ_USING_SERVICE
call fcn.00414247
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], 0
test eax, eax
je 0x408402
push eax
call fcn.0040d268
add esp, 4
mov eax, dword [0x433a44]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x43478c]
mov ecx, dword [ecx + 4]
cmp dword [esp + 8], 0
je 0x40848c
cmp eax, ecx
jg 0x408a17
push str.updater.exe_was_launched_and_run_successfully_
push 0x434580
call fcn.0040b410
add esp, 8
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408a5a
mov eax, dword [0x434580]
test eax, eax
je 0x408470
push eax
call fcn.00414eaa
add esp, 4
cmp esi, 8
je 0x4084fe
cmp esi, 7
jne 0x408512
push 0x42e1b2
push dword [ebx + 0x18]
jmp 0x408506
cmp eax, ecx
jg 0x408b66
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_running_update_process._Updating_update.status____d_
push 0x434580
call fcn.0040b470
add esp, 0xc
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408ba9
mov eax, dword [0x434580]
test eax, eax
je 0x4084e0
push eax
call fcn.00414eaa
add esp, 4
xor esi, esi
cmp dword [esp + 0x14], 0
jne 0x408525
push 0x18
mov eax, dword [esp + 4]
push dword [eax]
call fcn.0040c390
add esp, 8
jmp 0x407a0f
push 0x42e1b2
push dword [ebx + 0x1c]
call fcn.00416097
add esp, 8
test eax, eax
je 0x408522
lea eax, [esp + 0xcb4]
push eax
call fcn.0040bf20
add esp, 4
xor esi, esi
inc esi
lea ecx, [esp + 0x48c]
call fcn.00406aa0
jmp 0x4075b9
mov eax, dword [0x43478c]
mov ecx, dword [0x433a44]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x408e04
push str.Could_not_write_update.status_still_applying_on_failure_error.
jmp 0x408107
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4075da
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4075da
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407557
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407557
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407258
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407258
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40740c
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40740c
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4075a7
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4075a7
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4074a7
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4074a7
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407386
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407386
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4074d6
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4074d6
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40751d
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40751d
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40789e
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40789e
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4079eb
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4079eb
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407a38
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407a38
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407cb5
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407cb5
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407b90
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407b90
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407d21
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407d21
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407e4f
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407e4f
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407999
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407999
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407ece
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407ece
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40842b
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40842b
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40845e
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40845e
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407d02
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407d02
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407d75
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407d75
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407f44
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407f44
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x408494
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x408494
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4084ce
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4084ce
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x408102
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x408102
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407fa8
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407fa8
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40813a
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40813a
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x40825b
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x40825b
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x407fe4
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x407fe4
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4081eb
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4081eb
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x408389
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x408389
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x4082ae
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x4082ae
push 0x43478c
call fcn.0040d3c7
add esp, 4
cmp dword [0x43478c], 0xffffffff
jne 0x408557
mov dword [0x434580], 0
push 0x4037c0
call fcn.0040d63c
add esp, 4
push 0x43478c
call fcn.0040d419
add esp, 4
jmp 0x408557