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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x45c
push 0x40a400
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 0x10], 1
jne 0x4038bd
push 0x409424
lea ecx, [ebp - 0x254]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp - 0x14c]
push ecx
lea edx, [ebp - 0x254]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x403913
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00401855
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x403913
or eax, 0xffffffff
jmp 0x403afa
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40397e
push 0x40a2e0
lea edx, [ebp - 0x358]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x358]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x358]
push eax
call fcn.00403afe
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x403970
xor eax, eax
jmp 0x403afa
cmp dword [ebp - 8], 1
je 0x40397e
or eax, 0xffffffff
jmp 0x403afa
push 0x40a400
lea ecx, [ebp - 0x254]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 0x10], 1
jne 0x4039a8
push 0x409430
lea edx, [ebp - 0x254]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x254]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x40a2e0
lea edx, [ebp - 0x358]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x358]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x358]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x403a02
xor eax, eax
jmp 0x403afa
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x403aeb
push 0x40a400
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 0x10], 1
jne 0x403a42
push 0x40943c
lea ecx, [ebp - 0x254]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x40a400
lea ecx, [ebp - 0x45c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 0x10], 1
jne 0x403a7d
push 0x409448
lea edx, [ebp - 0x45c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x45c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 4
push 0
lea edx, [ebp - 0x254]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x403ab4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x150], eax
push 4
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x45c]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x403adf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x150], eax
mov dword [0x40a3e4], 1
jmp 0x403af5
mov dword [0x40a3e4], 1
mov eax, 1
mov esp, ebp
pop ebp
ret