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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x582654]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x4d1fb2
cmp byte [edi], 0
je 0x4d1fb2
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.00527170
push 0x104
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00527170
push 0x57d9e8
mov dword [ebp - 0x224], 0x57d9e8
mov dword [ebp - 0x220], 0x57d9f4
mov dword [ebp - 0x21c], 0x57da00
mov dword [ebp - 0x218], 0x57da0c
mov dword [ebp - 0x214], 0x57da18
mov dword [ebp - 0x210], 0x57da24
call fcn.004da340
push 0x57d9f4
call fcn.004da340
push 0x57da00
call fcn.004da340
push 0x57da0c
call fcn.004da340
push 0x57da18
call fcn.004da340
push 0x57da24
call fcn.004da340
mov eax, dword [ebp + 0xc]
add esp, 0x30
add eax, 0xfffffffe
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x228], eax
push ebx
push esi
nop dword [eax]
or ebx, 0xffffffff
cmp ebx, 0xffffffff
jne 0x4d1cca
push dword [eax]
push edi
push 0x57da30
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041f000
add esp, 0x10
jmp 0x4d1ceb
push ebx
push dword [eax]
push edi
push 0x57da40
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041f000
add esp, 0x14
push 0
push 0
push 3
push 0
push 0
push 0xc0000000
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov dword [ebp - 0x230], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x230]
cmp eax, 0x20
je 0x4d1f71
cmp eax, 2
je 0x4d1d40
mov eax, dword [ebp - 0x228]
inc ebx
cmp ebx, 0x63
jle 0x4d1ca3
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x228]
inc ecx
add eax, 4
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x228], eax
cmp ecx, 6
jl 0x4d1ca0
mov ecx, dword [ebp - 0x234]
xor edx, edx
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x228], ecx
mov eax, ecx
cmp ecx, 0xffffffff
jl 0x4d1f61
mov ebx, dword [ebp + edx*4 - 0x224]
mov dword [ebp - 0x238], ebx
lea ecx, [eax + 1]
or esi, 0xffffffff
mov dword [ebp - 0x22c], ecx
nop dword [eax]
cmp eax, 0xffffffff
jne 0x4d1e0f
cmp esi, eax
jne 0x4d1dd7
push ebx
push edi
push 0x57da30
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041f000
add esp, 0x10
push ebx
push dword [ebp - 0x22c]
push edi
push 0x57da50
jmp 0x4d1e41
push esi
push ebx
push edi
push 0x57da40
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041f000
add esp, 0x14
push esi
push ebx
push dword [ebp - 0x22c]
push edi
push 0x57da80
call fcn.004d9ef0
jmp 0x4d1e8f
cmp esi, 0xffffffff
jne 0x4d1e5b
push ebx
push eax
push edi
push 0x57da60
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041f000
add esp, 0x14
push ebx
push dword [ebp - 0x22c]
push edi
push 0x57da70
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0041f000
add esp, 0x14
jmp 0x4d1ea2
push esi
push ebx
push eax
push edi
push 0x57da94
call fcn.004da340
add esp, 4
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041f000
add esp, 0x18
push esi
push ebx
push dword [ebp - 0x22c]
push edi
push 0x57daa8
call fcn.004da340
add esp, 4
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0041f000
add esp, 0x18
push 0
push 0
push 3
push 0
push 0
push 0xc0000000
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp ebx, 0xffffffff
je 0x4d1f39
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x234]
cmp dword [ebp - 0x228], eax
je 0x4d1f16
push 1
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x4d1f23
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x228]
inc esi
mov ebx, dword [ebp - 0x238]
cmp esi, 0x63
jle 0x4d1da0
mov eax, dword [ebp - 0x228]
mov ebx, dword [ebp - 0x238]
dec eax
mov dword [ebp - 0x228], eax
cmp eax, 0xffffffff
jge 0x4d1d91
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x230]
inc edx
mov dword [ebp - 0x230], edx
cmp edx, 6
jl 0x4d1d73
push 0x57d9e8
call fcn.004da440
push 0x57d9f4
call fcn.004da440
push 0x57da00
call fcn.004da440
push 0x57da0c
call fcn.004da440
push 0x57da18
call fcn.004da440
push 0x57da24
call fcn.004da440
add esp, 0x18
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.0052388c
mov esp, ebp
pop ebp
ret