Function at 0x401ed0
Capabilities:
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x404ad8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x34]
call fcn.00404358
mov eax, dword [esp + 0x3c]
xor edi, edi
push str.pepa.asf
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [esp + 0x3c]
push str.pepb.asf
push ecx
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [esp + 0x3c]
push str.pepc.asf
push edx
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [esp + 0x3c]
push str.pepd.asf
push eax
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [esp + 0x3c]
push str.pepe.asf
push ecx
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CStringArray::SetAtGrow
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x50], 1
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x50], 2
cmp eax, edi
jle 0x4020de
mov ebx, 4
lea edx, [esp + 0x20]
push edi
push edx
lea ecx, [esp + 0x3c]
call fcn.004036c0
mov esi, eax
lea eax, [ebp + 0xcc]
push 0x407104
push eax
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x5c], 3
call sub.MFC42.DLL_operator_2
push esi
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x5c], bl
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 5
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x50], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 2
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x2c]
push edi
push edx
lea ecx, [esp + 0x3c]
call fcn.004036c0
mov esi, eax
lea eax, [ebp + 0xd0]
push str.Sysdata_
push eax
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0x5c], 6
call sub.MFC42.DLL_operator_2
push esi
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x5c], 7
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x54], 8
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x50], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x50], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x50], 2
call sub.MFC42.DLL_CString::CString
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov ecx, ebp
call fcn.00402690
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
lea eax, [esp + 0x18]
push eax
call sub.MFC42.DLL_CString::CString_1
mov ecx, ebp
call fcn.00402690
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x4020d1
push 0x15
push 0x40712c
push 0x407108
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, ebx
jne 0x402123
dec edi
mov eax, dword [esp + 0x3c]
inc edi
cmp edi, eax
jl 0x401f89
lea ecx, [esp + 0x10]
mov byte [esp + 0x50], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
call sub.MFC42.DLL_CStringArray::CStringArray
mov eax, 1
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
lea ecx, [esp + 0x10]
mov byte [esp + 0x50], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
call sub.MFC42.DLL_CStringArray::CStringArray
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
xor eax, eax
mov dword fs:[0], ecx
pop ebx
add esp, 0x44
ret