Function at 0x4a82a0
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5678fe
mov eax, dword fs:[0]
push eax
sub esp, 0x4dc
mov eax, dword [0x61308c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, str.InstallVerRecord.xml
lea ecx, [ebp - 0x428]
call fcn.00411c40
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4d4]
call fcn.0044d7e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x428]
cmp dword [ebp - 0x414], 8
cmovae ecx, dword [ebp - 0x428]
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x4d4]
call fcn.0046fe60
test al, al
je 0x4a8712
push ecx
mov eax, esp
lea ecx, [ebp - 0x4d4]
mov dword [eax], str.InstallData
call fcn.004708b0
test al, al
je 0x4a8712
mov eax, dword [ebp - 0x4a0]
test eax, eax
je 0x4a838c
cmp dword [ebp - 0x490], 1
jne 0x4a838c
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0x4a4], eax
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x4a0], ecx
mov dword [ebp - 0x49c], 0
setne al
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x490], eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x4d4]
mov dword [eax], str.InstallType
call fcn.004708b0
test al, al
je 0x4a83ce
lea ecx, [ebp - 0x4d4]
call fcn.004713e0
push ecx
mov eax, esp
lea ecx, [ebp - 0x4d4]
mov dword [eax], 0x5b9fbc
call fcn.004708b0
lea ecx, [ebp - 0x4d4]
call fcn.00471420
push ecx
mov eax, esp
lea ecx, [ebp - 0x4d4]
mov dword [eax], 0x5b9fc8
call fcn.004708b0
test al, al
je 0x4a8707
lea ecx, [ebp - 0x4d4]
call fcn.004713e0
push 1
lea ecx, [ebp - 0x4d4]
call fcn.00471140
test eax, eax
je 0x4a86fc
nop word [eax + eax]
push 0x4c
call fcn.005120b2
mov esi, eax
add esp, 4
mov dword [ebp - 0x4e4], esi
mov byte [ebp - 4], 2
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov dword [ebp - 0x4dc], esi
mov word [esi], ax
mov byte [ebp - 4], 4
lea edi, [esi + 0x18]
mov dword [ebp - 0x4e8], edi
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], eax
mov word [edi], ax
mov byte [ebp - 4], 6
lea ebx, [esi + 0x30]
mov dword [ebp - 0x4e0], ebx
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], eax
mov word [ebx], ax
mov byte [ebp - 4], 8
mov byte [esi + 0x48], al
mov byte [ebp - 4], 1
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x4dc], esi
call fcn.004a7ae0
mov byte [ebp - 4], 9
cmp esi, eax
je 0x4a84aa
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.004048d0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x42c]
cmp eax, 8
jb 0x4a84cc
inc eax
lea ecx, [ebp - 0x440]
push eax
push dword [ebp - 0x440]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x42c], 7
push ecx
mov word [ebp - 0x440], ax
lea ecx, [ebp - 0x4d4]
mov eax, esp
mov dword [ebp - 0x430], 0
mov dword [eax], str.OldVer
lea eax, [ebp - 0x458]
push eax
call fcn.00474880
mov byte [ebp - 4], 0xa
cmp edi, eax
je 0x4a8518
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.004048d0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x444]
cmp eax, 8
jb 0x4a853a
inc eax
lea ecx, [ebp - 0x458]
push eax
push dword [ebp - 0x458]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x444], 7
push ecx
mov word [ebp - 0x458], ax
lea ecx, [ebp - 0x4d4]
mov eax, esp
mov dword [ebp - 0x448], 0
mov dword [eax], str.NewVer
lea eax, [ebp - 0x470]
push eax
call fcn.00474880
mov byte [ebp - 4], 0xb
cmp ebx, eax
je 0x4a8586
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
call fcn.004048d0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x45c]
cmp eax, 8
jb 0x4a85a8
inc eax
lea ecx, [ebp - 0x470]
push eax
push dword [ebp - 0x470]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x45c], 7
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x460], 0
mov word [ebp - 0x470], ax
jb 0x4a85cf
mov eax, dword [esi]
jmp 0x4a85d1
mov eax, esi
mov ecx, dword [0x61de10]
test ecx, ecx
je 0x4a85e2
push eax
call ecx
mov edi, eax
jmp 0x4a85e4
xor edi, edi
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 0x4d8], edi
call fcn.00420dd0
test al, al
jne 0x4a86d5
lea ecx, [ebp - 0x4d8]
call fcn.00420ea0
test al, al
jne 0x4a86d5
lea ecx, [ebp - 0x4d8]
call fcn.0041fa30
cmp eax, 0x16
je 0x4a86d5
lea ecx, [ebp - 0x4d8]
call fcn.0041fa30
cmp eax, 0x34
je 0x4a86d5
lea ecx, [ebp - 0x4d8]
call fcn.0041fa30
test eax, eax
jne 0x4a8665
lea ecx, [ebp - 0x4d8]
call fcn.0041fff0
test al, al
je 0x4a8665
lea ecx, [ebp - 0x4d8]
call fcn.004200c0
test al, al
je 0x4a86d5
push 0x400
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.0052d340
push edi
lea ecx, [ebp - 0x410]
call fcn.004143b0
mov eax, dword [0x61de2c]
add esp, 0x10
test eax, eax
je 0x4a86bf
push edi
call eax
test eax, eax
jle 0x4a86bf
lea eax, [ebp - 0x410]
xor edx, edx
push eax
mov ecx, 0x18e98
call fcn.00411230
add esp, 4
mov byte [esi + 0x48], 1
lea eax, [ebp - 0x4dc]
push eax
call fcn.004a8b00
jmp 0x4a86e7
lea eax, [ebp - 0x410]
xor edx, edx
push eax
mov ecx, 0x18e99
call fcn.00411230
add esp, 4
mov ecx, esi
call fcn.004a7b90
push 0x4c
push esi
call fcn.00512108
add esp, 8
push 1
lea ecx, [ebp - 0x4d4]
call fcn.00471140
test eax, eax
jne 0x4a8410
lea ecx, [ebp - 0x4d4]
call fcn.00471420
lea ecx, [ebp - 0x4d4]
call fcn.00471420
cmp dword [ebp - 0x414], 8
lea eax, [ebp - 0x428]
cmovae eax, dword [ebp - 0x428]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4a8793
mov eax, dword [0x618d28]
test eax, eax
jne 0x4a875e
push 0x70
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x4e0], eax
mov byte [ebp - 4], 0xc
mov ecx, eax
call fcn.00409ee0
mov byte [ebp - 4], 1
mov dword [0x618d28], eax
push str.Find_InstallVerRecord.xml_file_r_n
push 0x95
push str.RebootRestoreInstallData_.cpp
push 8
push eax
call fcn.0040a3e0
add esp, 0x14
lea eax, [ebp - 0x428]
cmp dword [ebp - 0x414], 8
cmovae eax, dword [ebp - 0x428]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [0x61e218]
sub eax, dword [0x61e214]
sar eax, 2
test eax, eax
setne bl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4d4]
call fcn.0044d5a0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x414]
cmp eax, 8
jb 0x4a87da
inc eax
lea ecx, [ebp - 0x428]
push eax
push dword [ebp - 0x428]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x414], 7
mov word [ebp - 0x428], ax
mov al, bl
mov dword [ebp - 0x418], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005120a1
mov esp, ebp
pop ebp
ret