Function at 0x4214af
Capabilities:
Copy file
Delete file
Get common file path

Disassembly:
push 0x2ac
mov eax, 0x477eb6
call fcn.0045e88a
xor ebx, ebx
lea eax, [ebp - 0x270]
mov edi, ecx
mov dword [ebp - 0x27c], ebx
call fcn.004213af
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x25c], ebx
jne 0x4214f7
xor edi, edi
inc edi
push ebx
push 1
lea esi, [ebp - 0x270]
call fcn.0040144b
mov eax, edi
call fcn.0045e90d
ret
xor eax, eax
push 0x206
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push ebx
push eax
call fcn.0045f510
add esp, 0xc
mov dword [ebp - 0x280], ebx
call fcn.0040be7e
mov dword [ebp - 0x27c], eax
push 0x104
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x481674
lea eax, [ebp - 0x21c]
push eax
call esi
lea ecx, [ebp - 0x21c]
call fcn.0042143d
push edi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [ebp - 0x21c]
push eax
call esi
push ebx
lea eax, [ebp - 0x21c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x42158a
mov dword [ebp - 0x278], 8
jmp 0x4217ef
push 3
push 0x480de4
lea eax, [ebp - 0x21c]
push eax
push 2
pop eax
call fcn.0040d0e9
test eax, eax
jne 0x4215b3
mov dword [ebp - 0x278], 0xa
jmp 0x4217d0
lea eax, [ebp - 0x238]
push eax
mov dword [ebp - 0x280], 1
call fcn.004213f6
pop ecx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x258], 8
mov esi, dword [ebp - 0x26c]
jae 0x4215e3
lea esi, [ebp - 0x26c]
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x4215f8
lea eax, [ebp - 0x234]
push 0x481684
push eax
mov edi, reloc.OLEAUT32.dll_SysReAllocString
call fcn.0040cf1c
test eax, eax
je 0x4217b5
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x421625
lea eax, [ebp - 0x234]
push 0x481690
push eax
mov esi, 0x480df0
call fcn.0040cf1c
test eax, eax
je 0x4217b5
push 0x480de4
lea esi, [ebp - 0x2b8]
call fcn.00402cbc
push eax
lea eax, [ebp - 0x254]
push eax
mov byte [ebp - 4], 2
call fcn.0040f2df
pop ecx
pop ecx
push ebx
push 1
mov byte [ebp - 4], 4
call fcn.0040144b
push 0x4816bc
lea eax, [ebp - 0x238]
push eax
call fcn.00402cff
cmp dword [ebp - 0x23c], 8
mov esi, dword [ebp - 0x250]
jae 0x421692
lea esi, [ebp - 0x250]
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x4216a7
lea eax, [ebp - 0x234]
push 0x4816d4
push eax
call fcn.0040cf1c
test eax, eax
jne 0x4216d3
push ebx
push 1
lea esi, [ebp - 0x254]
mov dword [ebp - 0x278], 0xb
call fcn.0040144b
jmp 0x4217bf
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x254]
push eax
lea esi, [ebp - 0x238]
call fcn.004039a1
push 0x22343
push 0x4816f4
lea ecx, [ebp - 0x29c]
call fcn.0040ce40
cmp dword [eax + 0x18], 8
pop ecx
pop ecx
jb 0x42170a
mov eax, dword [eax + 4]
jmp 0x42170d
add eax, 4
cmp dword [ebp - 0x220], 8
mov ecx, dword [ebp - 0x234]
jae 0x421722
lea ecx, [ebp - 0x234]
push 0x4816fc
push ecx
mov esi, eax
call fcn.0040cf1c
test eax, eax
je 0x42175e
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x421748
lea eax, [ebp - 0x234]
push ebx
push 0x481710
push eax
call fcn.0040cef8
mov byte [ebp - 0x271], bl
test eax, eax
jne 0x421765
mov byte [ebp - 0x271], 1
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0x29c]
call fcn.0040144b
push ebx
lea esi, [ebp - 0x254]
push edi
cmp byte [ebp - 0x271], bl
je 0x421798
mov dword [ebp - 0x278], 0xb
call fcn.0040144b
push ebx
push edi
jmp 0x4217c2
mov dword [ebp - 0x278], ebx
call fcn.0040144b
push ebx
push edi
lea esi, [ebp - 0x238]
mov byte [ebp - 4], bl
call fcn.0040144b
jmp 0x4217ef
mov dword [ebp - 0x278], 0xb
push ebx
push 1
lea esi, [ebp - 0x238]
mov byte [ebp - 4], bl
call fcn.0040144b
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x280], ebx
je 0x4217ef
push 0x480de4
call fcn.0040d277
push dword [ebp - 0x27c]
call fcn.0040bebe
mov edi, dword [ebp - 0x278]
jmp 0x4214e1