Function at 0x427cf0
Capabilities:
Copy file
Delete file
Move file

Disassembly:
sub esp, 0x22c
push esi
mov esi, dword [esp + 0x234]
test esi, esi
je 0x4280b9
cmp byte [esi], 0
je 0x4280b9
push ebx
push ebp
push edi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x35]
mov byte [esp + 0x34], 0
mov byte [esp + 0x138], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x139]
push 0x4438b0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [esp + 0x24], 0x4438b0
mov dword [esp + 0x28], 0x4438a4
mov dword [esp + 0x2c], 0x443898
mov dword [esp + 0x30], 0x44388c
mov dword [esp + 0x34], 0x443880
call fcn.0042c200
push 0x4438a4
call fcn.0042c200
push 0x443898
call fcn.0042c200
push 0x44388c
call fcn.0042c200
push 0x443880
call fcn.0042c200
mov eax, dword [esp + 0x258]
add esp, 0x14
add eax, 0xfffffffe
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x10], eax
or ebp, 0xffffffff
jmp 0x427dcf
mov eax, dword [esp + 0x10]
or ebp, 0xffffffff
jmp 0x427dcf
mov eax, dword [esp + 0x10]
cmp ebp, 0xffffffff
jne 0x427df5
mov ecx, dword [eax]
push ecx
push esi
push 0x443870
call fcn.0042c270
add esp, 4
lea edx, [esp + 0x3c]
push eax
push edx
call fcn.00407adb
add esp, 0x10
jmp 0x427e15
mov eax, dword [eax]
push ebp
push eax
push esi
push 0x443860
call fcn.0042c270
add esp, 4
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.00407adb
add esp, 0x14
push 0
push 0
push 3
push 0
push 0
lea edx, [esp + 0x48]
push 0xc0000000
push edx
call dword [sym.imp.kernel32.dll_CreateFileA]
mov ebx, eax
call dword [sym.imp.kernel32.dll_GetLastError]
push ebx
mov edi, eax
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp edi, 0x20
je 0x428081
cmp edi, 2
je 0x427e58
inc ebp
cmp ebp, 0x63
jle 0x427dcb
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc eax
add edx, 4
cmp eax, 5
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x427dc2
lea eax, [esp + 0x20]
mov dword [esp + 0x18], 5
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xffffffff
mov dword [esp + 0x10], ecx
jl 0x42806b
lea ebx, [ecx + 1]
or ebp, 0xffffffff
jmp 0x427eb6
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
or ebp, 0xffffffff
lea ebx, [ecx + 1]
jmp 0x427eb6
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp ecx, 0xffffffff
jne 0x427f08
mov edi, dword [eax]
cmp ebp, ecx
jne 0x427f50
push edi
push esi
push 0x443870
call fcn.0042c270
add esp, 4
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00407adb
add esp, 0x10
push edi
push ebx
push esi
push 0x443850
call fcn.0042c270
add esp, 4
lea ecx, [esp + 0x144]
push eax
push ecx
call fcn.00407adb
add esp, 0x14
jmp 0x427fcb
mov edi, dword [eax]
cmp ebp, 0xffffffff
jne 0x427f8a
push edi
push ecx
push esi
push 0x443840
call fcn.0042c270
add esp, 4
lea edx, [esp + 0x40]
push eax
push edx
call fcn.00407adb
add esp, 0x14
push edi
push ebx
push esi
push 0x443830
call fcn.0042c270
add esp, 4
push eax
lea eax, [esp + 0x148]
push eax
call fcn.00407adb
add esp, 0x14
jmp 0x427fcb
push ebp
push edi
push esi
push 0x443860
call fcn.0042c270
add esp, 4
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.00407adb
add esp, 0x14
push ebp
push edi
push ebx
push esi
push 0x44381c
call fcn.0042c270
add esp, 4
lea edx, [esp + 0x148]
push eax
push edx
jmp 0x427fc3
push ebp
push edi
push ecx
push esi
push 0x443808
call fcn.0042c200
add esp, 4
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00407adb
add esp, 0x18
push ebp
push edi
push ebx
push esi
push 0x4437f4
call fcn.0042c200
add esp, 4
lea ecx, [esp + 0x148]
push eax
push ecx
call fcn.00407adb
add esp, 0x18
push 0
push 0
push 3
push 0
push 0
lea edx, [esp + 0x48]
push 0xc0000000
push edx
call dword [sym.imp.kernel32.dll_CreateFileA]
mov edi, eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp edi, 0xffffffff
je 0x428055
push edi
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jne 0x42800c
lea ecx, [esp + 0x34]
push ecx
jmp 0x428045
lea edx, [esp + 0x138]
push 1
lea eax, [esp + 0x38]
push edx
push eax
call dword [sym.imp.kernel32.dll_MoveFileExA]
test eax, eax
jne 0x42804b
call dword [sym.imp.kernel32.dll_GetLastError]
lea ecx, [esp + 0x138]
push 0
lea edx, [esp + 0x38]
push ecx
push edx
call dword [sym.imp.kernel32.dll_CopyFileA]
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
inc ebp
cmp ebp, 0x63
jle 0x427eae
mov eax, dword [esp + 0x10]
dec eax
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
jge 0x427e9e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, 4
dec ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jne 0x427e85
push 0x4438b0
call fcn.0042c160
push 0x4438a4
call fcn.0042c160
push 0x443898
call fcn.0042c160
push 0x44388c
call fcn.0042c160
push 0x443880
call fcn.0042c160
add esp, 0x14
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x22c
ret