Function at 0x17a5c
Capabilities:
Copy file
Delete file
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x17a64
push ecx
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x18037
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.00018330
cmp dword [edi + 0x2c], 0
jne 0x17ab0
push 0x10
push 0x18048
mov eax, dword [0x1b108]
call fcn.000133ac
push eax
mov eax, edi
call fcn.000185ac
push eax
call sub.user32.dll_MessageBoxA_1
jmp 0x18004
lea eax, [ebp - 0x18]
mov ecx, dword [edi + 0x2c]
mov edx, 0x18058
call fcn.00013234
mov edx, dword [ebp - 0x18]
mov eax, edi
call fcn.00019628
mov eax, dword [edi + 0x1c]
call fcn.00015b50
mov eax, edi
call fcn.00019b28
test al, al
je 0x18004
mov eax, edi
call fcn.00019eec
test al, al
je 0x18004
mov byte [ebp - 9], 1
mov dword [ebp - 8], 1
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.00014c18
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
mov edx, 0x1806c
call fcn.00013234
mov edx, dword [ebp - 0x1c]
mov eax, edi
call fcn.00019628
mov eax, edi
call fcn.00018fa8
mov byte [ebp - 9], 1
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
dec eax
test eax, eax
jl 0x17ed2
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x28]
call fcn.000131a0
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
mov edx, 0x18088
call fcn.00013234
mov edx, dword [ebp - 0x24]
mov eax, edi
call fcn.00019628
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x2c]
call fcn.000131a0
mov eax, dword [ebp - 0x2c]
call fcn.00014fc8
test al, al
jne 0x17c09
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x34]
call fcn.000131a0
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
mov edx, 0x1809c
call fcn.00013234
mov edx, dword [ebp - 0x30]
mov eax, edi
call fcn.00019628
push 0x10
push 0x18048
lea eax, [ebp - 0x38]
push eax
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 6
lea edx, [ebp - 0x40]
xor ecx, ecx
mov eax, dword [0x1b10c]
call fcn.00014f5c
mov eax, dword [ebp - 0x38]
call fcn.000133ac
push eax
mov eax, edi
call fcn.000185ac
push eax
call sub.user32.dll_MessageBoxA_1
mov eax, edi
call fcn.00018fa8
jmp 0x18004
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x44]
call fcn.000131a0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x10]
mov edx, dword [edi + 0x2c]
call fcn.00013234
cmp dword [edi + 0x10], 0
je 0x17c54
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x48]
call fcn.000131a0
mov eax, dword [ebp - 0x48]
mov edx, dword [edi + 0x10]
call fcn.00014cf4
test al, al
jne 0x17c99
cmp dword [edi + 0x10], 0
jne 0x17c95
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x50]
call fcn.000131a0
mov eax, dword [ebp - 0x50]
mov ecx, 3
mov edx, 1
call fcn.000133f0
mov eax, dword [ebp - 0x4c]
mov edx, 0x180b8
call fcn.00014cf4
test al, al
jne 0x17c99
xor ebx, ebx
jmp 0x17c9b
mov bl, 1
lea eax, [ebp - 0x54]
mov ecx, dword [ebp - 0x10]
mov edx, 0x180c4
call fcn.00013234
mov edx, dword [ebp - 0x54]
mov eax, edi
call fcn.00019628
push 0x80
mov eax, dword [ebp - 0x10]
call fcn.000133ac
push eax
call sub.kernel32.dll_SetFileAttributesA
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
call fcn.00014fc8
test al, al
je 0x17dad
test bl, bl
je 0x17ced
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.00019514
lea ecx, [ebp - 0x58]
mov edx, 0x180e0
mov eax, dword [ebp - 0x10]
call fcn.000150b8
mov eax, dword [ebp - 0x58]
call fcn.00014fc8
test al, al
je 0x17d4a
push 0x80
lea ecx, [ebp - 0x5c]
mov edx, 0x180e0
mov eax, dword [ebp - 0x10]
call fcn.000150b8
mov eax, dword [ebp - 0x5c]
call fcn.000133ac
push eax
call sub.kernel32.dll_SetFileAttributesA
lea ecx, [ebp - 0x60]
mov edx, 0x180e0
mov eax, dword [ebp - 0x10]
call fcn.000150b8
mov eax, dword [ebp - 0x60]
call fcn.000133ac
push eax
call sub.kernel32.dll_DeleteFileA
lea ecx, [ebp - 0x64]
mov edx, 0x180e0
mov eax, dword [ebp - 0x10]
call fcn.000150b8
mov eax, dword [ebp - 0x64]
call fcn.000133ac
push eax
mov eax, dword [ebp - 0x10]
call fcn.000133ac
push eax
call sub.kernel32.dll_MoveFileA
xor ecx, ecx
mov cl, bl
mov eax, dword [edi + 0x1c]
mov edx, dword [ebp - 0x10]
call fcn.00015b64
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x6c]
mov edx, 0x180e0
mov eax, dword [ebp - 0x10]
call fcn.000150b8
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov edx, 0x180f0
call fcn.00013234
mov edx, dword [ebp - 0x68]
mov eax, edi
call fcn.00019628
push 0x18108
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x74]
call fcn.000131a0
push dword [ebp - 0x74]
push 0x18120
push dword [ebp - 0x10]
lea eax, [ebp - 0x70]
mov edx, 4
call fcn.000132a8
mov edx, dword [ebp - 0x70]
mov eax, edi
call fcn.00019628
push 0
mov eax, dword [ebp - 0x10]
call fcn.000133ac
push eax
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x17e49
mov edx, 0x18130
mov eax, edi
call fcn.00019628
test bl, bl
je 0x17e21
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.00019404
cmp dword [ebp - 4], 0xffffffff
jne 0x17e38
xor ecx, ecx
mov cl, bl
mov eax, dword [edi + 0x1c]
mov edx, dword [ebp - 0x10]
call fcn.00015b64
jmp 0x17e74
xor ecx, ecx
mov cl, bl
mov eax, dword [edi + 0x1c]
mov edx, dword [ebp - 4]
call fcn.00015ae0
jmp 0x17e74
mov byte [ebp - 9], 0
call sub.kernel32.dll_GetLastError_1
lea edx, [ebp - 0x7c]
call fcn.00014a24
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
mov edx, 0x18144
call fcn.00013234
mov edx, dword [ebp - 0x78]
mov eax, edi
call fcn.00019628
cmp byte [ebp - 9], 0
jne 0x17ec8
cmp dword [ebp - 8], 1
jne 0x17ed2
push 0x31
push 0x18154
mov eax, dword [0x1b134]
call fcn.000133ac
push eax
mov eax, edi
call fcn.000185ac
push eax
call sub.user32.dll_MessageBoxA_1
dec eax
je 0x17ea9
mov dword [ebp - 8], 2
lea eax, [ebp - 0x80]
mov ecx, dword [0x1b134]
mov edx, 0x18168
call fcn.00013234
mov edx, dword [ebp - 0x80]
mov eax, edi
call fcn.00019628
jmp 0x17ed2
inc esi
dec dword [ebp - 0x14]
jne 0x17b40
cmp byte [ebp - 9], 0
jne 0x17ee5
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x17afb
cmp byte [ebp - 9], 0
jne 0x17f03
mov edx, 0x1817c
mov eax, edi
call fcn.00019628
mov eax, edi
call fcn.00018fa8
jmp 0x17fb1
cmp byte [edi + 0x30], 0
je 0x17fb1
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
dec eax
test eax, eax
jl 0x17fb1
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x88]
call fcn.000131a0
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x84]
mov edx, 0x181a4
call fcn.00013234
mov edx, dword [ebp - 0x84]
mov eax, edi
call fcn.00019628
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
mov edx, eax
lea eax, [ebp - 0x8c]
call fcn.000131a0
mov eax, dword [ebp - 0x8c]
call fcn.00014fc8
test al, al
je 0x17fa7
push 0x80
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [edi + 4]
mov edx, esi
call fcn.000159d0
push eax
call sub.kernel32.dll_DeleteFileA
inc esi
dec dword [ebp - 0x14]
jne 0x17f22
cmp byte [ebp - 9], 0
jne 0x17fd8
push 0x10
push 0x18048
mov eax, dword [0x1b110]
call fcn.000133ac
push eax
mov eax, edi
call fcn.000185ac
push eax
call sub.user32.dll_MessageBoxA_1
jmp 0x18004
mov eax, edi
call fcn.0001a4ac
cmp byte [edi + 0x28], 0
je 0x18004
push 0x40
push 0x181b4
mov eax, dword [0x1b12c]
call fcn.000133ac
push eax
mov eax, edi
call fcn.000185ac
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1803e
lea eax, [ebp - 0x8c]
mov edx, 0x13
call fcn.0001309c
lea eax, [ebp - 0x38]
mov edx, 9
call fcn.0001309c
lea eax, [ebp - 0x10]
call fcn.00013078
ret