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

Disassembly:
push 0x27c
mov eax, 0x4aee34
call fcn.0046c4ba
mov esi, edx
mov dword [ebp - 0x26c], esi
mov ebx, ecx
cmp byte [0x51ac99], 0
mov edi, dword [ebp + 8]
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x274], edi
jne 0x414636
call fcn.00414505
cmp ebx, dword [0x51ac9c]
jle 0x414646
xor eax, eax
inc eax
jmp 0x414d3d
mov eax, dword [0x51b2cc]
cmp eax, dword [0x4be960]
jne 0x414a29
call fcn.00452601
push eax
lea ecx, [ebp - 0x258]
call fcn.00402899
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.004425f1
test eax, eax
je 0x4146d2
push 0x105
lea eax, [ebp - 0x254]
push ebx
push eax
call fcn.00484bc0
add esp, 0xc
lea eax, [ebp - 0x254]
push eax
push ebx
push ebx
push 0x24
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x4146d2
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x258]
call fcn.0040286d
push str.Temp
lea ecx, [ebp - 0x258]
call fcn.0040259d
lea ecx, [ebp - 0x258]
call fcn.00441e9d
test eax, eax
je 0x41470b
lea ecx, [ebp - 0x258]
call fcn.00402a6b
mov esi, 0x104
lea ecx, [ebp - 0x258]
push esi
call fcn.00402bd2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x414a14
push 0xffffffffffffffff
lea ecx, [ebp - 0x258]
call fcn.0040ae39
mov esi, dword [ebp - 0x258]
push 0x5c
push esi
call fcn.00485294
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
je 0x414748
sub ecx, esi
sar ecx, 1
cmp ecx, 0xffffffff
je 0x414748
mov eax, dword [esi - 0xc]
dec eax
cmp ecx, eax
je 0x414748
push 0x4d1898
lea ecx, [ebp - 0x258]
call fcn.0040259d
mov esi, dword [ebp - 0x258]
push ebx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x288]
call fcn.004026c3
lea eax, [esi - 0x10]
mov byte [ebp - 4], 1
push eax
mov dword [ebp - 0x270], eax
call fcn.00402d9f
add eax, 0x10
pop ecx
mov dword [ebp - 0x260], eax
mov byte [ebp - 4], 2
mov eax, str.AdobeARM.log
cmp byte [0x51ac96], 0
mov ecx, str.AdobeARM_UCB.log
cmove ecx, eax
cmp byte [0x51ac98], 0
mov eax, str.AdobeARM_Helper.log
cmove eax, ecx
lea ecx, [ebp - 0x260]
push eax
call fcn.0040259d
mov edi, dword [ebp - 0x260]
lea eax, [ebp - 0x288]
push eax
push 0x3021
push edi
mov ecx, 0x51b2c8
call fcn.00460e50
test eax, eax
jne 0x41489a
lea eax, [esi - 0x10]
push eax
call fcn.00402d9f
add eax, 0x10
pop ecx
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 3
mov eax, str.AdobeARM_NotLocked.log
cmp byte [0x51ac96], 0
mov ecx, str.AdobeARM_UCB_NotLocked.log
cmove ecx, eax
cmp byte [0x51ac98], 0
mov eax, str.AdobeARM_Helper_NotLocked.log
cmove eax, ecx
lea ecx, [ebp - 0x25c]
push eax
call fcn.0040259d
push 0x80
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x288]
mov ecx, 0x51b2c8
push eax
push 0x3021
push dword [ebp - 0x25c]
call fcn.00460e50
test eax, eax
jne 0x414888
mov ecx, dword [ebp - 0x25c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
lea ecx, [edi - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x278]
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x270]
jmp 0x414a1d
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x25c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, 0x51b2c8
call fcn.00460d70
cmp edx, ebx
ja 0x4148bf
cmp eax, ebx
jbe 0x4149da
cmp edx, ebx
ja 0x4148bf
cmp eax, 0x100000
jb 0x414970
mov ecx, 0x51b2c8
call fcn.00460cd0
lea eax, [esi - 0x10]
push eax
call fcn.00402d9f
add eax, 0x10
pop ecx
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 4
mov ecx, str.AdobeARM_Backup.log
cmp byte [0x51ac98], 0
mov eax, str.AdobeARM_Helper_Backup.log
cmove eax, ecx
lea ecx, [ebp - 0x25c]
push eax
call fcn.0040259d
push 0x80
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp - 0x25c]
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 1
xor ecx, ecx
test eax, eax
pop eax
cmovne eax, ecx
mov ecx, 0x51b2c8
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x288]
push eax
push 0x3021
push edi
call fcn.00460e50
mov ecx, dword [ebp - 0x25c]
lea ecx, [ecx - 0x10]
test eax, eax
je 0x414858
call fcn.00402e64
cmp dword [ebp - 0x264], 0
je 0x4149da
mov byte [ebp - 4], 5
mov eax, dword [0x51b2c8]
push 2
push ebx
push ebx
mov ebx, dword [eax + 0x2c]
mov ecx, ebx
call dword [0x4ba7ec]
mov ecx, 0x51b2c8
call ebx
mov ebx, 0x51b2c8
push 0x4ea43c
mov ecx, ebx
call fcn.00461250
push 0x4ea43c
mov ecx, ebx
call fcn.00461250
push 0x4ea43c
mov ecx, ebx
call fcn.00461250
jmp 0x4149d8
xor ebx, ebx
lea ecx, [edi - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x278]
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
lea ecx, [ecx - 0x10]
call fcn.00402e64
or dword [ebp - 4], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00402e64
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x26c]
jmp 0x414a2b
mov ecx, dword [ebp - 0x258]
lea ecx, [ecx - 0x10]
call fcn.00402e64
xor eax, eax
jmp 0x414d3d
xor ebx, ebx
call fcn.00452601
push eax
lea ecx, [ebp - 0x260]
call fcn.00402899
lea ecx, [ebp - 0x260]
mov dword [ebp - 4], 7
call fcn.00414e60
call fcn.00452601
push eax
lea ecx, [ebp - 0x258]
call fcn.00402899
mov byte [ebp - 4], 8
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x414a77
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
je 0x414bce
push esi
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x270]
push eax
call fcn.004024b8
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 9
push eax
call fcn.004024b8
add esp, 0xc
push eax
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0xa
call fcn.00402e14
mov ecx, dword [ebp - 0x264]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x270]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push ebx
push 0x4ea440
lea ecx, [ebp - 0x258]
call fcn.0040a9fe
mov esi, eax
cmp esi, 0xffffffff
je 0x414b81
lea ecx, [esi + 0x10]
push ecx
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x258]
call fcn.0040a9b9
push str.hidden
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0xb
call fcn.0040259d
mov eax, dword [ebp - 0x258]
lea ecx, [ebp - 0x258]
mov eax, dword [eax - 0xc]
sub eax, esi
sub eax, 0x2e
push eax
lea eax, [ebp - 0x264]
push eax
call fcn.004133b3
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x25c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004025c6
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x264]
lea ecx, [ecx - 0x10]
call fcn.00402e64
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x258]
call fcn.00402e14
mov ecx, dword [ebp - 0x25c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 0xd
mov ecx, 0x51b2c8
push dword [ebp - 0x258]
call fcn.00461250
push 0x4ea43c
mov ecx, 0x51b2c8
call fcn.00461250
mov dword [ebp - 4], 8
jmp 0x414bce
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x414d09
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x258]
call fcn.00402e14
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
jne 0x414c01
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
je 0x414c11
push 0x4d0424
lea ecx, [ebp - 0x258]
call fcn.0040259d
cmp esi, 0x186a0
jne 0x414ca6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push ebx
mov esi, eax
mov dword [ebp - 0x268], ebx
lea eax, [ebp - 0x268]
push eax
push 0x400
push esi
push ebx
push 0x1100
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push str.GetLastError__:__1_d_____2_s_
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x264]
push eax
call fcn.00402459
add esp, 0xc
mov byte [ebp - 4], 0xf
push dword [ebp - 0x268]
push esi
push dword [eax]
lea eax, [ebp - 0x258]
push eax
call fcn.00413487
mov byte [ebp - 4], 8
add esp, 0x10
mov ecx, dword [ebp - 0x264]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push 0x4d189c
push 0x4ea43c
lea ecx, [ebp - 0x258]
call fcn.0040aa38
jmp 0x414cee
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x40]
rep stosd dword es:[edi], eax
push 0xa
lea eax, [ebp - 0x40]
push eax
push esi
call fcn.0048ba99
add esp, 0xc
lea ecx, [ebp - 0x258]
push str.Error_Code:
call fcn.0040259d
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x258]
call fcn.0040259d
push 0x4ea43c
lea ecx, [ebp - 0x258]
call fcn.0040259d
mov byte [ebp - 4], 0x10
mov ecx, 0x51b2c8
push dword [ebp - 0x258]
call fcn.00461250
mov dword [ebp - 4], 8
mov ecx, 0x51b2c8
mov byte [ebp - 4], 0x12
call fcn.00460d30
mov ecx, dword [ebp - 0x258]
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
sete bl
add ecx, 0xfffffff0
call fcn.00402e64
mov ecx, dword [ebp - 0x260]
add ecx, 0xfffffff0
call fcn.00402e64
mov eax, ebx
call fcn.0046c407
ret