Function at 0x512cdd
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x678
mov eax, dword [0x5f2e68]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov esi, 0x103
xor ebx, ebx
push esi
lea eax, [ebp - 0x323]
push ebx
push eax
mov byte [ebp - 0x324], bl
call fcn.005306b0
add esp, 0xc
push esi
lea eax, [ebp - 0x42b]
push ebx
push eax
mov dword [ebp - 0x644], ebx
mov byte [ebp - 0x42c], bl
call fcn.005306b0
add esp, 0xc
push esi
lea eax, [ebp - 0x113]
push ebx
push eax
mov byte [ebp - 0x114], bl
call fcn.005306b0
add esp, 0xc
push esi
lea eax, [ebp - 0x21b]
push ebx
push eax
mov byte [ebp - 0x21c], bl
call fcn.005306b0
add esp, 0xc
push esi
lea eax, [ebp - 0x63b]
push ebx
push eax
mov byte [ebp - 0x63c], bl
call fcn.005306b0
xor eax, eax
mov word [ebp - 0x654], bx
lea edi, [ebp - 0x652]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x664], bx
lea edi, [ebp - 0x662]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
stosw word es:[edi], ax
lea eax, [ebp - 0x324]
push str.ApplUdt.lck
push eax
mov dword [ebp - 0x640], ebx
call fcn.00493154
cmp dword [ebp + 8], ebx
pop ecx
pop ecx
jne 0x512e26
call fcn.004fa8e4
sub eax, dword [0x7101f8]
cmp eax, 0x493e0
jb 0x512e15
call fcn.004fa8e4
mov dword [0x7101f8], eax
call fcn.004935a3
test eax, eax
jg 0x512e15
push 0x7530
push ebx
lea eax, [ebp - 0x324]
call fcn.00433684
pop ecx
pop ecx
mov dword [ebp - 0x640], eax
call fcn.00513955
test eax, eax
jne 0x512e2f
cmp dword [ebp - 0x640], ebx
je 0x512e15
lea eax, [ebp - 0x324]
push eax
call fcn.004338fc
pop ecx
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005317e7
leave
ret
call fcn.004935a3
test eax, eax
jg 0x512e15
call fcn.004fa8e4
push 0x2011
mov edi, str..UpdatePAULA.c
push edi
push 0x20
mov dword [0x7101f8], eax
call fcn.00471db5
add esp, 0xc
push 0x2013
push edi
push 0x20
call fcn.00474c00
add esp, 0xc
test eax, eax
jne 0x512e94
push 0x2016
push edi
push ebx
call fcn.00471db5
add esp, 0xc
cmp eax, ebx
je 0x512e87
push eax
push str.:7:ApplyUpdates___FAILED:_Could_not_logon_to_the_TAMS_server:_LogonToTAMS_NO_SYNC__returned__d
call fcn.0042b70b
pop ecx
pop ecx
jmp 0x512e00
push str.:9:ApplyUpdates___encountered_something_strange:_LockTAMSServer_LTS_UPDATEFILES__FAILED__but_LogonToTAMS_NO_SYNC__succeeded_
call fcn.0042bd38
pop ecx
jmp 0x512e9e
mov dword [ebp - 0x644], 1
mov edi, 0x104
push str.Live.ark
mov ecx, edi
lea eax, [ebp - 0x63c]
call fcn.004ccc3f
pop ecx
push 1
call fcn.00512532
test eax, eax
pop ecx
jne 0x512ee3
cmp dword [ebp + 8], ebx
jne 0x512ed0
push 0x20
call fcn.00475a9e
jmp 0x512e81
push str.LiveBranch.ark
mov ecx, edi
lea eax, [ebp - 0x63c]
call fcn.004ccc3f
pop ecx
lea eax, [ebp - 0x63c]
push eax
lea edi, [ebp - 0x42c]
call fcn.00470e3d
pop ecx
lea eax, [ebp - 0x63c]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.005312a0
push ebx
push ebx
call fcn.00493154
mov edx, eax
lea ecx, [ebp - 0x114]
call fcn.004cd1ce
push 1
lea edx, [ebp - 0x114]
mov ecx, edi
call fcn.004315a3
add esp, 0x14
test eax, eax
jne 0x512ff4
cmp dword [ebp - 0x644], ebx
je 0x512f47
push 0x20
call fcn.00475a9e
pop ecx
push 0x190
mov dword [ebp - 0x644], ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edi, [ebp - 0x42c]
call fcn.00432263
test eax, eax
je 0x513004
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x2041
push str..UpdatePAULA.c
push 0x20
call fcn.00474c00
add esp, 0xc
test eax, eax
jne 0x512f9b
push str.:5:ApplyUpdates___encountered_a_problem:_LockTAMSServer_LTS_UPDATEFILES__FAILED_to_relock_while_retrying_update_archive_copy.
call fcn.0042bd38
pop ecx
jmp 0x512fa5
mov dword [ebp - 0x644], 1
push 1
lea edx, [ebp - 0x114]
lea ecx, [ebp - 0x42c]
call fcn.004315a3
test eax, eax
pop ecx
jne 0x512fe9
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x42c]
push eax
push str.:9:ApplyUpdates___has_encountered_a_problem:_The_servers_update_archive___s__exists_but_cannot_be_copied_to___s_.__The_PAULA_Update_cannot_be_applied_
call fcn.0042b70b
add esp, 0xc
cmp dword [ebp - 0x644], ebx
je 0x512e00
jmp 0x512ec7
push str.:7:ApplyUpdates___failed_to_copy_the_TAMS_servers_update_archive_on_the_first_attempt_but_succeeded_on_the_second_backup_attempt.
call fcn.0042bd38
pop ecx
cmp dword [ebp - 0x644], ebx
je 0x513004
push 0x20
call fcn.00475a9e
pop ecx
lea edi, [ebp - 0x114]
mov dword [ebp - 0x644], ebx
call fcn.00432263
test eax, eax
je 0x513452
push esi
lea eax, [ebp - 0x533]
push ebx
push eax
mov byte [ebp - 0x534], bl
call fcn.005306b0
add esp, 0xc
push ebx
push ebx
call fcn.00493154
push eax
lea eax, [ebp - 0x21c]
push str._sUpdtTest_
push eax
call fcn.00531b2f
add esp, 0x14
lea edi, [ebp - 0x21c]
call fcn.00432263
test eax, eax
je 0x513071
mov ecx, edi
call fcn.004304df
push 0x96
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
lea ecx, [ebp - 0x21c]
call fcn.0043262d
pop ecx
lea eax, [ebp - 0x21c]
push eax
call fcn.00432310
test eax, eax
pop ecx
jne 0x5130a2
lea eax, [ebp - 0x21c]
push eax
push str.:7:ApplyUpdates___encountered_a_problem:_CreateDirectorySuper___s___has_FAILED:_The_directory_does_not_exist.
call fcn.0042b70b
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x21c]
push ebx
push eax
lea ecx, [ebp - 0x114]
call fcn.00404a71
add esp, 0xc
test eax, eax
jne 0x513165
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x2072
push str..UpdatePAULA.c
push 0x20
call fcn.00474c00
add esp, 0xc
test eax, eax
jne 0x5130f1
push str.:5:ApplyUpdates___encountered_a_problem:_LockTAMSServer_LTS_UPDATEFILES__FAILED_to_relock_while_retrying_update_archive_copy_2.
call fcn.0042bd38
pop ecx
jmp 0x5130fb
mov dword [ebp - 0x644], 1
push 1
lea edx, [ebp - 0x114]
lea ecx, [ebp - 0x42c]
call fcn.004315a3
cmp dword [ebp - 0x644], ebx
pop ecx
je 0x51311f
push 0x20
call fcn.00475a9e
pop ecx
push ebx
lea eax, [ebp - 0x21c]
push ebx
push eax
lea ecx, [ebp - 0x114]
call fcn.00404a71
add esp, 0xc
test eax, eax
jne 0x51315a
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x114]
push eax
push str.:9:ApplyUpdates___has_encountered_a_serious_problem:_The_update_archive_on_the_TAMS_server_is_corrupt:_ExpandArchive___s_____s___1__0__FAILED_
call fcn.0042b70b
add esp, 0xc
jmp 0x512e00
push str.:7:ApplyUpdates___encountered_a_problem.__The_first_time_the_update_archive_was_copied_from_the_TAMS_server__it_was_corrupt.__But_when_the_file_was_recopied_a_second_time__it_was_OK.
call fcn.0042bd38
pop ecx
push str.Revision.dat
lea eax, [ebp - 0x21c]
push eax
mov esi, 0x553c34
lea eax, [ebp - 0x534]
push esi
push eax
call fcn.00531b2f
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x534]
push eax
xor ecx, ecx
call fcn.0042e062
add esp, 0x18
test eax, eax
mov edi, 0x558744
jne 0x5131f8
push edi
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x534]
push esi
push eax
call fcn.00531b2f
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x534]
push eax
xor ecx, ecx
call fcn.0042e062
add esp, 0x18
test eax, eax
jne 0x5131f8
inc dword [0x7101fc]
cmp dword [0x7101fc], 5
jg 0x512e00
push dword [0x7101fc]
push str.:7:__d_of_5:_ApplyUpdates___FAILED:_The_update_is_invalid_because_it_does_not_contain_a_revision_date_
jmp 0x512e7b
push edi
push ebx
push ebx
call fcn.00493030
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x534]
push esi
push eax
call fcn.00531b2f
lea eax, [ebp - 0x664]
push eax
lea eax, [ebp - 0x534]
push eax
xor ecx, ecx
call fcn.0042e062
add esp, 0x18
test eax, eax
jne 0x513237
push str.:7:ApplyUpdates___encountered_a_problem:_Could_not_determine_the_revision_date_of_the_current_PAULA_installation.__The_update_will_be_applied.
call fcn.0042bd38
pop ecx
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x664]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [ebp - 0x654]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004f9ee0
add esp, 0x20
test eax, eax
jge 0x5132fa
movzx eax, word [ebp - 0x658]
push eax
movzx eax, word [ebp - 0x65a]
push eax
movzx eax, word [ebp - 0x65c]
push eax
movzx eax, word [ebp - 0x664]
push eax
movzx eax, word [ebp - 0x65e]
push eax
movzx eax, word [ebp - 0x662]
push eax
movzx eax, word [ebp - 0x648]
push eax
movzx eax, word [ebp - 0x64a]
push eax
movzx eax, word [ebp - 0x64c]
push eax
movzx eax, word [ebp - 0x654]
push eax
movzx eax, word [ebp - 0x64e]
push eax
movzx eax, word [ebp - 0x652]
push eax
push str.:3:ApplyUpdates___did_not_apply_the_update_from_the_TAMS_server_because_it_is_outdated.__The_update_was_revised__02d__02d__04d____02d:_02d._02d_but_the_current_revision_is__02d__02d__04d____02d:_02d._02d.
call fcn.0042bd38
add esp, 0x34
lea ecx, [ebp - 0x114]
call fcn.00513aea
cmp dword [ebp - 0x640], ebx
je 0x5132f2
lea eax, [ebp - 0x324]
push eax
call fcn.004338fc
pop ecx
xor eax, eax
inc eax
jmp 0x512e17
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x664]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [ebp - 0x654]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004f989d
add esp, 0x20
test eax, eax
jne 0x5133b0
mov word [ebp - 0x674], bx
lea edi, [ebp - 0x672]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push str.Revision.dat
stosd dword es:[edi], eax
push ebx
push ebx
stosw word es:[edi], ax
call fcn.00493154
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x534]
push 0x553c34
push eax
call fcn.00531b2f
lea eax, [ebp - 0x674]
push eax
lea eax, [ebp - 0x534]
push eax
xor ecx, ecx
call fcn.0042e062
add esp, 0x18
test eax, eax
je 0x5133b0
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x674]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [ebp - 0x654]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004f989d
add esp, 0x20
test eax, eax
je 0x5133b0
lea esi, [ebp - 0x674]
lea edi, [ebp - 0x664]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x664]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [ebp - 0x654]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004f989d
add esp, 0x20
test eax, eax
je 0x513452
call fcn.00418779
test eax, eax
je 0x513447
xor eax, eax
mov word [ebp - 0x674], bx
lea edi, [ebp - 0x672]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x20c1
stosw word es:[edi], ax
lea eax, [ebp - 0x674]
push str..UpdatePAULA.c
push eax
call fcn.004fb92f
add esp, 0xc
cmp word [ebp - 0x670], bx
je 0x5132d2
cmp word [ebp - 0x670], 6
je 0x5132d2
cmp word [ebp - 0x66c], 0xe
jae 0x5132d2
cmp word [ebp - 0x66c], 6
jb 0x5132d2
push str.:1:FYI:_An_update_is_about_to_be_reapplied.__This_may_not_be_necessary_but_has_been_left_for_safety.__Return_at_this_point_to_disable_this__feature_.
call fcn.0042bd38
pop ecx
lea edi, [ebp - 0x114]
call fcn.00432263
test eax, eax
je 0x512e00
push 0x5135c0
push 1
push 1
push 0xea60
push ebx
push ebx
call fcn.00493030
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.00430919
add esp, 0x18
test eax, eax
jge 0x5134b1
push ebx
push ebx
call fcn.00493030
push eax
lea eax, [ebp - 0x21c]
push eax
push str.:9:ApplyUpdates___encountered_an_IMPOSSIBLE_EXCEPTION:_CopyNewerFiles___s_____s___FAILED_to_apply_an_already_tested_update_
call fcn.0042b70b
add esp, 0x14
jmp 0x512e00
call fcn.00446e9c
lea ecx, [ebp - 0x114]
call fcn.00513aea
lea eax, [ebp - 0x114]
call fcn.004314ff
lea edi, [ebp - 0x21c]
call fcn.00432263
test eax, eax
je 0x5134e2
mov ecx, edi
call fcn.004304df
mov esi, str.Revision.dat
push esi
push ebx
push ebx
call fcn.00493030
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x42c]
push 0x553c34
push eax
call fcn.00531b2f
add esp, 0x10
lea edi, [ebp - 0x42c]
call fcn.00432263
test eax, eax
je 0x513532
push ebx
push esi
push ebx
call fcn.00493154
pop ecx
pop ecx
push eax
mov eax, edi
push eax
call fcn.00431386
add esp, 0xc
mov eax, edi
call fcn.004314ff
push 1
call fcn.004c741f
movzx eax, word [ebp - 0x658]
pop ecx
push eax
movzx eax, word [ebp - 0x65a]
push eax
movzx eax, word [ebp - 0x65c]
push eax
movzx eax, word [ebp - 0x664]
push eax
movzx eax, word [ebp - 0x65e]
push eax
movzx eax, word [ebp - 0x662]
push eax
movzx eax, word [ebp - 0x648]
push eax
movzx eax, word [ebp - 0x64a]
push eax
movzx eax, word [ebp - 0x64c]
push eax
movzx eax, word [ebp - 0x654]
push eax
movzx eax, word [ebp - 0x64e]
push eax
movzx eax, word [ebp - 0x652]
push eax
push str.:0:_FYI:_An_update_has_been_processed.__Update_Revision____02d__02d__04d____02d:_02d._02d__Previous_Revision____02d__02d__04d____02d:_02d._02d.
call fcn.0042bd38
add esp, 0x34
push str.UpdtFileLst.txt
push ebx
call fcn.00493030
pop ecx
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x5132dd