Function at 0x402aff
Capabilities:
Delete file
Get common file path
Move file
Set file attributes

Disassembly:
push 0x268
mov eax, 0x438a2a
call fcn.0041ef9e
cmp byte [0x451801], 0
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x258], esi
jne 0x402b2e
call fcn.004029a2
mov eax, dword [ebp + 8]
cmp eax, dword [0x451804]
jle 0x402b41
xor eax, eax
inc eax
jmp 0x40322f
mov eax, dword [0x45180c]
cmp eax, dword [0x442d4c]
jne 0x402ef9
call fcn.00410229
push eax
lea ecx, [ebp - 0x24c]
call fcn.00401330
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.00407d99
test eax, eax
je 0x402be6
push 0x105
lea eax, [ebp - 0x248]
push ebx
push eax
call fcn.00420450
add esp, 0xc
lea eax, [ebp - 0x248]
push eax
push ebx
push ebx
push 0x24
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x402be6
lea eax, [ebp - 0x248]
push eax
call fcn.0042410e
pop ecx
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x24c]
call fcn.004035fe
mov esi, str.Temp
push esi
call fcn.0042410e
pop ecx
push eax
push esi
lea ecx, [ebp - 0x24c]
call fcn.00402376
lea eax, [ebp - 0x24c]
push eax
call fcn.0040441f
pop ecx
test eax, eax
je 0x402c1f
lea ecx, [ebp - 0x24c]
call fcn.004025b7
mov esi, 0x104
lea ecx, [ebp - 0x24c]
push esi
call fcn.00403325
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x402d84
push 0xffffffffffffffff
lea ecx, [ebp - 0x24c]
call fcn.004033a7
push 0x5c
push dword [ebp - 0x24c]
call fcn.004218a4
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x402c64
mov ecx, dword [ebp - 0x24c]
sub edx, ecx
sar edx, 1
cmp edx, 0xffffffff
je 0x402c64
mov eax, dword [ecx - 0xc]
dec eax
cmp edx, eax
je 0x402c64
mov esi, 0x43c0e8
push esi
call fcn.0042410e
pop ecx
push eax
push esi
lea ecx, [ebp - 0x24c]
call fcn.00402376
push ebx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x274]
call fcn.0040216b
mov eax, dword [ebp - 0x24c]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
push eax
call fcn.00402458
add eax, 0x10
mov dword [ebp - 0x254], eax
cmp byte [0x451800], 0
mov eax, str.AdobeARM.log
mov esi, str.AdobeARM_Helper.log
mov byte [ebp - 4], 2
cmove esi, eax
push esi
call fcn.0042410e
pop ecx
pop ecx
push eax
push esi
lea ecx, [ebp - 0x254]
call fcn.00402376
mov esi, dword [ebp - 0x254]
lea eax, [ebp - 0x274]
push eax
push 0x3021
mov edi, 0x451808
push esi
mov ecx, edi
call fcn.00410c20
test eax, eax
jne 0x402da7
mov eax, dword [ebp - 0x24c]
add eax, 0xfffffff0
push eax
call fcn.00402458
add eax, 0x10
mov dword [ebp - 0x250], eax
cmp byte [0x451800], 0
mov eax, str.AdobeARM_NotLocked.log
mov edi, str.AdobeARM_Helper_NotLocked.log
mov byte [ebp - 4], 3
cmove edi, eax
push edi
call fcn.0042410e
pop ecx
pop ecx
push eax
push edi
lea ecx, [ebp - 0x250]
call fcn.00402376
mov edi, dword [ebp - 0x250]
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x274]
mov ecx, 0x451808
push eax
push 0x3021
push edi
call fcn.00410c20
lea ecx, [edi - 0x10]
test eax, eax
jne 0x402d99
call fcn.00401a64
lea ecx, [esi - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x264]
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
lea ecx, [ecx - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.00401a64
xor eax, eax
jmp 0x40322f
mov byte [ebp - 4], 2
call fcn.00401a64
mov edi, 0x451808
mov ecx, edi
call fcn.00410b10
cmp edx, ebx
ja 0x402dc9
cmp eax, ebx
jbe 0x402ebf
cmp edx, ebx
ja 0x402dc9
cmp eax, 0x100000
jb 0x402e7b
mov ecx, edi
call fcn.004109b0
mov eax, dword [ebp - 0x24c]
add eax, 0xfffffff0
push eax
call fcn.00402458
add eax, 0x10
mov dword [ebp - 0x250], eax
cmp byte [0x451800], 0
mov eax, str.AdobeARM_Backup.log
mov edi, str.AdobeARM_Helper_Backup.log
mov byte [ebp - 4], 4
cmove edi, eax
push edi
call fcn.0042410e
pop ecx
pop ecx
push eax
push edi
lea ecx, [ebp - 0x250]
call fcn.00402376
mov edi, dword [ebp - 0x250]
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 1
xor ecx, ecx
test eax, eax
pop eax
cmovne eax, ecx
mov ecx, 0x451808
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x274]
push eax
push 0x3021
push esi
call fcn.00410c20
lea ecx, [edi - 0x10]
test eax, eax
je 0x402d5f
call fcn.00401a64
cmp dword [ebp - 0x25c], 0
mov edi, 0x451808
je 0x402ebf
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.004035a9
push 0x43c240
mov ecx, edi
call fcn.00411040
push 0x43c240
mov ecx, edi
call fcn.00411040
push 0x43c240
mov ecx, edi
call fcn.00411040
jmp 0x402ebf
lea ecx, [esi - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x264]
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
lea ecx, [ecx - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x24c]
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00401a64
mov esi, dword [ebp - 0x258]
jmp 0x402f00
xor ebx, ebx
mov edi, 0x451808
call fcn.00410229
push eax
lea ecx, [ebp - 0x254]
call fcn.00401330
lea eax, [ebp - 0x254]
mov dword [ebp - 4], 7
push eax
call fcn.004027cf
pop ecx
call fcn.00410229
push eax
lea ecx, [ebp - 0x24c]
call fcn.00401330
mov ecx, dword [ebp - 0x260]
mov byte [ebp - 4], 8
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
jne 0x402f54
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
je 0x403095
push ecx
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.00402259
push esi
push eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 9
push eax
call fcn.00402259
add esp, 0x18
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xa
call fcn.00402209
mov ecx, dword [ebp - 0x25c]
lea ecx, [ecx - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x250]
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a64
push ebx
push 0x43c244
lea ecx, [ebp - 0x24c]
call fcn.004025f8
mov esi, eax
cmp esi, 0xffffffff
je 0x403067
lea ecx, [esi + 0x10]
push ecx
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00402a4e
push str.hidden
mov byte [ebp - 4], 0xb
call fcn.0042410e
pop ecx
push eax
push str.hidden
lea ecx, [ebp - 0x250]
call fcn.00402376
mov eax, dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
mov eax, dword [eax - 0xc]
sub eax, esi
sub eax, 0x2e
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.0040355a
mov eax, dword [eax]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0xc
push dword [eax - 0xc]
push eax
call fcn.00402376
mov ecx, dword [ebp - 0x25c]
mov byte [ebp - 4], 0xb
lea ecx, [ecx - 0x10]
call fcn.00401a64
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00402209
mov ecx, dword [ebp - 0x250]
lea ecx, [ecx - 0x10]
call fcn.00401a64
push dword [ebp - 0x24c]
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.00411040
push 0x43c240
mov ecx, edi
call fcn.00411040
jmp 0x40308e
mov dword [ebp - 4], 8
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x4031fb
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00402209
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
jne 0x4030ce
mov eax, dword [ebp - 0x258]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x4030e7
mov edi, 0x43c280
push edi
call fcn.0042410e
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.00402376
cmp esi, 0x186a0
jne 0x403179
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push ebx
mov esi, eax
mov dword [ebp - 0x258], ebx
lea eax, [ebp - 0x258]
push eax
push 0x400
push esi
push ebx
push 0x1100
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push 0x43c284
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.004022ae
push dword [ebp - 0x258]
mov byte [ebp - 4], 0xf
push esi
push dword [eax]
lea eax, [ebp - 0x24c]
push eax
call fcn.004027a3
mov ecx, dword [ebp - 0x25c]
add esp, 0x1c
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a64
push 0x43bfd8
push 0x43c240
lea ecx, [ebp - 0x24c]
call fcn.004033d3
jmp 0x4031e0
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x3c]
rep stosd dword es:[edi], eax
push 0xa
lea eax, [ebp - 0x3c]
push eax
push esi
call fcn.0042450b
mov esi, str.Error_Code:
push esi
call fcn.0042410e
add esp, 0x10
lea ecx, [ebp - 0x24c]
push eax
push esi
call fcn.00402376
lea eax, [ebp - 0x3c]
push eax
call fcn.0042410e
pop ecx
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00402376
push 0x43c240
call fcn.0042410e
pop ecx
push eax
push 0x43c240
lea ecx, [ebp - 0x24c]
call fcn.00402376
push dword [ebp - 0x24c]
mov ecx, 0x451808
mov byte [ebp - 4], 0x10
call fcn.00411040
mov dword [ebp - 4], 8
mov ecx, 0x451808
mov byte [ebp - 4], 0x12
call fcn.00410a10
mov ecx, dword [ebp - 0x24c]
xor ebx, ebx
cmp dword [ebp + 0x14], ebx
sete bl
add ecx, 0xfffffff0
call fcn.00401a64
mov ecx, dword [ebp - 0x254]
add ecx, 0xfffffff0
call fcn.00401a64
mov eax, ebx
call fcn.0041eeeb
ret