Function at 0x10002694
Capabilities:
Check if file exists
Copy file
Delete file

Disassembly:
push 0xa8
mov eax, 0x100463be
call fcn.1002ddda
mov eax, dword [ebp + 8]
mov esi, ecx
push esi
mov dword [ebp - 0x60], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x100026bc
inc eax
jmp 0x100029b2
mov edi, dword [sym.imp.SHLWAPI.dll_StrStrIW]
push str.AppData
push esi
call edi
test eax, eax
jne 0x100029af
push str.Application_Data
push esi
call edi
test eax, eax
jne 0x100029af
push str.Temp
push esi
call edi
test eax, eax
jne 0x100029af
push 0x10049b9c
push esi
call edi
test eax, eax
jne 0x100029af
push esi
call fcn.10014798
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
call fcn.10001a0e
mov dword [ebp - 0x58], edx
cdq
cmp dword [ebp - 0x50], edx
jb 0x1000272a
ja 0x10002723
cmp dword [ebp - 0x54], eax
jbe 0x1000272a
push 2
jmp 0x100029b1
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x34], 0xf
call fcn.100066a4
lea eax, [ebp - 0x4c]
push eax
mov edx, esi
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], ebx
call fcn.10001f30
pop ecx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1c], ebx
jne 0x10002777
push 5
pop edi
push ebx
push 1
lea esi, [ebp - 0x30]
call fcn.10005a92
push ebx
push 1
lea ecx, [ebp - 0x4c]
call fcn.100058ba
mov eax, edi
jmp 0x100029b2
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x10002783
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10002792
push 7
jmp 0x10002759
cmp dword [ebp - 0x18], 8
mov edi, dword [ebp - 0x2c]
jae 0x1000279e
lea edi, [ebp - 0x2c]
call fcn.10014676
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x100027af
lea eax, [ebp - 0x2c]
push ebx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x100027d3
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x100027c8
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 4
jmp 0x10002759
push esi
call fcn.100025c8
mov eax, dword [ebp - 0x58]
cdq
pop ecx
cmp dword [ebp - 0x50], edx
ja 0x100027fd
jb 0x100027ea
cmp dword [ebp - 0x54], eax
jae 0x100027fd
cmp dword [ebp - 0x18], 8
mov edx, dword [ebp - 0x2c]
jae 0x100027f6
lea edx, [ebp - 0x2c]
mov ecx, esi
call fcn.100029b8
push 0x10049ba0
call fcn.100019cf
pop ecx
test eax, eax
je 0x10002995
push ebx
push ebx
lea eax, [ebp - 0x7c]
call fcn.1001dfa7
push esi
lea esi, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.10004f6a
mov eax, esi
push eax
lea eax, [ebp - 0xb4]
push eax
mov byte [ebp - 4], 5
call fcn.1000133b
sub esp, 0x10
mov byte [ebp - 4], 6
mov edx, eax
mov esi, esp
mov dword [ebp - 0x58], esp
call fcn.1001d13a
lea eax, [ebp - 0x7c]
push eax
mov edx, str.file_path
mov byte [ebp - 4], 7
call fcn.1001e245
mov edi, eax
mov byte [ebp - 4], 6
call fcn.1001d38d
push ebx
push 1
lea ecx, [ebp - 0xb4]
call fcn.100058ba
push ebx
push 1
lea esi, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.10005a92
push dword [ebp - 0x50]
lea ebx, [ebp - 0xb4]
push dword [ebp - 0x54]
call fcn.10014e15
sub esp, 0x10
mov byte [ebp - 4], 8
mov edx, eax
mov esi, esp
mov dword [ebp - 0x58], esp
call fcn.1001d13a
lea eax, [ebp - 0x7c]
push eax
mov edx, str.file_size
mov byte [ebp - 4], 9
call fcn.1001e245
mov edi, eax
mov byte [ebp - 4], 8
call fcn.1001d38d
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 4
call fcn.100058ba
sub esp, 0x18
lea edx, [ebp - 0x4c]
mov esi, esp
mov dword [ebp - 0x58], esp
call fcn.1001d13a
lea eax, [ebp - 0x7c]
push eax
mov edx, str.data_time
mov byte [ebp - 4], 0xa
call fcn.1001e245
mov edi, eax
mov byte [ebp - 4], 4
call fcn.1001d38d
push dword [ebp - 0x60]
lea esi, [ebp - 0x98]
call fcn.10004f6a
mov eax, esi
push eax
lea eax, [ebp - 0xb4]
push eax
mov byte [ebp - 4], 0xb
call fcn.1000133b
sub esp, 0x10
mov byte [ebp - 4], 0xc
mov edx, eax
mov esi, esp
mov dword [ebp - 0x58], esp
call fcn.1001d13a
lea eax, [ebp - 0x7c]
push eax
mov edx, str.reason
mov byte [ebp - 4], 0xd
call fcn.1001e245
mov edi, eax
mov byte [ebp - 4], 0xc
call fcn.1001d38d
push ebx
push 1
lea ecx, [ebp - 0xb4]
call fcn.100058ba
push ebx
push 1
lea esi, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.10005a92
lea eax, [ebp - 0x7c]
push eax
call fcn.10025ffc
lea esi, [ebp - 0x7c]
mov byte [ebp - 4], 1
call fcn.1001d30a
push ebx
push 1
lea esi, [ebp - 0x30]
call fcn.10005a92
push ebx
push 1
lea ecx, [ebp - 0x4c]
call fcn.100058ba
xor eax, eax
jmp 0x100029b2
push 6
pop eax
call fcn.1002de5d
ret