Function at 0x1066fba
Capabilities:
Copy file
Delete file
Get common file path
Move file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x62c
mov eax, dword [0x107fa78]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
cmp esi, ebx
mov dword [ebp - 0x624], esi
mov dword [ebp - 0x628], edi
jne 0x1066ff4
mov eax, 0x80004003
jmp 0x106734e
cmp edi, ebx
jne 0x1066fff
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push esi
call fcn.01056f43
test eax, eax
jne 0x1067019
mov eax, edi
neg eax
sbb eax, eax
and eax, 0x80070002
jmp 0x106734e
cmp edi, ebx
je 0x106715c
mov esi, 0x105
push esi
lea eax, [ebp - 0x620]
push eax
call fcn.0105bcc5
test eax, eax
je 0x1067087
push edi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov edi, eax
cmp edi, ebx
je 0x1067087
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
push edi
push esi
lea eax, [ebp - 0x620]
push eax
call fcn.01034cee
test eax, eax
jl 0x1067087
lea eax, [ebp - 0x620]
push eax
call fcn.01056f43
test eax, eax
je 0x1067087
push ebx
lea eax, [ebp - 0x620]
push eax
push dword [ebp - 0x624]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [ebp + 0x10], ebx
je 0x1067156
push 0x208
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov edi, eax
cmp edi, ebx
pop ecx
jne 0x10670ab
mov eax, 0x8007000e
jmp 0x106734e
mov esi, 0x104
push esi
push edi
push dword [ebp - 0x628]
call fcn.01059158
push edi
call fcn.01056bba
push dword [0x1082218]
lea eax, [ebp - 0x20c]
push edi
push 0x100a4f4
push esi
push eax
call fcn.01034d76
add esp, 0x14
inc dword [0x1082218]
lea eax, [ebp - 0x20c]
push eax
call fcn.01056f43
test eax, eax
jne 0x10670c3
push edi
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
push 1
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x624]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x106716f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x1067124
push 0x57
pop eax
cmp eax, ebx
jle 0x1067130
and eax, 0xffff
or eax, 0x80070000
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x624]
push 0x100b0d8
push ebx
call fcn.0105e5ad
add esp, 0x14
mov eax, 0x80004005
jmp 0x106734e
mov esi, dword [ebp - 0x624]
push esi
mov esi, 0x104
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.01034c79
push ebx
push ebx
push ebx
push 4
call fcn.0105989e
test eax, eax
je 0x1067349
push 0x208
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
cmp eax, ebx
pop ecx
mov dword [ebp - 0x624], eax
je 0x10672de
push eax
push esi
mov edi, 0x80004005
mov dword [ebp - 0x62c], ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x10672c6
push dword [ebp - 0x624]
call fcn.01059783
push dword [ebp - 0x624]
call fcn.01056bba
mov dword [0x1082218], ebx
push dword [0x1082218]
lea eax, [ebp - 0x414]
push dword [ebp - 0x624]
push 0x100a4f4
push esi
push eax
call fcn.01034d76
add esp, 0x14
inc dword [0x1082218]
lea eax, [ebp - 0x414]
push eax
call fcn.01056f43
test eax, eax
jne 0x10671d1
cmp dword [ebp - 0x628], ebx
lea eax, [ebp - 0x414]
push eax
je 0x1067268
push dword [ebp - 0x628]
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
call esi
test eax, eax
je 0x10672c6
push dword [ebp - 0x628]
call fcn.01056f43
test eax, eax
je 0x1067251
push dword [ebp - 0x628]
push 0x100b090
push 1
call fcn.0105e5ad
add esp, 0xc
push dword [ebp - 0x628]
lea eax, [ebp - 0x20c]
push eax
call esi
mov dword [ebp - 0x62c], eax
jmp 0x1067299
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x10672c6
lea eax, [ebp - 0x20c]
push eax
push 0x100b04c
push 4
call fcn.0105e5ad
add esp, 0xc
mov dword [ebp - 0x62c], 1
push ebx
push ebx
lea eax, [ebp - 0x414]
push eax
call fcn.0105a865
mov edi, eax
cmp edi, 0xd2af9
jne 0x10672c6
push ebx
lea eax, [ebp - 0x414]
push eax
push 2
mov ecx, 0x10820c8
dec edi
call fcn.01059acf
push dword [ebp - 0x624]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
cmp dword [ebp - 0x62c], ebx
pop ecx
je 0x10672de
mov eax, edi
jmp 0x106734e
mov esi, dword [ebp - 0x628]
push 1
push esi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x1067349
cmp esi, ebx
je 0x1067318
push 0x5c
push esi
call fcn.01056bd5
test eax, eax
je 0x1067318
push esi
push 0x100b028
push 2
call fcn.0105e5ad
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0x100aff8
push 2
call fcn.0105e5ad
add esp, 0xc
push ebx
lea eax, [ebp - 0x20c]
push eax
push 2
mov ecx, 0x10820c8
call fcn.01059acf
mov eax, 0xd2af8
jmp 0x106734e
mov eax, 0xd2af9
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01047417
leave
ret 0xc