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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4cc
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
push ebx
call fcn.00404c7d
pop ecx
push eax
push 0x9c42
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 1
lea eax, [ebp - 0x138]
push ebx
push eax
call fcn.004025af
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test eax, eax
je 0x402210
push 0x392
lea eax, [ebp - 0x4cc]
push 0
push eax
call fcn.00402cd0
lea eax, [ebp - 0x4cc]
push eax
lea eax, [ebp - 0x138]
push 0xe4
push eax
call fcn.004041b9
add esp, 0x18
test eax, eax
je 0x401f23
push 0x410fa0
call edi
push str._DBG_
push 7
call fcn.00402b05
lea eax, [ebp - 0x4cc]
push eax
push ebx
push str.DEC_DATA___s___s_r_n
push 8
call fcn.00402b05
add esp, 0x18
push 0x410fa0
call esi
push 0x20
lea eax, [ebp - 0x88]
push eax
push 0
call fcn.00405897
add esp, 0xc
cmp dword [ebp - 0x60], eax
jne 0x402210
and dword [ebp - 8], 0
and dword [ebp - 0xc], 0
push 0x100034
call fcn.00402c1a
mov dword [ebp - 4], eax
pop ecx
test eax, eax
je 0x402204
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
cmp dword [0x410f8c], 0
je 0x401fb3
lea eax, [ebp - 0x10]
push eax
push 0x58
lea eax, [ebp - 0x138]
push eax
push 0x410f40
call fcn.00405a9c
add esp, 0x10
test eax, eax
je 0x4020e0
cmp dword [ebp - 0x10], 0x20
jne 0x4020e0
push 8
pop ecx
mov esi, eax
mov edi, 0x410f60
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.00402c67
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
pop ecx
add eax, 4
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x88]
push eax
push 0x410f60
call fcn.004059dd
mov ecx, dword [ebp - 4]
xor esi, esi
mov eax, dword [ebp - 0x68]
add ecx, 0x24
add esp, 0xc
mov dword [ebp - 0x14], ecx
mov dword [ecx], eax
mov eax, dword [ebp - 0x64]
mov dword [ecx + 4], eax
cmp dword [0x410db4], esi
je 0x402054
push ebx
call fcn.004047d7
lea eax, [eax*2 + 0x40]
push eax
call fcn.00402c1a
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x402054
push ebx
push esi
call fcn.0040472e
push str..BACKUP
push esi
call fcn.00404627
add esp, 0x10
push 0x410fa0
call edi
push str._DBG_
push 7
call fcn.00402b05
push esi
push str.__create:_s_r_n
push 8
call fcn.00402b05
add esp, 0x14
push 0x410fa0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x40
push 0x100
push dword [ebp - 0x10]
lea eax, [ebp - 0x54]
push eax
call fcn.00406779
push dword [ebp - 0x14]
lea eax, [ebp - 0x54]
push eax
call fcn.0040675b
push 4
lea eax, [ebp - 0x58]
push eax
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.004066ac
add esp, 0x28
cmp dword [ebp - 0x58], 0
je 0x402130
push 0x410fa0
call edi
push str._ERR_
push 0xc
call fcn.00402b05
push str.invalid__pc_sk__key__r_n
push 4
call fcn.00402b05
push 0x1ef
push str.file_decrypt_callback
push str.X:_re_rwdec_srcdec.c
push str._______S:_S:_lu_r_n
push 4
call fcn.00402b05
add esp, 0x24
push 0x410fa0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
jmp 0x40214f
mov ebx, 0x410fa0
push ebx
call edi
push str._ERR_
push 0xc
call fcn.00402b05
push str.invalid__master_sk__key__r_n
push 4
call fcn.00402b05
push 0x1c9
push str.file_decrypt_callback
push str.X:_re_rwdec_srcdec.c
push str._______S:_S:_lu_r_n
push 4
call fcn.00402b05
add esp, 0x24
push ebx
call esi
mov eax, dword [ebp - 4]
push eax
call fcn.00402c67
pop ecx
jmp 0x402255
push dword [ebp - 0x5c]
lea eax, [ebp - 0x54]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
push eax
push dword [ebp - 4]
call fcn.00401c5d
add esp, 0x18
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], edx
test esi, esi
je 0x4021d1
mov ecx, eax
or ecx, edx
je 0x40218d
mov ebx, 0x410fa0
push ebx
call edi
push str._DBG_
push 7
call fcn.00402b05
push esi
push str.__delete:_s_r_n
push 8
call fcn.00402b05
add esp, 0x14
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x4021ca
push 0x410fa0
call edi
push str._DBG_
push 7
call fcn.00402b05
push ebx
push str._restore:__s_r_n
push 8
call fcn.00402b05
add esp, 0x14
push 0x410fa0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push esi
call fcn.00402c67
pop ecx
push dword [ebp - 4]
call fcn.00402c67
mov esi, dword [ebp - 8]
mov eax, esi
mov edi, dword [ebp - 0xc]
or eax, edi
pop ecx
je 0x40220a
mov eax, dword [0x410da8]
push 0
inc eax
push eax
push 0x9c41
push dword [ebp + 8]
mov dword [0x410da8], eax
call dword [sym.imp.USER32.dll_SetDlgItemInt]
jmp 0x40220a
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov eax, esi
mov edx, edi
jmp 0x402259
push 0x410fa0
call edi
push str._ERR_
push 0xc
call fcn.00402b05
push ebx
push str.read__struct__DEC_DATA_:__s_r_n
push 4
call fcn.00402b05
push 0x20f
push str.file_decrypt_callback
push str.X:_re_rwdec_srcdec.c
push str._______S:_S:_lu_r_n
push 4
call fcn.00402b05
add esp, 0x28
push 0x410fa0
call esi
xor eax, eax
xor edx, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret