Function at 0x459a71
Capabilities:
Delete file
Move file

Disassembly:
push 0x5d4
mov eax, 0x4d0dd0
call fcn.004ae9bf
mov al, byte [0x56b20a]
test al, al
jne 0x459e10
call fcn.00458eeb
test eax, eax
jne 0x459afe
xor ebx, ebx
cmp byte [ebp + 8], bl
jne 0x459e10
push ebx
push 0x2010
push 0x5229b8
push ecx
mov ecx, esp
mov dword [ebp - 0x43c], esp
push str.RESOURCESTRING
call fcn.0040253e
push ecx
mov dword [ebp - 4], ebx
mov ecx, esp
mov dword [ebp - 0x438], esp
push str.SAFEPC_A44
call fcn.0040253e
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x448]
push eax
call fcn.00406e20
mov dword [ebp - 4], 1
push dword [eax]
call fcn.0048ad48
mov ecx, dword [ebp - 0x448]
jmp 0x459e08
push 0x5229b8
lea ecx, [ebp - 0x444]
mov byte [0x56b20a], 1
call fcn.0040253e
mov esi, 0x208
push esi
xor ebx, ebx
lea eax, [ebp - 0x224]
push ebx
push eax
mov dword [ebp - 4], 2
call fcn.004ae4c0
add esp, 0xc
lea eax, [ebp - 0x224]
push eax
call fcn.00460ccd
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x430]
call fcn.0040253e
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x43c]
mov byte [ebp - 4], 3
call fcn.00402582
push ecx
mov dword [ebp - 0x440], esp
mov ecx, esp
push 0x5698f4
mov byte [ebp - 4], 4
call fcn.00402582
lea ecx, [ebp - 0x430]
call fcn.00406d1b
push dword [ebp - 0x430]
call fcn.00407099
test al, al
je 0x459ba5
push dword [ebp - 0x430]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 5
call fcn.00458ed8
push 3
push dword [ebp - 0x430]
lea eax, [ebp - 0x4d4]
mov dword [ebp - 0x4d8], eax
lea eax, [ebp - 0x4d8]
push eax
call fcn.00407294
push 3
mov byte [ebp - 4], 6
push dword [0x5698f0]
lea eax, [ebp - 0x558]
mov dword [ebp - 0x55c], eax
lea eax, [ebp - 0x55c]
push eax
call fcn.00407294
mov byte [ebp - 4], 7
push dword [ebp - 0x4d8]
push dword [ebp - 0x55c]
call fcn.00458ea6
lea eax, [ebp - 0x558]
pop ecx
pop ecx
cmp dword [ebp - 0x55c], eax
je 0x459c23
push dword [ebp - 0x55c]
call fcn.004aaee4
pop ecx
lea eax, [ebp - 0x4d4]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x4d8], eax
je 0x459c41
push dword [ebp - 0x4d8]
call fcn.004aaee4
pop ecx
mov eax, 0x534f50
cmp byte [ebp + 0xc], bl
je 0x459c50
mov eax, 0x534f4c
push eax
push str.hidden
call fcn.00458efe
pop ecx
pop ecx
push dword [0x5695a4]
call fcn.00407099
test al, al
je 0x459cc0
push 3
push dword [0x5695a4]
lea eax, [ebp - 0x5dc]
mov dword [ebp - 0x5e0], eax
lea eax, [ebp - 0x5e0]
push eax
call fcn.00407294
mov byte [ebp - 4], 8
push dword [ebp - 0x5e0]
push str.language
call fcn.00458efe
lea eax, [ebp - 0x5dc]
pop ecx
mov byte [ebp - 4], 5
pop ecx
cmp dword [ebp - 0x5e0], eax
je 0x459cc0
push dword [ebp - 0x5e0]
call fcn.004aaee4
pop ecx
mov byte [0x56b20a], 1
call fcn.00458ec2
mov dword [ebp - 4], 4
cmp eax, ebx
je 0x459de0
lea eax, [ebp - 0x454]
call fcn.004424d8
call fcn.0048b151
push eax
lea ecx, [ebp - 0x438]
call fcn.00402821
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 0xa
call fcn.004424ee
push eax
lea ecx, [ebp - 0x454]
call fcn.0044252a
push eax
lea ecx, [ebp - 0x454]
call fcn.0044250c
push eax
lea eax, [ebp - 0x438]
push str.productSetup_Setup__d__d__d.exe
push eax
call fcn.00402a45
add esp, 0x14
push esi
lea eax, [ebp - 0x42c]
push ebx
push eax
call fcn.004ae4c0
add esp, 0xc
lea eax, [ebp - 0x42c]
push eax
call fcn.00460ccd
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x434]
call fcn.0040253e
push ecx
lea eax, [ebp - 0x438]
mov dword [ebp - 0x440], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0xb
call fcn.00402582
lea ecx, [ebp - 0x434]
call fcn.00406d1b
push dword [ebp - 0x434]
call fcn.00407099
test al, al
je 0x459da1
push dword [ebp - 0x434]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp - 0x434]
push dword [ebp - 0x430]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea eax, [ebp - 0x434]
push eax
mov ecx, 0x5698f8
call fcn.0040260d
mov ecx, dword [ebp - 0x434]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x43c]
add ecx, 0xfffffff0
mov byte [0x56b20a], bl
call fcn.00402883
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x444]
add ecx, 0xfffffff0
call fcn.00402883
call fcn.004aea1b
ret