Function at 0x40d6f8
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff1c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, 0x4c7780
call fcn.004c5654
push 0x4e3700
push 0x322
call fcn.0048e144
add esp, 8
lea edx, [ebp - 0xa8]
push edx
call fcn.00491795
pop ecx
inc eax
jne 0x40d745
or eax, 0xffffffff
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx
jmp 0x40dafd
lea ecx, [ebp - 0xa8]
push ecx
lea eax, [ebp - 0x6c]
push eax
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c7868
lea edx, [ebp - 0x6c]
push edx
call sub.cw3220.DLL__strcat
add esp, 8
jmp 0x40d7e1
push 0x4e3700
push 0x303
call fcn.0048e144
add esp, 8
call fcn.00491749
test eax, eax
je 0x40d789
inc eax
jne 0x40d7f7
push 0x4e3700
push 0x322
call fcn.0048e144
add esp, 8
lea ecx, [ebp - 0xa8]
push ecx
call fcn.00491795
pop ecx
inc eax
jne 0x40d7bd
or eax, 0xffffffff
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx
jmp 0x40dafd
lea ecx, [ebp - 0xa8]
push ecx
lea eax, [ebp - 0x6c]
push eax
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c786d
lea edx, [ebp - 0x6c]
push edx
call sub.cw3220.DLL__strcat
add esp, 8
push 0
lea ecx, [ebp - 0x6c]
push ecx
call sub.cw3220.DLL__access
add esp, 8
test eax, eax
je 0x40d76b
push 0x1b
call sub.cw3220.DLL___bnew_qui
pop ecx
mov dword [ebp - 4], eax
test eax, eax
je 0x40d820
mov word [ebp - 0x18], 0x14
push dword [ebp - 4]
call fcn.0040e058
pop ecx
mov word [ebp - 0x18], 8
mov edx, dword [ebp - 4]
jmp 0x40d823
mov edx, dword [ebp - 4]
mov dword [ebp - 0x2c], edx
push dword [0x4e2d20]
push dword [ebp - 0x2c]
call fcn.0041d5b8
add esp, 8
mov eax, dword [0x4e2d20]
mov esi, dword [eax + 0x13]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
test esi, esi
je 0x40d8bc
push 0x1b
call sub.cw3220.DLL___bnew_qui
pop ecx
mov dword [ebp - 8], eax
test eax, eax
je 0x40d872
mov word [ebp - 0x18], 0x2c
push dword [ebp - 8]
call fcn.0040e058
pop ecx
mov word [ebp - 0x18], 0x20
mov ebx, dword [ebp - 8]
jmp 0x40d875
mov ebx, dword [ebp - 8]
push esi
push ebx
call fcn.0041d5b8
add esp, 8
cmp edi, 0x65
je 0x40d889
cmp edi, 0x6b
jne 0x40d88f
mov byte [ebx + 1], 0
jmp 0x40d8a1
cmp edi, 0x66
jne 0x40d899
mov al, byte [ebx + 1]
jmp 0x40d8a1
cmp edi, 0x67
jne 0x40d8a1
mov dl, byte [ebx + 1]
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 0x13], ebx
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x17], eax
xor edx, edx
mov dword [ebx + 0x13], edx
mov dword [ebp - 0x30], ebx
mov esi, dword [esi + 0x13]
test esi, esi
jne 0x40d849
lea ecx, [ebp - 0xa8]
push ecx
lea eax, [ebp - 0x6c]
push eax
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c7872
lea edx, [ebp - 0x6c]
push edx
call sub.cw3220.DLL__strcat
add esp, 8
push 0x4c7877
lea ecx, [ebp - 0x6c]
push ecx
call sub.cw3220.DLL__fopen
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x40d920
push 0x4e3700
push 0x280
call fcn.0048e144
add esp, 8
call fcn.00491684
or eax, 0xffffffff
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx
jmp 0x40dafd
push 0
mov ecx, dword [ebp - 0x2c]
push dword [ecx + 0x13]
push ebx
call fcn.004a771b
add esp, 0xc
inc eax
je 0x40dad7
push dword [ebp - 0x2c]
call fcn.004c274e
pop ecx
push dword [ebp - 0x2c]
call sub.cw3220.DLL___bdele_qpv
pop ecx
push ebx
call sub.cw3220.DLL__fclose
pop ecx
push 0x4e2dbc
lea eax, [ebp - 0xe4]
push eax
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c7879
lea edx, [ebp - 0xe4]
push edx
call sub.cw3220.DLL__strcat
add esp, 8
lea ecx, [ebp - 0xa8]
push ecx
lea eax, [ebp - 0x6c]
push eax
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c787e
lea edx, [ebp - 0x6c]
push edx
call sub.cw3220.DLL__strcat
add esp, 8
push 0
lea ecx, [ebp - 0x6c]
push ecx
lea eax, [ebp - 0xe4]
push eax
call sub.KERNEL32.dll_CopyFileA
push 0x4e2dbc
lea edx, [ebp - 0xe4]
push edx
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c7883
lea ecx, [ebp - 0xe4]
push ecx
call sub.cw3220.DLL__strcat
add esp, 8
lea eax, [ebp - 0xa8]
push eax
lea edx, [ebp - 0x6c]
push edx
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c7888
lea ecx, [ebp - 0x6c]
push ecx
call sub.cw3220.DLL__strcat
add esp, 8
push 0
lea eax, [ebp - 0x6c]
push eax
lea edx, [ebp - 0xe4]
push edx
call sub.KERNEL32.dll_CopyFileA
push 0x4e2dbc
lea ecx, [ebp - 0xe4]
push ecx
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c788d
lea eax, [ebp - 0xe4]
push eax
call sub.cw3220.DLL__strcat
add esp, 8
lea edx, [ebp - 0xa8]
push edx
lea ecx, [ebp - 0x6c]
push ecx
call sub.cw3220.DLL__strcpy
add esp, 8
push 0x4c7892
lea eax, [ebp - 0x6c]
push eax
call sub.cw3220.DLL__strcat
add esp, 8
push 0
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0xe4]
push ecx
call sub.KERNEL32.dll_CopyFileA
push 0x4e2dbc
lea eax, [ebp - 0xe4]
push dword [ebp - 0x2c]
call fcn.004c274e
pop ecx
push dword [ebp - 0x2c]
call sub.cw3220.DLL___bdele_qpv
pop ecx
push ebx
call sub.cw3220.DLL__fclose
pop ecx
or eax, 0xffffffff
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx