Function at 0x414510
Capabilities:
Copy file
Delete file
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x950
mov eax, dword [0x42f060]
xor eax, ebp
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x94c], ecx
mov dword [ebp - 4], 0
push 0x80
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x94c]
call fcn.00414870
movzx edx, al
test edx, edx
je 0x414571
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [ebp - 4], eax
jmp 0x41482f
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x4b0]
push ecx
call fcn.00415af0
add esp, 8
lea edx, [ebp - 0x4b0]
push edx
call fcn.00415bde
add esp, 4
mov ecx, 0x5f
mov word [ebp + eax*2 - 0x4b2], cx
xor edx, edx
mov word [ebp - 0x2a8], dx
push 0x206
push 0
lea eax, [ebp - 0x2a6]
push eax
call fcn.00416110
add esp, 0xc
push 0
lea ecx, [ebp - 0x538]
push ecx
lea edx, [ebp - 0x4b0]
push edx
call sub.LZ32.dll_LZOpenFileW
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4146c0
xor eax, eax
mov word [ebp - 0x740], ax
push 0x206
push 0
lea ecx, [ebp - 0x73e]
push ecx
call fcn.00416110
add esp, 0xc
lea edx, [ebp - 0x740]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x4146c0
xor eax, eax
mov word [ebp - 0x948], ax
push 0x206
push 0
lea ecx, [ebp - 0x946]
push ecx
call fcn.00416110
add esp, 0xc
lea edx, [ebp - 0x948]
push edx
push 0
lea eax, [ebp - 0x4b0]
push eax
mov ecx, dword [ebp - 0x94c]
call fcn.004151c0
lea ecx, [ebp - 0x948]
push ecx
lea edx, [ebp - 0x740]
push edx
push str._s_s
lea eax, [ebp - 0x2a8]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 1
lea ecx, [ebp - 0x2a8]
push ecx
lea edx, [ebp - 0x4b0]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x80
lea eax, [ebp - 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov ecx, dword [ebp - 0x10]
push ecx
call sub.LZ32.dll_LZClose
push 0
lea edx, [ebp - 0x538]
push edx
lea eax, [ebp - 0x2a8]
push eax
call sub.LZ32.dll_LZOpenFileW
mov dword [ebp - 0x10], eax
push 0x1001
lea ecx, [ebp - 0xa0]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call sub.LZ32.dll_LZOpenFileW
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x414730
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x4b0]
push ecx
push str.LZCopy_LZERROR_BADINHANDLE_error___can_not_create_target_file._n_____s_____s__n
call fcn.004139d0
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
call sub.LZ32.dll_LZClose
mov eax, dword [ebp - 8]
push eax
call sub.LZ32.dll_LZClose
movzx ecx, word [ebp - 0x2a8]
test ecx, ecx
je 0x414720
lea edx, [ebp - 0x2a8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 5
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 4]
jmp 0x414847
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call sub.LZ32.dll_LZCopy
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x4147fe
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x950], edx
mov eax, dword [ebp - 0x950]
add eax, 6
mov dword [ebp - 0x950], eax
cmp dword [ebp - 0x950], 5
ja case.0x414775.2
mov ecx, dword [ebp - 0x950]
jmp dword [ecx*4 + 0x414858]
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x4b0]
push eax
push str.LZCopy_LZERROR_BADINHANDLE_error_n_____s_____s__n
call fcn.004139d0
add esp, 0xc
jmp case.0x414775.2
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x4b0]
push edx
push str.LZCopy_LZERROR_BADOUTHANDLE_error_n_____s_____s__n
call fcn.004139d0
add esp, 0xc
jmp case.0x414775.2
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x4b0]
push ecx
push str.LZCopy_LZERROR_GLOBALLOC_error_n_____s_____s__n
call fcn.004139d0
add esp, 0xc
jmp case.0x414775.2
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x4b0]
push eax
push str.LZCopy_LZERROR_GLOBLOCK_error_n_____s_____s__n
call fcn.004139d0
add esp, 0xc
jmp case.0x414775.2
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x4b0]
push edx
push str.LZCopy_LZERROR_READ_error_n_____s_____s__n
call fcn.004139d0
add esp, 0xc
jmp 0x414805
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x10]
push eax
call sub.LZ32.dll_LZClose
mov ecx, dword [ebp - 8]
push ecx
call sub.LZ32.dll_LZClose
movzx edx, word [ebp - 0x2a8]
test edx, edx
je 0x41482f
lea eax, [ebp - 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 4], 0
je 0x414844
push 0x80
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00415aa8
mov esp, ebp
pop ebp
ret 0xc