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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x41f284]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x120]
sub edx, 1
mov dword [ebp - 0x120], edx
cmp dword [ebp - 0x120], 0x15
ja case.0x40df8e.4
mov eax, dword [ebp - 0x120]
movzx ecx, byte [eax + 0x40e2bc]
jmp dword [ecx*4 + 0x40e294]
mov edx, dword [ebp + 8]
add edx, 0x104
push edx
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x104
push ecx
mov edx, dword [ebp + 8]
add edx, 4
push edx
call fcn.0040da30
add esp, 0xc
mov dword [ebp - 4], eax
jmp 0x40e280
mov eax, dword [ebp + 8]
add eax, 0x104
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x104
push edx
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.0040da90
add esp, 0xc
mov dword [ebp - 4], eax
jmp 0x40e280
mov ecx, dword [ebp + 8]
add ecx, 0x104
push ecx
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
add eax, 0x104
push eax
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
call fcn.0040d610
add esp, 0xc
mov dword [ebp - 4], eax
jmp 0x40e280
mov edx, dword [ebp + 8]
add edx, 0x104
push edx
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x104
push ecx
mov edx, dword [ebp + 8]
add edx, 4
push edx
call fcn.0040d7b0
add esp, 0xc
mov dword [ebp - 4], eax
jmp 0x40e280
mov eax, dword [ebp + 8]
add eax, 0x104
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
mov ecx, dword [ebp + 8]
add ecx, 0x104
push ecx
mov edx, dword [ebp + 8]
add edx, 4
push edx
call dword [sym.imp.KERNEL32.DLL_MoveFileA]
test eax, eax
jne 0x40e0b9
mov eax, dword [ebp + 8]
add eax, 0x104
push eax
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
push 0x41d564
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040e99d
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
jmp 0x40e280
mov eax, dword [ebp + 8]
add eax, 0x104
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
push 1
mov ecx, dword [ebp + 8]
add ecx, 0x104
push ecx
mov edx, dword [ebp + 8]
add edx, 4
push edx
call dword [sym.imp.KERNEL32.DLL_CopyFileA]
test eax, eax
jne 0x40e112
mov eax, dword [ebp + 8]
add eax, 0x104
push eax
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
push 0x41d57c
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040e99d
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
jmp 0x40e280
mov eax, dword [ebp + 8]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
test eax, eax
jne 0x40e147
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
push 0x41d594
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040e99d
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
jmp 0x40e280
call fcn.00401740
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 4
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00401bd0
add esp, 8
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 8]
add eax, 0x104
push eax
call fcn.0040daf0
add esp, 8
mov ecx, dword [ebp - 8]
push ecx
call fcn.004014a0
add esp, 4
jmp 0x40e280
mov edx, dword [ebp + 8]
add edx, 4
push edx
call fcn.00401e70
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x11c], 0
jmp 0x40e1bd
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0x10014
jge 0x40e264
lea ecx, [ebp - 0x118]
push ecx
mov edx, dword [ebp + 8]
add edx, 4
push edx
call fcn.0040db40
add esp, 8
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
jne 0x40e1f4
jmp 0x40e264
mov eax, dword [ebp - 0x11c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x104
push ecx
push str._s_d
lea edx, [ebp - 0x110]
push edx
call fcn.0040e99d
add esp, 0x10
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x114]
mov eax, dword [edx + 8]
push eax
lea ecx, [ebp - 0x110]
push ecx
call fcn.004020f0
add esp, 0xc
mov edx, dword [ebp - 0x114]
push edx
call fcn.004014a0
add esp, 4
lea eax, [ebp - 0x110]
push eax
push 0x41d5b0
call fcn.00402340
add esp, 8
jmp 0x40e1ae
jmp 0x40e280
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
push 0x41d5c0
call fcn.00402340
add esp, 8
mov dword [ebp - 4], 0xfffffcf7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0040e98e
mov esp, ebp
pop ebp
ret