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

Disassembly:
push 0x64
mov eax, 0x487318
call fcn.00464eea
mov esi, edx
mov dword [ebp - 0x54], esi
mov ebx, ecx
cmp byte [0x4e1dde], 0
mov edi, dword [ebp + 8]
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], edi
jne 0x41392d
call fcn.00413847
cmp ebx, dword [0x4e1de0]
jle 0x41393d
xor eax, eax
inc eax
jmp 0x413e45
mov eax, dword [0x4e2514]
cmp eax, dword [0x494380]
jne 0x413bae
call fcn.0044afe1
push eax
lea ecx, [ebp - 0x40]
call fcn.00402824
and dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
mov esi, 0x104
push esi
call fcn.00402b5d
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x413a6b
push 0xffffffffffffffff
lea ecx, [ebp - 0x40]
call fcn.004097d8
call fcn.0044afe1
push eax
lea ecx, [ebp - 0x48]
call fcn.00402824
push 0x4e1f84
lea eax, [ebp - 0x40]
xor ebx, ebx
push eax
lea eax, [ebp - 0x44]
inc ebx
push eax
mov byte [ebp - 4], bl
call fcn.00402448
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call fcn.00402d9f
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00402def
push 0
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x70]
call fcn.00402653
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0x48]
mov ebx, 0x4e2510
push eax
push 0x3021
push esi
mov ecx, ebx
call fcn.0045a0b0
test eax, eax
jne 0x413a8c
push str.AdobeARM_NotLocked.log
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004023e9
add esp, 0xc
push 0x80
mov byte [ebp - 4], 4
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x70]
mov ecx, ebx
push eax
push 0x3021
push dword [ebp - 0x44]
call fcn.0045a0b0
test eax, eax
jne 0x413a7d
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x70], vtable.CFileException.0
lea ecx, [ecx - 0x10]
call fcn.00402def
lea ecx, [esi - 0x10]
call fcn.00402def
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.00402def
xor eax, eax
jmp 0x413e45
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov ecx, ebx
call fcn.00459fd0
test edx, edx
jne 0x413aaa
test eax, eax
je 0x413b80
test edx, edx
jne 0x413aaa
cmp eax, 0x100000
jb 0x413b22
mov ecx, ebx
call fcn.00459f30
push 0x4e1f88
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00402448
add esp, 0xc
push 0x80
mov byte [ebp - 4], 5
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp - 0x44]
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 1
xor ecx, ecx
test eax, eax
pop eax
cmovne eax, ecx
mov ecx, ebx
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x70]
push eax
push 0x3021
push esi
call fcn.0045a0b0
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
test eax, eax
je 0x413a4c
call fcn.00402def
cmp dword [ebp - 0x58], 0
je 0x413b80
mov byte [ebp - 4], 6
mov eax, dword [0x4e2510]
push 2
push 0
push 0
mov edi, dword [eax + 0x2c]
mov ecx, edi
call dword [0x4907c8]
mov ecx, ebx
call edi
push 0x4b9098
mov ecx, ebx
call fcn.0045a4b0
push 0x4b9098
mov ecx, ebx
call fcn.0045a4b0
push 0x4b9098
mov ecx, ebx
call fcn.0045a4b0
mov edi, dword [ebp - 0x4c]
jmp 0x413b80
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x70], vtable.CFileException.0
lea ecx, [ecx - 0x10]
call fcn.00402def
lea ecx, [esi - 0x10]
call fcn.00402def
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov esi, dword [ebp - 0x54]
jmp 0x413bb3
mov ebx, 0x4e2510
call fcn.0044afe1
push eax
lea ecx, [ebp - 0x48]
call fcn.00402824
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 8
call fcn.00413f85
call fcn.0044afe1
push eax
lea ecx, [ebp - 0x40]
call fcn.00402824
mov byte [ebp - 4], 9
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x413bf6
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
je 0x413d05
push esi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00402448
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xa
push eax
call fcn.00402448
add esp, 0xc
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xb
call fcn.00402d9f
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.00402def
push 0
push 0x4b909c
lea ecx, [ebp - 0x40]
call fcn.0040920e
mov esi, eax
cmp esi, 0xffffffff
je 0x413cc7
lea ecx, [esi + 0x10]
push ecx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x40]
call fcn.004091c9
push str.hidden
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xc
call fcn.0040252d
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x40]
mov eax, dword [eax - 0xc]
sub eax, esi
sub eax, 0x2e
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0040abbb
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x44]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.00402556
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.00402def
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x40]
call fcn.00402d9f
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov byte [ebp - 4], 0xe
mov ecx, ebx
push dword [ebp - 0x40]
call fcn.0045a4b0
push 0x4b9098
mov ecx, ebx
call fcn.0045a4b0
mov dword [ebp - 4], 9
jmp 0x413d05
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x413e1a
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x40]
call fcn.00402d9f
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
jne 0x413d2f
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
je 0x413d3c
push 0x4a050c
lea ecx, [ebp - 0x40]
call fcn.0040252d
cmp esi, 0x186a0
jne 0x413db9
call dword [sym.imp.KERNEL32.dll_GetLastError]
and dword [ebp - 0x50], 0
mov esi, eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
push 0x400
push esi
push 0
push 0x1100
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push str.GetLastError__:__1_d_____2_s_
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004023e9
add esp, 0xc
mov byte [ebp - 4], 0x10
push dword [ebp - 0x50]
push esi
push dword [eax]
lea eax, [ebp - 0x40]
push eax
call fcn.00412910
mov byte [ebp - 4], 9
add esp, 0x10
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.00402def
push 0x49fb6c
push 0x4b9098
lea ecx, [ebp - 0x40]
call fcn.00409248
jmp 0x413df8
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.0046c6cf
add esp, 0xc
lea ecx, [ebp - 0x40]
push str.Error_Code:
call fcn.0040252d
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x40]
call fcn.0040252d
push 0x4b9098
lea ecx, [ebp - 0x40]
call fcn.0040252d
mov byte [ebp - 4], 0x11
mov ecx, ebx
push dword [ebp - 0x40]
call fcn.0045a4b0
jmp 0x413e13
mov dword [ebp - 4], 9
mov ecx, ebx
mov byte [ebp - 4], 0x13
call fcn.00459f90
mov ecx, dword [ebp - 0x40]
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
sete bl
add ecx, 0xfffffff0
call fcn.00402def
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00402def
mov eax, ebx
call fcn.00464e37
ret